PowerPC64 *_LO_DS not a multiple of 4

Alan Modra amodra@gmail.com
Thu Mar 10 09:27:00 GMT 2011


	* elf64-ppc.c (ppc64_elf_relocate_section): Provide section/offset
	for LO_DS error message and correct multiple.

Index: bfd/elf64-ppc.c
===================================================================
RCS file: /cvs/src/src/bfd/elf64-ppc.c,v
retrieving revision 1.344
diff -u -p -r1.344 elf64-ppc.c
--- bfd/elf64-ppc.c	10 Mar 2011 09:11:15 -0000	1.344
+++ bfd/elf64-ppc.c	10 Mar 2011 09:18:43 -0000
@@ -11655,7 +11655,7 @@ ppc64_elf_relocate_section (bfd *output_
       bfd_boolean unresolved_reloc;
       bfd_boolean warned;
       unsigned int insn;
-      bfd_vma mask;
+      unsigned int mask;
       struct ppc_stub_hash_entry *stub_entry;
       bfd_vma max_br_offset;
       bfd_vma from;
@@ -13191,8 +13191,8 @@ ppc64_elf_relocate_section (bfd *output_
 	  if (((relocation + addend) & mask) != 0)
 	    {
 	      (*_bfd_error_handler)
-		(_("%B: error: relocation %s not a multiple of %d"),
-		 input_bfd,
+		(_("%B(%A+0x%lx): error: %s not a multiple of %u"),
+		 input_bfd, input_section, (long) rel->r_offset,
 		 ppc64_elf_howto_table[r_type]->name,
 		 mask + 1);
 	      bfd_set_error (bfd_error_bad_value);

-- 
Alan Modra
Australia Development Lab, IBM



More information about the Binutils mailing list