2009-06-19 H.J. Lu <hongjiu.lu@intel.com>
authorH.J. Lu <hjl.tools@gmail.com>
Sat, 20 Jun 2009 00:43:21 +0000 (00:43 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Sat, 20 Jun 2009 00:43:21 +0000 (00:43 +0000)
* elf32-i386.c (elf_i386_check_relocs): Properly check local
symbol on error.
* elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.

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

index 32a21be..8931e75 100644 (file)
@@ -1,5 +1,11 @@
 2009-06-19  H.J. Lu  <hongjiu.lu@intel.com>
 
+       * elf32-i386.c (elf_i386_check_relocs): Properly check local
+       symbol on error.
+       * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
+
+2009-06-19  H.J. Lu  <hongjiu.lu@intel.com>
+
        * elf32-i386.c (elf_i386_tls_transition): Add a parameter,
        r_symndx.  Report local symbol name on error.
        (elf_i386_check_relocs): Updated.  Report local symbol name on
index bac80e3..5ce7b27 100644 (file)
@@ -1538,7 +1538,7 @@ elf_i386_check_relocs (bfd *abfd,
                  tls_type |= old_tls_type;
                else
                  {
-                   if (h->root.root.string)
+                   if (h)
                      name = h->root.root.string;
                    else
                      name = bfd_elf_sym_name (abfd, symtab_hdr, isym,
index 44149c5..274b874 100644 (file)
@@ -1232,7 +1232,7 @@ elf64_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info,
        case R_X86_64_TPOFF32:
          if (info->shared)
            {
-             if (h->root.root.string)
+             if (h)
                name = h->root.root.string;
              else
                name = bfd_elf_sym_name (abfd, symtab_hdr, isym,
@@ -1327,7 +1327,7 @@ elf64_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info,
                  tls_type |= old_tls_type;
                else
                  {
-                   if (h->root.root.string)
+                   if (h)
                      name = h->root.root.string;
                    else
                      name = bfd_elf_sym_name (abfd, symtab_hdr,
@@ -1402,7 +1402,7 @@ elf64_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info,
              && (sec->flags & SEC_ALLOC) != 0
              && (sec->flags & SEC_READONLY) != 0)
            {
-             if (h->root.root.string)
+             if (h)
                name = h->root.root.string;
              else
                name = bfd_elf_sym_name (abfd, symtab_hdr, isym, NULL);