Don't check relocation overflow for x32.
authorH.J. Lu <hjl.tools@gmail.com>
Wed, 16 Feb 2011 14:58:18 +0000 (14:58 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Wed, 16 Feb 2011 14:58:18 +0000 (14:58 +0000)
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.

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

index 1ab968c..7ce8b2f 100644 (file)
@@ -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.
index 343abce..70fe9b1 100644 (file)
@@ -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