2009-06-13 H.J. Lu <hongjiu.lu@intel.com>
authorH.J. Lu <hjl.tools@gmail.com>
Sun, 14 Jun 2009 05:45:09 +0000 (05:45 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Sun, 14 Jun 2009 05:45:09 +0000 (05:45 +0000)
* elf32-i386.c (elf_i386_check_relocs): Properly report
local symbol for unhandled relocation against STT_GNU_IFUNC
symbol.
* elf64-x86-64.c (elf64_x86_64_check_relocs):  Likewise.

bfd/ChangeLog
bfd/elf32-i386.c
bfd/elf64-x86-64.c

index 6022765..05e93da 100644 (file)
@@ -1,5 +1,12 @@
 2009-06-13  H.J. Lu  <hongjiu.lu@intel.com>
 
+       * elf32-i386.c (elf_i386_check_relocs): Properly report
+       local symbol for unhandled relocation against STT_GNU_IFUNC
+       symbol.
+       * elf64-x86-64.c (elf64_x86_64_check_relocs):  Likewise.
+
+2009-06-13  H.J. Lu  <hongjiu.lu@intel.com>
+
        PR ld/10269
        * elf32-i386.c: Include "objalloc.h" and "hashtab.h".
        (elf_i386_link_hash_table): Add loc_hash_table and
index 273bd85..c6e6265 100644 (file)
@@ -1480,7 +1480,8 @@ elf_i386_check_relocs (bfd *abfd,
                     (_("%B: relocation %s against STT_GNU_IFUNC "
                        "symbol `%s' isn't handled by %s"), abfd,
                      elf_howto_table[r_type].name,
-                     h != NULL ? h->root.root.string : "a local symbol",
+                    (h->root.root.string
+                     ? h->root.root.string : "a local symbol"),
                      __FUNCTION__);
                   bfd_set_error (bfd_error_bad_value);
                   return FALSE;
index 2808906..3cb4f06 100644 (file)
@@ -1263,7 +1263,8 @@ elf64_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info,
                     (_("%B: relocation %s against STT_GNU_IFUNC "
                        "symbol `%s' isn't handled by %s"), abfd,
                      x86_64_elf_howto_table[r_type].name,
-                     h != NULL ? h->root.root.string : "a local symbol",
+                    (h->root.root.string
+                     ? h->root.root.string : "a local symbol"),
                      __FUNCTION__);
                   bfd_set_error (bfd_error_bad_value);
                   return FALSE;