[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