2010-02-08 Tristan Gingold <gingold@adacore.com>
authorTristan Gingold <gingold@adacore.com>
Mon, 8 Feb 2010 09:13:47 +0000 (09:13 +0000)
committerTristan Gingold <gingold@adacore.com>
Mon, 8 Feb 2010 09:13:47 +0000 (09:13 +0000)
* mach-o.c (bfd_mach_o_canonicalize_one_reloc): Set reloc.r_extern
for non-scattered relocations.

bfd/ChangeLog
bfd/mach-o.c

index f9ca746..6e07ae3 100644 (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>
 
        * elf32-ppc.c (ppc_elf_begin_write_processing): Allow empty
index 20279c4..57d774b 100644 (file)
@@ -705,12 +705,16 @@ bfd_mach_o_canonicalize_one_reloc (bfd *abfd, char *buf,
       res->addend = 0;
       res->address = addr;
       if (symnum & BFD_MACH_O_R_EXTERN)
-        sym = syms + num;
+        {
+          sym = syms + num;
+          reloc.r_extern = 1;
+        }
       else
         {
           BFD_ASSERT (num != 0);
           BFD_ASSERT (num <= mdata->nsects);
           sym = mdata->sections[num - 1]->bfdsection->symbol_ptr_ptr;
+          reloc.r_extern = 0;
         }
       res->sym_ptr_ptr = sym;
       reloc.r_type = BFD_MACH_O_GET_R_TYPE (symnum);