aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2011-02-16 14:58:18 +0000
committerH.J. Lu <hjl.tools@gmail.com>2011-02-16 14:58:18 +0000
commit5295881de1d0c5172ac89d1adb9168ac5e8226ff (patch)
tree7163f34ed950f711f7da5d52e1bbdb8f837fb7d8
parenta42244dbec4d58c5577a84215d92c85a6c067d1a (diff)
downloadgdb-5295881de1d0c5172ac89d1adb9168ac5e8226ff.zip
gdb-5295881de1d0c5172ac89d1adb9168ac5e8226ff.tar.gz
gdb-5295881de1d0c5172ac89d1adb9168ac5e8226ff.tar.bz2
Don't check relocation overflow for x32.
2011-02-16 H.J. Lu <hongjiu.lu@intel.com> * elf64-x86-64.c (elf_x86_64_check_relocs): Check relocation overflow only for ABI_64_P. (elf_x86_64_relocate_section): Likewise.
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/elf64-x86-64.c2
2 files changed, 8 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 1ab968c..7ce8b2f 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2011-02-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf64-x86-64.c (elf_x86_64_check_relocs): Check relocation
+ overflow only for ABI_64_P.
+ (elf_x86_64_relocate_section): Likewise.
+
2011-02-15 Tristan Gingold <gingold@adacore.com>
* vms-alpha.c (alpha_vms_link_add_archive_symbols): Add a comment.
diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c
index 343abce..70fe9b1 100644
--- a/bfd/elf64-x86-64.c
+++ b/bfd/elf64-x86-64.c
@@ -1498,6 +1498,7 @@ not_pointer:
sections we don't care about, such as debug sections or
non-constant sections. */
if (info->shared
+ && ABI_64_P (abfd)
&& (sec->flags & SEC_ALLOC) != 0
&& (sec->flags & SEC_READONLY) != 0)
{
@@ -3148,6 +3149,7 @@ elf_x86_64_relocate_section (bfd *output_bfd,
for shared library since it may not be local when used
as function address. */
if (info->shared
+ && ABI_64_P (output_bfd)
&& h
&& h->def_regular
&& h->type == STT_FUNC