[ARM] PR ld/19368: Add missing relocation type class for R_ARM_IRELATIVE
authorJiong Wang <jiong.wang@arm.com>
Fri, 8 Jan 2016 09:47:24 +0000 (09:47 +0000)
committerJiong Wang <jiong.wang@arm.com>
Fri, 8 Jan 2016 09:49:03 +0000 (09:49 +0000)
2016-01-08  Richard Sandiford  <richard.sandiford@arm.com>
    Jiong Wang  <jiong.wang@arm.com>

PR ld/19368
bfd/
* elf32-arm.c (elf32_arm_reloc_type_class): Map R_ARM_IRELATIVE to
reloc_class_ifunc.

ld/
* testsuite/ld-arm/ifunc-3.rd: Update expected result.
* testsuite/ld-arm/ifunc-4.rd: Likewise.
* testsuite/ld-arm/ifunc-9.rd: Likewise.
* testsuite/ld-arm/ifunc-10.rd: Likewise.
* testsuite/ld-arm/ifunc-12.rd: Likewise.
* testsuite/ld-arm/ifunc-13.rd: Likewise.

bfd/ChangeLog
bfd/elf32-arm.c
ld/ChangeLog
ld/testsuite/ld-arm/ifunc-10.rd
ld/testsuite/ld-arm/ifunc-12.rd
ld/testsuite/ld-arm/ifunc-13.rd
ld/testsuite/ld-arm/ifunc-3.rd
ld/testsuite/ld-arm/ifunc-4.rd
ld/testsuite/ld-arm/ifunc-9.rd

index 33cbe658e5ca39e6835ca137f963191332bd9a2f..d1c5a3bef859dd408705ed50ecef01dfcd205195 100644 (file)
@@ -1,3 +1,10 @@
+2016-01-08  Richard Sandiford  <richard.sandiford@arm.com>
+           Jiong Wang  <jiong.wang@arm.com>
+
+       PR ld/19368
+       * elf32-arm.c (elf32_arm_reloc_type_class): Map R_ARM_IRELATIVE to
+       reloc_class_ifunc.
+
 2016-01-06  Andrew Burgess  <andrew.burgess@embecosm.com>
 
        * elf32-arc.c (reloc_type_to_name): Change ARC_RELOC_HOWTO to
index f059950b40d5eadc6b771b32a55a0805a84f2c37..c594e656c6103f8566d9e5572de351b024312b16 100644 (file)
@@ -15535,6 +15535,8 @@ elf32_arm_reloc_type_class (const struct bfd_link_info *info ATTRIBUTE_UNUSED,
       return reloc_class_plt;
     case R_ARM_COPY:
       return reloc_class_copy;
+    case R_ARM_IRELATIVE:
+      return reloc_class_ifunc;
     default:
       return reloc_class_normal;
     }
index 528cc6ed39ab002b1ce4ae505a02ed9a14312d2c..09e51b501c06948dc9c0f95cac4fa40bbefbd4a9 100644 (file)
@@ -1,3 +1,13 @@
+2016-01-08  Jiong Wang  <jiong.wang@arm.com>
+
+       PR ld/19368
+       * testsuite/ld-arm/ifunc-3.rd: Update expected result.
+       * testsuite/ld-arm/ifunc-4.rd: Likewise.
+       * testsuite/ld-arm/ifunc-9.rd: Likewise.
+       * testsuite/ld-arm/ifunc-10.rd: Likewise.
+       * testsuite/ld-arm/ifunc-12.rd: Likewise.
+       * testsuite/ld-arm/ifunc-13.rd: Likewise.
+
 2016-01-05  Nick Clifton  <nickc@redhat.com>
 
        * emulparams/msp430elf.sh (RAM_START): Move to 0x500 - above the
index 8846197678fdd4e192d086be5d1c6d0f03c3dbc0..250def844a6cd8853ca43b3377ea863a271f3d65 100644 (file)
@@ -1,18 +1,6 @@
 
 Relocation section '\.rel\.dyn' at offset 0x8000 contains 24 entries:
  Offset     Info    Type            Sym\.Value  Sym\. Name
