aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2009-06-20 00:43:21 +0000
committerH.J. Lu <hjl.tools@gmail.com>2009-06-20 00:43:21 +0000
commit09a24cbf399cbb184c7121403d394e3db416ae71 (patch)
tree555f0d52afa070183ba22f6a688444cbbfd5c33d
parent0763ab812686d5587c7db200cb84ccafd655e243 (diff)
downloadgdb-09a24cbf399cbb184c7121403d394e3db416ae71.zip
gdb-09a24cbf399cbb184c7121403d394e3db416ae71.tar.gz
gdb-09a24cbf399cbb184c7121403d394e3db416ae71.tar.bz2
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.
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/elf32-i386.c2
-rw-r--r--bfd/elf64-x86-64.c6
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);