2010-02-08 Tristan Gingold <gingold@adacore.com>

* mach-o.c (bfd_mach_o_canonicalize_one_reloc): Set reloc.r_extern
	for non-scattered relocations.
This commit is contained in:
Tristan Gingold
2010-02-08 09:13:47 +00:00
parent deddc40bec
commit 06988dfc57
2 changed files with 10 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2010-02-08 Tristan Gingold <gingold@adacore.com>
* mach-o.c (bfd_mach_o_canonicalize_one_reloc): Set reloc.r_extern
for non-scattered relocations.
2010-02-08 Nathan Sidwell <nathan@codesourcery.com> 2010-02-08 Nathan Sidwell <nathan@codesourcery.com>
* elf32-ppc.c (ppc_elf_begin_write_processing): Allow empty * elf32-ppc.c (ppc_elf_begin_write_processing): Allow empty

View File

@ -705,12 +705,16 @@ bfd_mach_o_canonicalize_one_reloc (bfd *abfd, char *buf,
res->addend = 0; res->addend = 0;
res->address = addr; res->address = addr;
if (symnum & BFD_MACH_O_R_EXTERN) if (symnum & BFD_MACH_O_R_EXTERN)
sym = syms + num; {
sym = syms + num;
reloc.r_extern = 1;
}
else else
{ {
BFD_ASSERT (num != 0); BFD_ASSERT (num != 0);
BFD_ASSERT (num <= mdata->nsects); BFD_ASSERT (num <= mdata->nsects);
sym = mdata->sections[num - 1]->bfdsection->symbol_ptr_ptr; sym = mdata->sections[num - 1]->bfdsection->symbol_ptr_ptr;
reloc.r_extern = 0;
} }
res->sym_ptr_ptr = sym; res->sym_ptr_ptr = sym;
reloc.r_type = BFD_MACH_O_GET_R_TYPE (symnum); reloc.r_type = BFD_MACH_O_GET_R_TYPE (symnum);