-0001103c  ......a0 R_ARM_IRELATIVE  
-00011040  ......a0 R_ARM_IRELATIVE  
-00011044  ......a0 R_ARM_IRELATIVE  
-00011048  ......a0 R_ARM_IRELATIVE  
-0001104c  ......a0 R_ARM_IRELATIVE  
-00011050  ......a0 R_ARM_IRELATIVE  
-00011054  ......a0 R_ARM_IRELATIVE  
-00011058  ......a0 R_ARM_IRELATIVE  
-0001105c  ......a0 R_ARM_IRELATIVE  
-00011060  ......a0 R_ARM_IRELATIVE  
-00011064  ......a0 R_ARM_IRELATIVE  
-00011068  ......a0 R_ARM_IRELATIVE  
 0001108c  ......15 R_ARM_GLOB_DAT    00009018   atf2
 00011090  ......15 R_ARM_GLOB_DAT    00009024   aaf4
 00011094  ......15 R_ARM_GLOB_DAT    00009034   ttf2
@@ -25,6 +13,18 @@ Relocation section '\.rel\.dyn' at offset 0x8000 contains 24 entries:
 000110c8  ......15 R_ARM_GLOB_DAT    0000909c   atf4
 000110cc  ......15 R_ARM_GLOB_DAT    000090a8   taf4
 000110d0  ......15 R_ARM_GLOB_DAT    000090b8   abf2
+0001103c  ......a0 R_ARM_IRELATIVE  
+00011040  ......a0 R_ARM_IRELATIVE  
+00011044  ......a0 R_ARM_IRELATIVE  
+00011048  ......a0 R_ARM_IRELATIVE  
+0001104c  ......a0 R_ARM_IRELATIVE  
+00011050  ......a0 R_ARM_IRELATIVE  
+00011054  ......a0 R_ARM_IRELATIVE  
+00011058  ......a0 R_ARM_IRELATIVE  
+0001105c  ......a0 R_ARM_IRELATIVE  
+00011060  ......a0 R_ARM_IRELATIVE  
+00011064  ......a0 R_ARM_IRELATIVE  
+00011068  ......a0 R_ARM_IRELATIVE  
 
 Relocation section '\.rel\.plt' at offset 0x80c0 contains 12 entries:
  Offset     Info    Type            Sym\.Value  Sym\. Name
index c5d62c1ac520b49400fc69f9a583636b8a87aa46..69ed420e0d645ad28d550e93dda13f1a3d5c866b 100644 (file)
@@ -5,6 +5,10 @@ Relocation section '\.rel\.dyn' at offset 0x8000 contains 16 entries:
 00010020  ......17 R_ARM_RELATIVE   
 0001100c  ......17 R_ARM_RELATIVE   
 00011018  ......17 R_ARM_RELATIVE   
+00010008  ......02 R_ARM_ABS32       f2\(\)       f2
+00011024  ......15 R_ARM_GLOB_DAT    f2\(\)       f2
+00010014  ......02 R_ARM_ABS32       f2t\(\)      f2t
+0001101c  ......15 R_ARM_GLOB_DAT    f2t\(\)      f2t
 00010004  ......a0 R_ARM_IRELATIVE  
 0001000c  ......a0 R_ARM_IRELATIVE  
 00010010  ......a0 R_ARM_IRELATIVE  
@@ -13,7 +17,3 @@ Relocation section '\.rel\.dyn' at offset 0x8000 contains 16 entries:
 00011014  ......a0 R_ARM_IRELATIVE  
 00011020  ......a0 R_ARM_IRELATIVE  
 00011028  ......a0 R_ARM_IRELATIVE  
-00010008  ......02 R_ARM_ABS32       f2\(\)       f2
-00011024  ......15 R_ARM_GLOB_DAT    f2\(\)       f2
-00010014  ......02 R_ARM_ABS32       f2t\(\)      f2t
-0001101c  ......15 R_ARM_GLOB_DAT    f2t\(\)      f2t
index c58ab8ac94a21f35b747c29ccc8cb22604542a6b..f4394faf4606ca7481ed5be1b4f1e00ca5db7d06 100644 (file)
@@ -1,9 +1,9 @@
 
 Relocation section '\.rel\.dyn' at offset 0x8000 contains 6 entries:
  Offset     Info    Type            Sym\.Value  Sym\. Name
