diff options
-rw-r--r-- | bfd/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/elf32-i386.c | 2 | ||||
-rw-r--r-- | bfd/elf64-x86-64.c | 6 |
3 files changed, 10 insertions, 4 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 32a21be..8931e75 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -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 diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c index bac80e3..5ce7b27 100644 --- a/bfd/elf32-i386.c +++ b/bfd/elf32-i386.c @@ -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, diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c index 44149c5..274b874 100644 --- a/bfd/elf64-x86-64.c +++ b/bfd/elf64-x86-64.c @@ -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); |