* mach-o.c (bfd_mach_o_canonicalize_one_reloc): Adjust addend for
non-external relocation.
+2010-02-09 Tristan Gingold <gingold@adacore.com>
+
+ * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Adjust addend for
+ non-external relocation.
+
2010-02-09 Alan Modra <amodra@gmail.com>
* elf64-ppc.c (merge_got_entries): Move earlier in file.
BFD_ASSERT (num != 0);
BFD_ASSERT (num <= mdata->nsects);
sym = mdata->sections[num - 1]->bfdsection->symbol_ptr_ptr;
+ /* For a symbol defined in section S, the addend (stored in the
+ binary) contains the address of the section. To comply with
+ bfd conventio, substract the section address.
+ Use the address from the header, so that the user can modify
+ the vma of the section. */
+ res->addend = -mdata->sections[num - 1]->addr;
reloc.r_extern = 0;
}
res->sym_ptr_ptr = sym;