+0001101c  ......15 R_ARM_GLOB_DAT    00000000   f2t
+00011024  ......15 R_ARM_GLOB_DAT    00000000   f2
 00011010  ......a0 R_ARM_IRELATIVE  
 00011014  ......a0 R_ARM_IRELATIVE  
 00011020  ......a0 R_ARM_IRELATIVE  
 00011028  ......a0 R_ARM_IRELATIVE  
-0001101c  ......15 R_ARM_GLOB_DAT    00000000   f2t
-00011024  ......15 R_ARM_GLOB_DAT    00000000   f2
index 4acb314c04e11a172a2b982f460c521560812509..0ac011a905fdac33d9fdbf594073b0e9f95e69a9 100644 (file)
@@ -4,16 +4,16 @@ Relocation section '\.rel\.dyn' at offset 0x8000 contains 13 entries:
 00010004  ......17 R_ARM_RELATIVE   
 0001101c  ......17 R_ARM_RELATIVE   
 00011020  ......17 R_ARM_RELATIVE   
-0001000c  ......a0 R_ARM_IRELATIVE  
-0001001c  ......a0 R_ARM_IRELATIVE  
-00011010  ......a0 R_ARM_IRELATIVE  
-00011014  ......a0 R_ARM_IRELATIVE  
-00011018  ......a0 R_ARM_IRELATIVE  
 00010014  ......02 R_ARM_ABS32       f2\(\)       f2
 00010018  ......03 R_ARM_REL32       f2\(\)       f2
 00011024  ......15 R_ARM_GLOB_DAT    f2\(\)       f2
 00010024  ......02 R_ARM_ABS32       f4\(\)       f4
 00011028  ......15 R_ARM_GLOB_DAT    f4\(\)       f4
+0001000c  ......a0 R_ARM_IRELATIVE  
+0001001c  ......a0 R_ARM_IRELATIVE  
+00011010  ......a0 R_ARM_IRELATIVE  
+00011014  ......a0 R_ARM_IRELATIVE  
+00011018  ......a0 R_ARM_IRELATIVE  
 
 Relocation section '\.rel\.plt' at offset 0x8068 contains 1 entries:
  Offset     Info    Type            Sym\.Value  Sym\. Name
index b8079d5c6155f34d7838791ce756c4d145427369..43a0019ca91e91d293ec85b197f958a5719ca7d3 100644 (file)
@@ -3,36 +3,6 @@ Relocation section '\.rel\.dyn' at offset 0x8000 contains 62 entries:
  Offset     Info    Type            Sym\.Value  Sym\. Name
 0001106c  ......17 R_ARM_RELATIVE   
 00011070  ......17 R_ARM_RELATIVE   
-00010004  ......a0 R_ARM_IRELATIVE  
-0001000c  ......a0 R_ARM_IRELATIVE  
-00010014  ......a0 R_ARM_IRELATIVE  
-0001001c  ......a0 R_ARM_IRELATIVE  
-00010024  ......a0 R_ARM_IRELATIVE  
-0001002c  ......a0 R_ARM_IRELATIVE  
-00010064  ......a0 R_ARM_IRELATIVE  
-0001006c  ......a0 R_ARM_IRELATIVE  
-00010074  ......a0 R_ARM_IRELATIVE  
-0001007c  ......a0 R_ARM_IRELATIVE  
-00010084  ......a0 R_ARM_IRELATIVE  
-0001008c  ......a0 R_ARM_IRELATIVE  
-00011024  ......a0 R_ARM_IRELATIVE  
-00011028  ......a0 R_ARM_IRELATIVE  
-0001102c  ......a0 R_ARM_IRELATIVE  
-00011030  ......a0 R_ARM_IRELATIVE  
-00011034  ......a0 R_ARM_IRELATIVE  
-00011038  ......a0 R_ARM_IRELATIVE  
-0001103c  ......a0 R_ARM_IRELATIVE  
-00011040  ......a0 R_ARM_IRELATIVE  
-00011044  ......a0 R_ARM_IRELATIVE  
-00011048  ......a0 R_ARM_IRELATIVE  
-0001104c  ......a0 R_ARM_IRELATIVE  
-00011050  ......a0 R_ARM_IRELATIVE  
-00011054  ......a0 R_ARM_IRELATIVE  
-00011058  ......a0 R_ARM_IRELATIVE  
-0001105c  ......a0 R_ARM_IRELATIVE  
-00011060  ......a0 R_ARM_IRELATIVE  
-00011064  ......a0 R_ARM_IRELATIVE  
-00011068  ......a0 R_ARM_IRELATIVE  
 00010034  ......02 R_ARM_ABS32       aaf2\(\)     aaf2
 00010038  ......03 R_ARM_REL32       aaf2\(\)     aaf2
 00011088  ......15 R_ARM_GLOB_DAT    aaf2\(\)     aaf2
