[crash] Fix unused-but-set-variable compiler errors for ppc/ppc64 builds.
David Anderson
crash at fedoraproject.org
Wed Aug 17 20:29:32 UTC 2011
commit a2637117acfaa5520e1b3addb5f0cc871c7e1cef
Author: David Anderson <anderson at redhat.com>
Date: Wed Aug 17 15:53:06 2011 -0400
Fix unused-but-set-variable compiler errors for ppc/ppc64 builds.
ppc64-unused-but-set-variable.patch | 159 +++++++++++++++++++++++++++++++++++
1 files changed, 159 insertions(+), 0 deletions(-)
---
diff --git a/ppc64-unused-but-set-variable.patch b/ppc64-unused-but-set-variable.patch
new file mode 100644
index 0000000..af4f551
--- /dev/null
+++ b/ppc64-unused-but-set-variable.patch
@@ -0,0 +1,159 @@
+--- crash-5.1.7/gdb-7.0.patch.orig
++++ crash-5.1.7/gdb-7.0.patch
+@@ -1685,3 +1685,156 @@
+ add_symbol_to_list (sym, &global_symbols);
+ }
+ child_die = sibling_die (child_die);
++--- gdb-7.0/bfd/elf64-ppc.c.orig
+++++ gdb-7.0/bfd/elf64-ppc.c
++@@ -4764,7 +4764,7 @@ ppc64_elf_check_relocs (bfd *abfd, struc
++ {
++ struct ppc_link_hash_table *htab;
++ Elf_Internal_Shdr *symtab_hdr;
++- struct elf_link_hash_entry **sym_hashes, **sym_hashes_end;
+++ struct elf_link_hash_entry **sym_hashes;
++ const Elf_Internal_Rela *rel;
++ const Elf_Internal_Rela *rel_end;
++ asection *sreloc;
++@@ -4793,10 +4793,6 @@ ppc64_elf_check_relocs (bfd *abfd, struc
++ symtab_hdr = &elf_symtab_hdr (abfd);
++
++ sym_hashes = elf_sym_hashes (abfd);
++- sym_hashes_end = (sym_hashes
++- + symtab_hdr->sh_size / sizeof (Elf64_External_Sym)
++- - symtab_hdr->sh_info);
++-
++ sreloc = NULL;
++ opd_sym_map = NULL;
++ if (strcmp (bfd_get_section_name (abfd, sec), ".opd") == 0)
++@@ -5672,6 +5668,9 @@ ppc64_elf_gc_sweep_hook (bfd *abfd, stru
++ elf_section_data (sec)->local_dynrel = NULL;
++
++ htab = ppc_hash_table (info);
+++ if (htab == NULL)
+++ return FALSE;
+++
++ symtab_hdr = &elf_symtab_hdr (abfd);
++ sym_hashes = elf_sym_hashes (abfd);
++ local_got_ents = elf_local_got_ents (abfd);
++@@ -6790,7 +6789,6 @@ ppc64_elf_edit_opd (bfd *obfd, struct bf
++ Elf_Internal_Rela *relstart, *rel, *relend;
++ Elf_Internal_Shdr *symtab_hdr;
++ Elf_Internal_Sym *local_syms;
++- struct elf_link_hash_entry **sym_hashes;
++ bfd_vma offset;
++ struct _opd_sec_data *opd;
++ bfd_boolean need_edit, add_aux_fields;
++@@ -6812,7 +6810,6 @@ ppc64_elf_edit_opd (bfd *obfd, struct bf
++
++ local_syms = NULL;
++ symtab_hdr = &elf_symtab_hdr (ibfd);
++- sym_hashes = elf_sym_hashes (ibfd);
++
++ /* Read the relocations. */
++ relstart = _bfd_elf_link_read_relocs (ibfd, sec, NULL, NULL,
++@@ -7664,7 +7661,6 @@ ppc64_elf_edit_toc (bfd *obfd ATTRIBUTE_
++ asection *toc, *sec;
++ Elf_Internal_Shdr *symtab_hdr;
++ Elf_Internal_Sym *local_syms;
++- struct elf_link_hash_entry **sym_hashes;
++ Elf_Internal_Rela *relstart, *rel;
++ unsigned long *skip, *drop;
++ unsigned char *used;
++@@ -7679,7 +7675,6 @@ ppc64_elf_edit_toc (bfd *obfd ATTRIBUTE_
++
++ local_syms = NULL;
++ symtab_hdr = &elf_symtab_hdr (ibfd);
++- sym_hashes = elf_sym_hashes (ibfd);
++
++ /* Look at sections dropped from the final link. */
++ skip = NULL;
++--- gdb-7.0/bfd/elf32-ppc.c.orig
+++++ gdb-7.0/bfd/elf32-ppc.c
++@@ -4735,7 +4735,6 @@ ppc_elf_tls_optimize (bfd *obfd ATTRIBUT
++ }
++ else
++ {
++- Elf_Internal_Sym *sym;
++ bfd_signed_vma *lgot_refs;
++ struct plt_entry **local_plt;
++ char *lgot_masks;
++@@ -4754,7 +4753,6 @@ ppc_elf_tls_optimize (bfd *obfd ATTRIBUT
++ return FALSE;
++ }
++ }
++- sym = locsyms + r_symndx;
++ lgot_refs = elf_local_got_refcounts (ibfd);
++ if (lgot_refs == NULL)
++ abort ();
++@@ -5941,7 +5939,7 @@ ppc_elf_relax_section (bfd *abfd,
++ for (irel = internal_relocs; irel < irelend; irel++)
++ {
++ unsigned long r_type = ELF32_R_TYPE (irel->r_info);
++- bfd_vma reladdr, toff, roff;
+++ bfd_vma toff, roff;
++ asection *tsec;
++ struct one_fixup *f;
++ size_t insn_offset = 0;
++@@ -6125,7 +6123,6 @@ ppc_elf_relax_section (bfd *abfd,
++ continue;
++
++ roff = irel->r_offset;
++- reladdr = isec->output_section->vma + isec->output_offset + roff;
++
++ /* If the branch is in range, no need to do anything. */
++ if (tsec != bfd_und_section_ptr
++--- gdb-7.0/bfd/coffcode.h.orig
+++++ gdb-7.0/bfd/coffcode.h
++@@ -3527,7 +3527,9 @@ coff_write_object_contents (bfd * abfd)
++ asection *current;
++ bfd_boolean hasrelocs = FALSE;
++ bfd_boolean haslinno = FALSE;
+++#ifdef COFF_IMAGE_WITH_PE
++ bfd_boolean hasdebug = FALSE;
+++#endif
++ file_ptr scn_base;
++ file_ptr reloc_base;
++ file_ptr lineno_base;
++@@ -3630,9 +3632,9 @@ coff_write_object_contents (bfd * abfd)
++ current = current->next)
++ {
++ struct internal_scnhdr section;
+++#ifdef COFF_IMAGE_WITH_PE
++ bfd_boolean is_reloc_section = FALSE;
++
++-#ifdef COFF_IMAGE_WITH_PE
++ if (strcmp (current->name, DOT_RELOC) == 0)
++ {
++ is_reloc_section = TRUE;
++@@ -3731,9 +3733,11 @@ coff_write_object_contents (bfd * abfd)
++ #endif
++ if (current->lineno_count != 0)
++ haslinno = TRUE;
+++#ifdef COFF_IMAGE_WITH_PE
++ if ((current->flags & SEC_DEBUGGING) != 0
++ && ! is_reloc_section)
++ hasdebug = TRUE;
+++#endif
++
++ #ifdef RS6000COFF_C
++ #ifndef XCOFF64
++--- gdb-7.0/bfd/coff-rs6000.c.orig
+++++ gdb-7.0/bfd/coff-rs6000.c
++@@ -3068,7 +3068,7 @@ xcoff_complain_overflow_bitfield_func (i
++ bfd_vma relocation;
++ struct reloc_howto_struct *howto;
++ {
++- bfd_vma addrmask, fieldmask, signmask, ss;
+++ bfd_vma fieldmask, signmask, ss;
++ bfd_vma a, b, sum;
++
++ /* Get the values to be added together. For signed and unsigned
++@@ -3076,7 +3076,6 @@ xcoff_complain_overflow_bitfield_func (i
++ the size of an address. For bitfields, all the bits matter.
++ See also bfd_check_overflow. */
++ fieldmask = N_ONES (howto->bitsize);
++- addrmask = N_ONES (bfd_arch_bits_per_address (input_bfd)) | fieldmask;
++ a = relocation;
++ b = val & howto->src_mask;
++
More information about the scm-commits
mailing list