@@ -63,6 +33,36 @@ Relocation section '\.rel\.dyn' at offset 0x8000 contains 62 entries:
 00011094  ......15 R_ARM_GLOB_DAT    ttf4\(\)     ttf4
 000100bc  ......02 R_ARM_ABS32       tbf4\(\)     tbf4
 00011090  ......15 R_ARM_GLOB_DAT    tbf4\(\)     tbf4
+00010004  ......a0 R_ARM_IRELATIVE  
+0001000c  ......a0 R_ARM_IRELATIVE  
+00010014  ......a0 R_ARM_IRELATIVE  
+0001001c  ......a0 R_ARM_IRELATIVE  
+00010024  ......a0 R_ARM_IRELATIVE  
+0001002c  ......a0 R_ARM_IRELATIVE  
+00010064  ......a0 R_ARM_IRELATIVE  
+0001006c  ......a0 R_ARM_IRELATIVE  
+00010074  ......a0 R_ARM_IRELATIVE  
+0001007c  ......a0 R_ARM_IRELATIVE  
+00010084  ......a0 R_ARM_IRELATIVE  
+0001008c  ......a0 R_ARM_IRELATIVE  
+00011024  ......a0 R_ARM_IRELATIVE  
+00011028  ......a0 R_ARM_IRELATIVE  
+0001102c  ......a0 R_ARM_IRELATIVE  
+00011030  ......a0 R_ARM_IRELATIVE  
+00011034  ......a0 R_ARM_IRELATIVE  
+00011038  ......a0 R_ARM_IRELATIVE  
+0001103c  ......a0 R_ARM_IRELATIVE  
+00011040  ......a0 R_ARM_IRELATIVE  
+00011044  ......a0 R_ARM_IRELATIVE  
+00011048  ......a0 R_ARM_IRELATIVE  
+0001104c  ......a0 R_ARM_IRELATIVE  
+00011050  ......a0 R_ARM_IRELATIVE  
+00011054  ......a0 R_ARM_IRELATIVE  
+00011058  ......a0 R_ARM_IRELATIVE  
+0001105c  ......a0 R_ARM_IRELATIVE  
+00011060  ......a0 R_ARM_IRELATIVE  
+00011064  ......a0 R_ARM_IRELATIVE  
+00011068  ......a0 R_ARM_IRELATIVE  
 
 Relocation section '\.rel\.plt' at offset 0x81f0 contains 6 entries:
  Offset     Info    Type            Sym\.Value  Sym\. Name
index 689f6639c5661bacaff22525a13d272f14104d3f..e1ceb54304b048e29b4e81cddac526008abe24b7 100644 (file)
@@ -1,9 +1,9 @@
 
 Relocation section '\.rel\.dyn' at offset 0x8000 contains 3 entries:
  Offset     Info    Type            Sym\.Value  Sym\. Name
+00011028  ......15 R_ARM_GLOB_DAT    00009014   f2
 00011010  ......a0 R_ARM_IRELATIVE  
 00011014  ......a0 R_ARM_IRELATIVE  
-00011028  ......15 R_ARM_GLOB_DAT    00009014   f2
 
 Relocation section '\.rel\.plt' at offset 0x8018 contains 1 entries:
  Offset     Info    Type            Sym\.Value  Sym\. Name