[ARM] Reject R_ARM_REL32 when trying to defer it to runtime
authorJiong Wang <jiong.wang@arm.com>
Wed, 14 Jan 2015 19:11:54 +0000 (19:11 +0000)
committerJiong Wang <jiong.wang@arm.com>
Wed, 14 Jan 2015 19:11:54 +0000 (19:11 +0000)
  bfd/
    * elf32-arm.c (elf32_arm_final_link_relocate): Reject R_ARM_32/_NOI when
    trying to defer them to runtime.

  ld/testsuite/
    * ld-arm/elf32-reject.s: New testcase.
    * ld-arm/elf32-reject.d: Likewise.
    * ld-arm/elf32-reject-pie.s: Likewise.
    * ld-arm/elf32-reject-pie.d: Likewise.
    * ld-arm/arm-elf.exp: Run new testcases.
    * ld-arm/ifunc-7.s: Delete f2/f4 test items.
    * ld-arm/ifunc-7.rd: Likewise.
    * ld-arm/ifunc-7.gd: Likewise.
    * ld-arm/ifunc-7.dd: Likewise.
    * ld-arm/ifunc-8.s: Likewise.
    * ld-arm/ifunc-8.rd: Likewise.
    * ld-arm/ifunc-8.gd: Likewise.
    * ld-arm/ifunc-8.dd: Likewise.

16 files changed:
bfd/ChangeLog
bfd/elf32-arm.c
ld/ChangeLog
ld/testsuite/ld-arm/arm-elf.exp
ld/testsuite/ld-arm/ifunc-7.dd
ld/testsuite/ld-arm/ifunc-7.gd
ld/testsuite/ld-arm/ifunc-7.rd
ld/testsuite/ld-arm/ifunc-7.s
ld/testsuite/ld-arm/ifunc-8.dd
ld/testsuite/ld-arm/ifunc-8.gd
ld/testsuite/ld-arm/ifunc-8.rd
ld/testsuite/ld-arm/ifunc-8.s
ld/testsuite/ld-arm/rel32-reject-pie.d [new file with mode: 0644]
ld/testsuite/ld-arm/rel32-reject-pie.s [new file with mode: 0644]
ld/testsuite/ld-arm/rel32-reject.d [new file with mode: 0644]
ld/testsuite/ld-arm/rel32-reject.s [new file with mode: 0644]

index c6aa9665a3095b8bcc7192513f44760b64e601cb..0e83f2e590c574aa4ddcb45469aeeb0243694abb 100644 (file)
@@ -1,3 +1,8 @@
+2015-01-14  Jiong Wang  <jiong.wang@arm.com>
+
+       * elf32-arm.c (elf32_arm_final_link_relocate): Reject R_ARM_32/_NOI when
+       trying to defer them to runtime.
+
 2015-01-13  Thomas Preud'homme <thomas.preudhomme@arm.com>
 
        * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use SYMBOLIC_BIND
index 75ea1d488055c0dfd1e470476c9d5de2588ff567..d36a7a538f10ba705db666e49778a622bb5fb4e8 100644 (file)
@@ -8416,6 +8416,21 @@ elf32_arm_final_link_relocate (reloc_howto_type *           howto,
          Elf_Internal_Rela outrel;
          bfd_boolean skip, relocate;
 
+         if ((r_type == R_ARM_REL32 || r_type == R_ARM_REL32_NOI)
+             && !h->def_regular)
+           {
+             char *v = _("shared object");
+
+             if (info->executable)
+               v = _("PIE executable");
+
+             (*_bfd_error_handler)
+               (_("%B: relocation %s against external or undefined symbol `%s'"
+                  " can not be used when making a %s; recompile with -fPIC"), input_bfd,
+                elf32_arm_howto_table_1[r_type].name, h->root.root.string, v);
+             return bfd_reloc_notsupported;
+           }
+
          *unresolved_reloc_p = FALSE;
 
          if (sreloc == NULL && globals->root.dynamic_sections_created)
index be4617f02f4d5b7e148e402b758aa1012ea2bb28..c7847a1806d047fe5f81b96a4c39bb45089f3417 100644 (file)
@@ -1,3 +1,19 @@
+2015-01-14  Jiong Wang  <jiong.wang@arm.com>
+
+       * ld-arm/elf32-reject.s: New testcase.
+       * ld-arm/elf32-reject.d: Likewise.
+       * ld-arm/elf32-reject-pie.s: Likewise.
+       * ld-arm/elf32-reject-pie.d: Likewise.
+       * ld-arm/arm-elf.exp: Run new testcases.
+       * ld-arm/ifunc-7.s: Delete f2/f4 test items.
+       * ld-arm/ifunc-7.rd: Likewise.
+       * ld-arm/ifunc-7.gd: Likewise.
+       * ld-arm/ifunc-7.dd: Likewise.
+       * ld-arm/ifunc-8.s: Likewise.
+       * ld-arm/ifunc-8.rd: Likewise.
+       * ld-arm/ifunc-8.gd: Likewise.
+       * ld-arm/ifunc-8.dd: Likewise.
+
 2015-01-01  Alan Modra  <amodra@gmail.com>
 
        * ldver.c (ldversion): Just print current year.
index 0efbde422b8281e7076da79808fb0c6c5b3c6249..9d946e0606af1a44fa8734cdae7d25746a20187d 100644 (file)
@@ -299,6 +299,8 @@ run_dump_test "movw-shared-1"
 run_dump_test "movw-shared-2"
 run_dump_test "movw-shared-3"
 run_dump_test "movw-shared-4"
+run_dump_test "rel32-reject"
+run_dump_test "rel32-reject-pie"
 
 # Exclude non-ARM-EABI targets.
 
index f82fd3769f167688831543943b7940c6b23e3e92..c2c5e9cb66a669773baa3011b3b51367ce7c51de 100644 (file)
@@ -2,47 +2,21 @@
 .*
 
 
-Disassembly of section \.plt:
-
-00009000 <f2@plt-0x14>:
-    9000:      e52de004        push    {lr}            ; \(str lr, \[sp, #-4\]!\)
-    9004:      e59fe004        ldr     lr, \[pc, #4\]  ; 9010 <f2@plt-0x4>
-    9008:      e08fe00e        add     lr, pc, lr
-    900c:      e5bef008        ldr     pc, \[lr, #8\]!
-#------------------------------------------------------------------------------
-#------ PC-relative offset of .got.plt
-#------------------------------------------------------------------------------
-    9010:      00007ff0        \.word  0x00007ff0
-#------------------------------------------------------------------------------
-#------ f2's .plt entry
-#------------------------------------------------------------------------------
-00009014 <f2@plt>:
-    9014:      e28fc600        add     ip, pc, #0, 12
-    9018:      e28cca07        add     ip, ip, #28672  ; 0x7000
-    901c:      e5bcfff0        ldr     pc, \[ip, #4080\]!      ; 0xff0
-#------------------------------------------------------------------------------
-#------ f4's .plt entry
-#------------------------------------------------------------------------------
-00009020 <f4@plt>:
-    9020:      e28fc600        add     ip, pc, #0, 12
-    9024:      e28cca07        add     ip, ip, #28672  ; 0x7000
-    9028:      e5bcffe8        ldr     pc, \[ip, #4072\]!      ; 0xfe8
-
 Disassembly of section \.iplt:
 
-0000902c <\.iplt>:
+00009000 <\.iplt>:
 #------------------------------------------------------------------------------
 #------ f1's .iplt entry
 #------------------------------------------------------------------------------
-    902c:      e28fc600        add     ip, pc, #0, 12
-    9030:      e28cca07        add     ip, ip, #28672  ; 0x7000
-    9034:      e5bcffe0        ldr     pc, \[ip, #4064\]!      ; 0xfe0
+    9000:      e28fc600        add     ip, pc, #0, 12
+    9004:      e28cca08        add     ip, ip, #8, 20  ; 0x8000
+    9008:      e5bcf004        ldr     pc, \[ip, #4\]!
 #------------------------------------------------------------------------------
 #------ f3's .iplt entry
 #------------------------------------------------------------------------------
-    9038:      e28fc600        add     ip, pc, #0, 12
-    903c:      e28cca07        add     ip, ip, #28672  ; 0x7000
-    9040:      e5bcffd8        ldr     pc, \[ip, #4056\]!      ; 0xfd8
+    900c:      e28fc600        add     ip, pc, #0, 12
+    9010:      e28cca07        add     ip, ip, #28672  ; 0x7000
+    9014:      e5bcfffc        ldr     pc, \[ip, #4092\]!      ; 0xffc
 
 Disassembly of section \.text:
 
@@ -59,64 +33,36 @@ Disassembly of section \.text:
 #------------------------------------------------------------------------------
 #------ .got offset for foo
 #------------------------------------------------------------------------------
-    a014:      00000020        \.word  0x00000020
+    a014:      00000018        \.word  0x00000018
 #------------------------------------------------------------------------------
 #------ PC-relative offset of .got entry for foo
 #------------------------------------------------------------------------------
-    a018:      00007004        \.word  0x00007004
+    a018:      00006ffc        \.word  0x00006ffc
 #------------------------------------------------------------------------------
 #------ f1's .iplt entry
 #------------------------------------------------------------------------------
-    a01c:      ebfffc02        bl      902c <f4@plt\+0xc>
+    a01c:      ebfffbf7        bl      9000 <f1-0x1000>
     a020:      e59f4000        ldr     r4, \[pc\]      ; a028 <arm\+0x20>
     a024:      e59f4000        ldr     r4, \[pc\]      ; a02c <arm\+0x24>
 #------------------------------------------------------------------------------
 #------ GP-relative offset of f1's .igot.plt entry
 #------------------------------------------------------------------------------
-    a028:      00000014        \.word  0x00000014
+    a028:      0000000c        \.word  0x0000000c
 #------------------------------------------------------------------------------
 #------ PC-relative offset of f1's .igot.plt entry
 #------------------------------------------------------------------------------
-    a02c:      00006fe8        \.word  0x00006fe8
+    a02c:      00006fe0        \.word  0x00006fe0
 #------------------------------------------------------------------------------
-#------ f2's .plt entry
+#------ f3's .iplt entry
 #------------------------------------------------------------------------------
-    a030:      ebfffbf7        bl      9014 <f2@plt>
+    a030:      ebfffbf5        bl      900c <f1-0xff4>
     a034:      e59f4000        ldr     r4, \[pc\]      ; a03c <arm\+0x34>
     a038:      e59f4000        ldr     r4, \[pc\]      ; a040 <arm\+0x38>
 #------------------------------------------------------------------------------
-#------ .got offset for f2
-#------------------------------------------------------------------------------
-    a03c:      00000024        \.word  0x00000024
-#------------------------------------------------------------------------------
-#------ PC-relative offset of .got entry for f2
-#------------------------------------------------------------------------------
-    a040:      00006fe4        \.word  0x00006fe4
-#------------------------------------------------------------------------------
-#------ f3's .iplt entry
-#------------------------------------------------------------------------------
-    a044:      ebfffbfb        bl      9038 <f4@plt\+0x18>
-    a048:      e59f4000        ldr     r4, \[pc\]      ; a050 <arm\+0x48>
-    a04c:      e59f4000        ldr     r4, \[pc\]      ; a054 <arm\+0x4c>
-#------------------------------------------------------------------------------
 #------ GP-relative offset of f3's .igot.plt entry
 #------------------------------------------------------------------------------
-    a050:      00000018        \.word  0x00000018
+    a03c:      00000010        \.word  0x00000010
 #------------------------------------------------------------------------------
 #------ PC-relative offset of f3's .igot.plt entry
 #------------------------------------------------------------------------------
-    a054:      00006fc4        \.word  0x00006fc4
-#------------------------------------------------------------------------------
-#------ f4's .plt entry
-#------------------------------------------------------------------------------
-    a058:      ebfffbf0        bl      9020 <f4@plt>
-    a05c:      e59f4000        ldr     r4, \[pc\]      ; a064 <arm\+0x5c>
-    a060:      e59f4000        ldr     r4, \[pc\]      ; a068 <arm\+0x60>
-#------------------------------------------------------------------------------
-#------ .got offset for f4
-#------------------------------------------------------------------------------
-    a064:      00000028        \.word  0x00000028
-#------------------------------------------------------------------------------
-#------ PC-relative offset of .got entry for f4
-#------------------------------------------------------------------------------
-    a068:      00006fc0        \.word  0x00006fc0
+    a040:      00006fd0        \.word  0x00006fd0
index 3251c459b8133219110e5983a58699089f811046..da1bb453c1ba504217bc9c167c6a7fbd95c06183 100644 (file)
@@ -11,35 +11,21 @@ Contents of section \.data:
  10000 (44332211 00000100 f8ffffff 00a00000|11223344 00010000 fffffff8 0000a000)  .*
 #------------------------------------------------------------------------------
 #------ 00010010: contains PC-relative offset of f1's .iplt entry
-#------ 00010014: f2 [R_ARM_ABS32]
-#------ 00010018: f2 [R_ARM_REL32]
-#------ 0001001c: contains f3 [R_ARM_IRELATIVE]
+#------ 00010014: contains f3 [R_ARM_IRELATIVE]
+#------ 00010018: contains PC-relative offset of f3's .iplt entry
 #------------------------------------------------------------------------------
- 10010 (1c90ffff 00000000 00000000 04a00000|ffff901c 00000000 00000000 0000a004)  .*
-#------------------------------------------------------------------------------
-#------ 00010020: contains PC-relative offset of f3's .iplt entry
-#------ 00010024: f4 [R_ARM_ABS32]
-#------ 00010028: f4 [R_ARM_REL32]
-#------------------------------------------------------------------------------
- 10020 (1890ffff|ffff9018) 00000000 00000000           .*
+ 10010 (f08fffff 04a00000 f48fffff|ffff8ff0 0000a004 ffff8ff4)  .*
 Contents of section \.got:
 #------------------------------------------------------------------------------
 #------ 00011000: .got.plt
 #------ 00011004: reserved .got.plt entry
 #------ 00011008: reserved .got.plt entry
-#------ 0001100c: f2's .got.plt entry [R_ARM_JUMP_SLOT]
-#------------------------------------------------------------------------------
- 11000 (00200100 00000000 00000000 00900000|00012000 00000000 00000000 00009000)  .*
-#------------------------------------------------------------------------------
-#------ 00011010: f4's .got.plt entry [R_ARM_JUMP_SLOT]
-#------ 00011014: f1's .igot.plt entry [R_ARM_IRELATIVE]
-#------ 00011018: f3's .igot.plt entry [R_ARM_IRELATIVE]
-#------ 0001101c: .got entry for foo [R_ARM_RELATIVE]
+#------ 0001100c: f1's .igot.plt entry [R_ARM_IRELATIVE]
 #------------------------------------------------------------------------------
- 11010 (00900000 00a00000 04a00000 00000100|00009000 0000a000 0000a004 00010000)  .*
+ 11000 (00200100 00000000 00000000 00a00000|00012000 00000000 00000000 0000a000)  .*
 #------------------------------------------------------------------------------
-#------ 00011020: .got entry for foo [R_ARM_RELATIVE]
-#------ 00011024: .got entry for f2 [R_ARM_GLOB_DAT]
-#------ 00011028: .got entry for f4 [R_ARM_GLOB_DAT]
+#------ 00011010: f3's .igot.plt entry [R_ARM_IRELATIVE]
+#------ 00011014: .got entry for foo [R_ARM_RELATIVE]
+#------ 00011018: .got entry for foo [R_ARM_RELATIVE]
 #------------------------------------------------------------------------------
- 11020 (00000100|00010000) 00000000 00000000           .*
+ 11010 (04a00000 00000100 00000100|0000a004 00010000 00010000)  .*
index a29b184d36e20b6b8ea5c0953a9f3f525bb16699..f250bb7e43002014b56d4b1174330ce15bd12447 100644 (file)
@@ -1,21 +1,10 @@
 
-Relocation section '\.rel\.dyn' at offset 0x8000 contains 13 entries:
+Relocation section '\.rel\.dyn' at offset 0x8000 contains 7 entries:
  Offset     Info    Type            Sym\.Value  Sym\. Name
 00010004  ......17 R_ARM_RELATIVE   
-0001101c  ......17 R_ARM_RELATIVE   
-00011020  ......17 R_ARM_RELATIVE   
+00011014  ......17 R_ARM_RELATIVE   
+00011018  ......17 R_ARM_RELATIVE   
 0001000c  ......a0 R_ARM_IRELATIVE  
-0001001c  ......a0 R_ARM_IRELATIVE  
-00011014  ......a0 R_ARM_IRELATIVE  
-00011018  ......a0 R_ARM_IRELATIVE  
-00010014  ......02 R_ARM_ABS32       00000000   f2
-00010018  ......03 R_ARM_REL32       00000000   f2
-00011024  ......15 R_ARM_GLOB_DAT    00000000   f2
-00010024  ......02 R_ARM_ABS32       00000000   f4
-00010028  ......03 R_ARM_REL32       00000000   f4
-00011028  ......15 R_ARM_GLOB_DAT    00000000   f4
-
-Relocation section '\.rel\.plt' at offset 0x8068 contains 2 entries:
- Offset     Info    Type            Sym\.Value  Sym\. Name
-0001100c  ......16 R_ARM_JUMP_SLOT   00000000   f2
-00011010  ......16 R_ARM_JUMP_SLOT   00000000   f4
+00010014  ......a0 R_ARM_IRELATIVE  
+0001100c  ......a0 R_ARM_IRELATIVE  
+00011010  ......a0 R_ARM_IRELATIVE  
index 85ffb686c18ee0e503c9e5da5c5af0215437dae0..1159768151f34e5e23cdb2379f5906e02eb57299 100644 (file)
@@ -36,7 +36,5 @@ foo:
 arm:
        test_relocs foo
        test_relocs f1
-       test_relocs f2
        test_relocs f3
-       test_relocs f4
        .size   arm,.-arm
index 3cca17cfcd7703c54362ab0353e89082af7236d3..50a91770926cb02bcf6fd206c2bc1cf3a9c5d603 100644 (file)
 .*
 
 
-Disassembly of section \.plt:
-
-00009000 <atf2@plt-0x14>:
-    9000:      e52de004        push    {lr}            ; \(str lr, \[sp, #-4\]!\)
-    9004:      e59fe004        ldr     lr, \[pc, #4\]  ; 9010 <atf2@plt-0x4>
-    9008:      e08fe00e        add     lr, pc, lr
-    900c:      e5bef008        ldr     pc, \[lr, #8\]!
-#------------------------------------------------------------------------------
-#------ PC-relative offset of .got.plt
-#------------------------------------------------------------------------------
-    9010:      00007ff0        \.word  0x00007ff0
-#------------------------------------------------------------------------------
-#------ thumb entry to atf2's .plt entry
-#------------------------------------------------------------------------------
-00009014 <atf2@plt>:
-    9014:      4778            bx      pc
-    9016:      46c0            nop                     ; \(mov r8, r8\)
-#------------------------------------------------------------------------------
-#------ atf2's .plt entry
-#------------------------------------------------------------------------------
-    9018:      e28fc600        add     ip, pc, #0, 12
-    901c:      e28cca07        add     ip, ip, #28672  ; 0x7000
-    9020:      e5bcffec        ldr     pc, \[ip, #4076\]!      ; 0xfec
-#------------------------------------------------------------------------------
-#------ aaf4's .plt entry
-#------------------------------------------------------------------------------
-00009024 <aaf4@plt>:
-    9024:      e28fc600        add     ip, pc, #0, 12
-    9028:      e28cca07        add     ip, ip, #28672  ; 0x7000
-    902c:      e5bcffe4        ldr     pc, \[ip, #4068\]!      ; 0xfe4
-#------------------------------------------------------------------------------
-#------ thumb entry to ttf2's .plt entry
-#------------------------------------------------------------------------------
-00009030 <ttf2@plt>:
-    9030:      4778            bx      pc
-    9032:      46c0            nop                     ; \(mov r8, r8\)
-#------------------------------------------------------------------------------
-#------ ttf2's .plt entry
-#------------------------------------------------------------------------------
-    9034:      e28fc600        add     ip, pc, #0, 12
-    9038:      e28cca07        add     ip, ip, #28672  ; 0x7000
-    903c:      e5bcffd8        ldr     pc, \[ip, #4056\]!      ; 0xfd8
-#------------------------------------------------------------------------------
-#------ thumb entry to tbf2's .plt entry
-#------------------------------------------------------------------------------
-00009040 <tbf2@plt>:
-    9040:      4778            bx      pc
-    9042:      46c0            nop                     ; \(mov r8, r8\)
-#------------------------------------------------------------------------------
-#------ tbf2's .plt entry
-#------------------------------------------------------------------------------
-    9044:      e28fc600        add     ip, pc, #0, 12
-    9048:      e28cca07        add     ip, ip, #28672  ; 0x7000
-    904c:      e5bcffcc        ldr     pc, \[ip, #4044\]!      ; 0xfcc
-#------------------------------------------------------------------------------
-#------ taf2's .plt entry
-#------------------------------------------------------------------------------
-00009050 <taf2@plt>:
-    9050:      e28fc600        add     ip, pc, #0, 12
-    9054:      e28cca07        add     ip, ip, #28672  ; 0x7000
-    9058:      e5bcffc4        ldr     pc, \[ip, #4036\]!      ; 0xfc4
-#------------------------------------------------------------------------------
-#------ aaf2's .plt entry
-#------------------------------------------------------------------------------
-0000905c <aaf2@plt>:
-    905c:      e28fc600        add     ip, pc, #0, 12
-    9060:      e28cca07        add     ip, ip, #28672  ; 0x7000
-    9064:      e5bcffbc        ldr     pc, \[ip, #4028\]!      ; 0xfbc
-#------------------------------------------------------------------------------
-#------ thumb entry to abf4's .plt entry
-#------------------------------------------------------------------------------
-00009068 <abf4@plt>:
-    9068:      4778            bx      pc
-    906a:      46c0            nop                     ; \(mov r8, r8\)
-#------------------------------------------------------------------------------
-#------ abf4's .plt entry
-#------------------------------------------------------------------------------
-    906c:      e28fc600        add     ip, pc, #0, 12
-    9070:      e28cca07        add     ip, ip, #28672  ; 0x7000
-    9074:      e5bcffb0        ldr     pc, \[ip, #4016\]!      ; 0xfb0
-#------------------------------------------------------------------------------
-#------ thumb entry to tbf4's .plt entry
-#------------------------------------------------------------------------------
-00009078 <tbf4@plt>:
-    9078:      4778            bx      pc
-    907a:      46c0            nop                     ; \(mov r8, r8\)
-#------------------------------------------------------------------------------
-#------ tbf4's .plt entry
-#------------------------------------------------------------------------------
-    907c:      e28fc600        add     ip, pc, #0, 12
-    9080:      e28cca07        add     ip, ip, #28672  ; 0x7000
-    9084:      e5bcffa4        ldr     pc, \[ip, #4004\]!      ; 0xfa4
-#------------------------------------------------------------------------------
-#------ thumb entry to ttf4's .plt entry
-#------------------------------------------------------------------------------
-00009088 <ttf4@plt>:
-    9088:      4778            bx      pc
-    908a:      46c0            nop                     ; \(mov r8, r8\)
-#------------------------------------------------------------------------------
-#------ ttf4's .plt entry
-#------------------------------------------------------------------------------
-    908c:      e28fc600        add     ip, pc, #0, 12
-    9090:      e28cca07        add     ip, ip, #28672  ; 0x7000
-    9094:      e5bcff98        ldr     pc, \[ip, #3992\]!      ; 0xf98
-#------------------------------------------------------------------------------
-#------ thumb entry to atf4's .plt entry
-#------------------------------------------------------------------------------
-00009098 <atf4@plt>:
-    9098:      4778            bx      pc
-    909a:      46c0            nop                     ; \(mov r8, r8\)
-#------------------------------------------------------------------------------
-#------ atf4's .plt entry
-#------------------------------------------------------------------------------
-    909c:      e28fc600        add     ip, pc, #0, 12
-    90a0:      e28cca07        add     ip, ip, #28672  ; 0x7000
-    90a4:      e5bcff8c        ldr     pc, \[ip, #3980\]!      ; 0xf8c
-#------------------------------------------------------------------------------
-#------ taf4's .plt entry
-#------------------------------------------------------------------------------
-000090a8 <taf4@plt>:
-    90a8:      e28fc600        add     ip, pc, #0, 12
-    90ac:      e28cca07        add     ip, ip, #28672  ; 0x7000
-    90b0:      e5bcff84        ldr     pc, \[ip, #3972\]!      ; 0xf84
-#------------------------------------------------------------------------------
-#------ thumb entry to abf2's .plt entry
-#------------------------------------------------------------------------------
-000090b4 <abf2@plt>:
-    90b4:      4778            bx      pc
-    90b6:      46c0            nop                     ; \(mov r8, r8\)
-#------------------------------------------------------------------------------
-#------ abf2's .plt entry
-#------------------------------------------------------------------------------
-    90b8:      e28fc600        add     ip, pc, #0, 12
-    90bc:      e28cca07        add     ip, ip, #28672  ; 0x7000
-    90c0:      e5bcff78        ldr     pc, \[ip, #3960\]!      ; 0xf78
-
 Disassembly of section \.iplt:
 
-000090c4 <\.iplt>:
+00009000 <\.iplt>:
 #------------------------------------------------------------------------------
 #------ aaf1's .iplt entry
 #------------------------------------------------------------------------------
-    90c4:      e28fc600        add     ip, pc, #0, 12
-    90c8:      e28cca07        add     ip, ip, #28672  ; 0x7000
-    90cc:      e5bcff70        ldr     pc, \[ip, #3952\]!      ; 0xf70
+    9000:      e28fc600        add     ip, pc, #0, 12
+    9004:      e28cca08        add     ip, ip, #8, 20  ; 0x8000
+    9008:      e5bcf004        ldr     pc, \[ip, #4\]!
 #------------------------------------------------------------------------------
 #------ thumb entry to atf1's .iplt entry
 #------------------------------------------------------------------------------
-    90d0:      4778            bx      pc
-    90d2:      46c0            nop                     ; \(mov r8, r8\)
+    900c:      4778            bx      pc
+    900e:      46c0            nop                     ; \(mov r8, r8\)
 #------------------------------------------------------------------------------
 #------ atf1's .iplt entry
 #------------------------------------------------------------------------------
-    90d4:      e28fc600        add     ip, pc, #0, 12
-    90d8:      e28cca07        add     ip, ip, #28672  ; 0x7000
-    90dc:      e5bcff64        ldr     pc, \[ip, #3940\]!      ; 0xf64
+    9010:      e28fc600        add     ip, pc, #0, 12
+    9014:      e28cca07        add     ip, ip, #28672  ; 0x7000
+    9018:      e5bcfff8        ldr     pc, \[ip, #4088\]!      ; 0xff8
 #------------------------------------------------------------------------------
 #------ thumb entry to abf1's .iplt entry
 #------------------------------------------------------------------------------
-    90e0:      4778            bx      pc
-    90e2:      46c0            nop                     ; \(mov r8, r8\)
+    901c:      4778            bx      pc
+    901e:      46c0            nop                     ; \(mov r8, r8\)
 #------------------------------------------------------------------------------
 #------ abf1's .iplt entry
 #------------------------------------------------------------------------------
-    90e4:      e28fc600        add     ip, pc, #0, 12
-    90e8:      e28cca07        add     ip, ip, #28672  ; 0x7000
-    90ec:      e5bcff58        ldr     pc, \[ip, #3928\]!      ; 0xf58
+    9020:      e28fc600        add     ip, pc, #0, 12
+    9024:      e28cca07        add     ip, ip, #28672  ; 0x7000
+    9028:      e5bcffec        ldr     pc, \[ip, #4076\]!      ; 0xfec
 #------------------------------------------------------------------------------
 #------ taf1's .iplt entry
 #------------------------------------------------------------------------------
-    90f0:      e28fc600        add     ip, pc, #0, 12
-    90f4:      e28cca07        add     ip, ip, #28672  ; 0x7000
-    90f8:      e5bcff50        ldr     pc, \[ip, #3920\]!      ; 0xf50
+    902c:      e28fc600        add     ip, pc, #0, 12
+    9030:      e28cca07        add     ip, ip, #28672  ; 0x7000
+    9034:      e5bcffe4        ldr     pc, \[ip, #4068\]!      ; 0xfe4
 #------------------------------------------------------------------------------
 #------ thumb entry to ttf1's .iplt entry
 #------------------------------------------------------------------------------
-    90fc:      4778            bx      pc
-    90fe:      46c0            nop                     ; \(mov r8, r8\)
+    9038:      4778            bx      pc
+    903a:      46c0            nop                     ; \(mov r8, r8\)
 #------------------------------------------------------------------------------
 #------ ttf1's .iplt entry
 #------------------------------------------------------------------------------
-    9100:      e28fc600        add     ip, pc, #0, 12
-    9104:      e28cca07        add     ip, ip, #28672  ; 0x7000
-    9108:      e5bcff44        ldr     pc, \[ip, #3908\]!      ; 0xf44
+    903c:      e28fc600        add     ip, pc, #0, 12
+    9040:      e28cca07        add     ip, ip, #28672  ; 0x7000
+    9044:      e5bcffd8        ldr     pc, \[ip, #4056\]!      ; 0xfd8
 #------------------------------------------------------------------------------
 #------ thumb entry to tbf1's .iplt entry
 #------------------------------------------------------------------------------
-    910c:      4778            bx      pc
-    910e:      46c0            nop                     ; \(mov r8, r8\)
+    9048:      4778            bx      pc
+    904a:      46c0            nop                     ; \(mov r8, r8\)
 #------------------------------------------------------------------------------
 #------ tbf1's .iplt entry
 #------------------------------------------------------------------------------
-    9110:      e28fc600        add     ip, pc, #0, 12
-    9114:      e28cca07        add     ip, ip, #28672  ; 0x7000
-    9118:      e5bcff38        ldr     pc, \[ip, #3896\]!      ; 0xf38
+    904c:      e28fc600        add     ip, pc, #0, 12
+    9050:      e28cca07        add     ip, ip, #28672  ; 0x7000
+    9054:      e5bcffcc        ldr     pc, \[ip, #4044\]!      ; 0xfcc
 #------------------------------------------------------------------------------
 #------ thumb entry to atf3's .iplt entry
 #------------------------------------------------------------------------------
-    911c:      4778            bx      pc
-    911e:      46c0            nop                     ; \(mov r8, r8\)
+    9058:      4778            bx      pc
+    905a:      46c0            nop                     ; \(mov r8, r8\)
 #------------------------------------------------------------------------------
 #------ atf3's .iplt entry
 #------------------------------------------------------------------------------
-    9120:      e28fc600        add     ip, pc, #0, 12
-    9124:      e28cca07        add     ip, ip, #28672  ; 0x7000
-    9128:      e5bcff2c        ldr     pc, \[ip, #3884\]!      ; 0xf2c
+    905c:      e28fc600        add     ip, pc, #0, 12
+    9060:      e28cca07        add     ip, ip, #28672  ; 0x7000
+    9064:      e5bcffc0        ldr     pc, \[ip, #4032\]!      ; 0xfc0
 #------------------------------------------------------------------------------
 #------ thumb entry to abf3's .iplt entry
 #------------------------------------------------------------------------------
-    912c:      4778            bx      pc
-    912e:      46c0            nop                     ; \(mov r8, r8\)
+    9068:      4778            bx      pc
+    906a:      46c0            nop                     ; \(mov r8, r8\)
 #------------------------------------------------------------------------------
 #------ abf3's .iplt entry
 #------------------------------------------------------------------------------
-    9130:      e28fc600        add     ip, pc, #0, 12
-    9134:      e28cca07        add     ip, ip, #28672  ; 0x7000
-    9138:      e5bcff20        ldr     pc, \[ip, #3872\]!      ; 0xf20
+    906c:      e28fc600        add     ip, pc, #0, 12
+    9070:      e28cca07        add     ip, ip, #28672  ; 0x7000
+    9074:      e5bcffb4        ldr     pc, \[ip, #4020\]!      ; 0xfb4
 #------------------------------------------------------------------------------
 #------ thumb entry to ttf3's .iplt entry
 #------------------------------------------------------------------------------
-    913c:      4778            bx      pc
-    913e:      46c0            nop                     ; \(mov r8, r8\)
+    9078:      4778            bx      pc
+    907a:      46c0            nop                     ; \(mov r8, r8\)
 #------------------------------------------------------------------------------
 #------ ttf3's .iplt entry
 #------------------------------------------------------------------------------
-    9140:      e28fc600        add     ip, pc, #0, 12
-    9144:      e28cca07        add     ip, ip, #28672  ; 0x7000
-    9148:      e5bcff14        ldr     pc, \[ip, #3860\]!      ; 0xf14
+    907c:      e28fc600        add     ip, pc, #0, 12
+    9080:      e28cca07        add     ip, ip, #28672  ; 0x7000
+    9084:      e5bcffa8        ldr     pc, \[ip, #4008\]!      ; 0xfa8
 #------------------------------------------------------------------------------
 #------ thumb entry to tbf3's .iplt entry
 #------------------------------------------------------------------------------
-    914c:      4778            bx      pc
-    914e:      46c0            nop                     ; \(mov r8, r8\)
+    9088:      4778            bx      pc
+    908a:      46c0            nop                     ; \(mov r8, r8\)
 #------------------------------------------------------------------------------
 #------ tbf3's .iplt entry
 #------------------------------------------------------------------------------
-    9150:      e28fc600        add     ip, pc, #0, 12
-    9154:      e28cca07        add     ip, ip, #28672  ; 0x7000
-    9158:      e5bcff08        ldr     pc, \[ip, #3848\]!      ; 0xf08
+    908c:      e28fc600        add     ip, pc, #0, 12
+    9090:      e28cca07        add     ip, ip, #28672  ; 0x7000
+    9094:      e5bcff9c        ldr     pc, \[ip, #3996\]!      ; 0xf9c
 #------------------------------------------------------------------------------
 #------ taf3's .iplt entry
 #------------------------------------------------------------------------------
-    915c:      e28fc600        add     ip, pc, #0, 12
-    9160:      e28cca07        add     ip, ip, #28672  ; 0x7000
-    9164:      e5bcff00        ldr     pc, \[ip, #3840\]!      ; 0xf00
+    9098:      e28fc600        add     ip, pc, #0, 12
+    909c:      e28cca07        add     ip, ip, #28672  ; 0x7000
+    90a0:      e5bcff94        ldr     pc, \[ip, #3988\]!      ; 0xf94
 #------------------------------------------------------------------------------
 #------ aaf3's .iplt entry
 #------------------------------------------------------------------------------
-    9168:      e28fc600        add     ip, pc, #0, 12
-    916c:      e28cca07        add     ip, ip, #28672  ; 0x7000
-    9170:      e5bcfef8        ldr     pc, \[ip, #3832\]!      ; 0xef8
+    90a4:      e28fc600        add     ip, pc, #0, 12
+    90a8:      e28cca07        add     ip, ip, #28672  ; 0x7000
+    90ac:      e5bcff8c        ldr     pc, \[ip, #3980\]!      ; 0xf8c
 
 Disassembly of section \.text:
 
@@ -303,727 +167,375 @@ Disassembly of section \.text:
 #------------------------------------------------------------------------------
 #------ .got offset for foo
 #------------------------------------------------------------------------------
-    a03c:      00000070        \.word  0x00000070
+    a03c:      00000040        \.word  0x00000040
 #------------------------------------------------------------------------------
 #------ PC-relative offset of .got entry for foo
 #------------------------------------------------------------------------------
-    a040:      0000702c        \.word  0x0000702c
+    a040:      00006ffc        \.word  0x00006ffc
 #------------------------------------------------------------------------------
 #------ aaf1's .iplt entry
 #------------------------------------------------------------------------------
-    a044:      ebfffc1e        bl      90c4 <abf2@plt\+0x10>
+    a044:      ebfffbed        bl      9000 <aaf1-0x1000>
 #------------------------------------------------------------------------------
 #------ aaf1's .iplt entry
 #------------------------------------------------------------------------------
-    a048:      eafffc1d        b       90c4 <abf2@plt\+0x10>
+    a048:      eafffbec        b       9000 <aaf1-0x1000>
 #------------------------------------------------------------------------------
 #------ aaf1's .iplt entry
 #------------------------------------------------------------------------------
-    a04c:      0afffc1c        beq     90c4 <abf2@plt\+0x10>
+    a04c:      0afffbeb        beq     9000 <aaf1-0x1000>
     a050:      e59f4000        ldr     r4, \[pc\]      ; a058 <arm\+0x30>
     a054:      e59f4000        ldr     r4, \[pc\]      ; a05c <arm\+0x34>
 #------------------------------------------------------------------------------
 #------ GP-relative offset of aaf1's .igot.plt entry
 #------------------------------------------------------------------------------
-    a058:      0000003c        \.word  0x0000003c
+    a058:      0000000c        \.word  0x0000000c
 #------------------------------------------------------------------------------
 #------ PC-relative offset of aaf1's .igot.plt entry
 #------------------------------------------------------------------------------
-    a05c:      00006fe0        \.word  0x00006fe0
+    a05c:      00006fb0        \.word  0x00006fb0
 #------------------------------------------------------------------------------
 #------ taf1's .iplt entry
 #------------------------------------------------------------------------------
-    a060:      ebfffc22        bl      90f0 <abf2@plt\+0x3c>
+    a060:      ebfffbf1        bl      902c <aaf1-0xfd4>
 #------------------------------------------------------------------------------
 #------ taf1's .iplt entry
 #------------------------------------------------------------------------------
-    a064:      eafffc21        b       90f0 <abf2@plt\+0x3c>
+    a064:      eafffbf0        b       902c <aaf1-0xfd4>
 #------------------------------------------------------------------------------
 #------ taf1's .iplt entry
 #------------------------------------------------------------------------------
-    a068:      0afffc20        beq     90f0 <abf2@plt\+0x3c>
+    a068:      0afffbef        beq     902c <aaf1-0xfd4>
     a06c:      e59f4000        ldr     r4, \[pc\]      ; a074 <arm\+0x4c>
     a070:      e59f4000        ldr     r4, \[pc\]      ; a078 <arm\+0x50>
 #------------------------------------------------------------------------------
 #------ GP-relative offset of taf1's .igot.plt entry
 #------------------------------------------------------------------------------
-    a074:      00000048        \.word  0x00000048
+    a074:      00000018        \.word  0x00000018
 #------------------------------------------------------------------------------
 #------ PC-relative offset of taf1's .igot.plt entry
 #------------------------------------------------------------------------------
-    a078:      00006fd0        \.word  0x00006fd0
+    a078:      00006fa0        \.word  0x00006fa0
 #------------------------------------------------------------------------------
 #------ abf1's .iplt entry
 #------------------------------------------------------------------------------
-    a07c:      ebfffc18        bl      90e4 <abf2@plt\+0x30>
+    a07c:      ebfffbe7        bl      9020 <aaf1-0xfe0>
 #------------------------------------------------------------------------------
 #------ abf1's .iplt entry
 #------------------------------------------------------------------------------
-    a080:      eafffc17        b       90e4 <abf2@plt\+0x30>
+    a080:      eafffbe6        b       9020 <aaf1-0xfe0>
 #------------------------------------------------------------------------------
 #------ abf1's .iplt entry
 #------------------------------------------------------------------------------
-    a084:      0afffc16        beq     90e4 <abf2@plt\+0x30>
+    a084:      0afffbe5        beq     9020 <aaf1-0xfe0>
     a088:      e59f4000        ldr     r4, \[pc\]      ; a090 <arm\+0x68>
     a08c:      e59f4000        ldr     r4, \[pc\]      ; a094 <arm\+0x6c>
 #------------------------------------------------------------------------------
 #------ GP-relative offset of abf1's .igot.plt entry
 #------------------------------------------------------------------------------
-    a090:      00000044        \.word  0x00000044
+    a090:      00000014        \.word  0x00000014
 #------------------------------------------------------------------------------
 #------ PC-relative offset of abf1's .igot.plt entry
 #------------------------------------------------------------------------------
-    a094:      00006fb0        \.word  0x00006fb0
+    a094:      00006f80        \.word  0x00006f80
 #------------------------------------------------------------------------------
 #------ tbf1's .iplt entry
 #------------------------------------------------------------------------------
-    a098:      ebfffc1c        bl      9110 <abf2@plt\+0x5c>
+    a098:      ebfffbeb        bl      904c <aaf1-0xfb4>
 #------------------------------------------------------------------------------
 #------ tbf1's .iplt entry
 #------------------------------------------------------------------------------
-    a09c:      eafffc1b        b       9110 <abf2@plt\+0x5c>
+    a09c:      eafffbea        b       904c <aaf1-0xfb4>
 #------------------------------------------------------------------------------
 #------ tbf1's .iplt entry
 #------------------------------------------------------------------------------
-    a0a0:      0afffc1a        beq     9110 <abf2@plt\+0x5c>
+    a0a0:      0afffbe9        beq     904c <aaf1-0xfb4>
     a0a4:      e59f4000        ldr     r4, \[pc\]      ; a0ac <arm\+0x84>
     a0a8:      e59f4000        ldr     r4, \[pc\]      ; a0b0 <arm\+0x88>
 #------------------------------------------------------------------------------
 #------ GP-relative offset of tbf1's .igot.plt entry
 #------------------------------------------------------------------------------
-    a0ac:      00000050        \.word  0x00000050
+    a0ac:      00000020        \.word  0x00000020
 #------------------------------------------------------------------------------
 #------ PC-relative offset of tbf1's .igot.plt entry
 #------------------------------------------------------------------------------
-    a0b0:      00006fa0        \.word  0x00006fa0
+    a0b0:      00006f70        \.word  0x00006f70
 #------------------------------------------------------------------------------
-#------ aaf2's .plt entry
+#------ aaf3's .plt entry
 #------------------------------------------------------------------------------
-    a0b4:      ebfffbe8        bl      905c <aaf2@plt>
+    a0b4:      ebfffbfa        bl      90a4 <aaf1-0xf5c>
 #------------------------------------------------------------------------------
-#------ aaf2's .plt entry
+#------ aaf3's .plt entry
 #------------------------------------------------------------------------------
-    a0b8:      eafffbe7        b       905c <aaf2@plt>
+    a0b8:      eafffbf9        b       90a4 <aaf1-0xf5c>
 #------------------------------------------------------------------------------
-#------ aaf2's .plt entry
+#------ aaf3's .plt entry
 #------------------------------------------------------------------------------
-    a0bc:      0afffbe6        beq     905c <aaf2@plt>
+    a0bc:      0afffbf8        beq     90a4 <aaf1-0xf5c>
     a0c0:      e59f4000        ldr     r4, \[pc\]      ; a0c8 <arm\+0xa0>
     a0c4:      e59f4000        ldr     r4, \[pc\]      ; a0cc <arm\+0xa4>
 #------------------------------------------------------------------------------
-#------ .got offset for aaf2
-#------------------------------------------------------------------------------
-    a0c8:      00000088        \.word  0x00000088
-#------------------------------------------------------------------------------
-#------ PC-relative offset of .got entry for aaf2
-#------------------------------------------------------------------------------
-    a0cc:      00006fbc        \.word  0x00006fbc
-#------------------------------------------------------------------------------
-#------ taf2's .plt entry
-#------------------------------------------------------------------------------
-    a0d0:      ebfffbde        bl      9050 <taf2@plt>
-#------------------------------------------------------------------------------
-#------ taf2's .plt entry
-#------------------------------------------------------------------------------
-    a0d4:      eafffbdd        b       9050 <taf2@plt>
-#------------------------------------------------------------------------------
-#------ taf2's .plt entry
-#------------------------------------------------------------------------------
-    a0d8:      0afffbdc        beq     9050 <taf2@plt>
-    a0dc:      e59f4000        ldr     r4, \[pc\]      ; a0e4 <arm\+0xbc>
-    a0e0:      e59f4000        ldr     r4, \[pc\]      ; a0e8 <arm\+0xc0>
-#------------------------------------------------------------------------------
-#------ .got offset for taf2
-#------------------------------------------------------------------------------
-    a0e4:      00000084        \.word  0x00000084
-#------------------------------------------------------------------------------
-#------ PC-relative offset of .got entry for taf2
-#------------------------------------------------------------------------------
-    a0e8:      00006f9c        \.word  0x00006f9c
-#------------------------------------------------------------------------------
-#------ abf2's .plt entry
-#------------------------------------------------------------------------------
-    a0ec:      ebfffbf1        bl      90b8 <abf2@plt\+0x4>
-#------------------------------------------------------------------------------
-#------ abf2's .plt entry
-#------------------------------------------------------------------------------
-    a0f0:      eafffbf0        b       90b8 <abf2@plt\+0x4>
-#------------------------------------------------------------------------------
-#------ abf2's .plt entry
-#------------------------------------------------------------------------------
-    a0f4:      0afffbef        beq     90b8 <abf2@plt\+0x4>
-    a0f8:      e59f4000        ldr     r4, \[pc\]      ; a100 <arm\+0xd8>
-    a0fc:      e59f4000        ldr     r4, \[pc\]      ; a104 <arm\+0xdc>
-#------------------------------------------------------------------------------
-#------ .got offset for abf2
-#------------------------------------------------------------------------------
-    a100:      000000a0        \.word  0x000000a0
-#------------------------------------------------------------------------------
-#------ PC-relative offset of .got entry for abf2
-#------------------------------------------------------------------------------
-    a104:      00006f9c        \.word  0x00006f9c
-#------------------------------------------------------------------------------
-#------ tbf2's .plt entry
-#------------------------------------------------------------------------------
-    a108:      ebfffbcd        bl      9044 <tbf2@plt\+0x4>
-#------------------------------------------------------------------------------
-#------ tbf2's .plt entry
-#------------------------------------------------------------------------------
-    a10c:      eafffbcc        b       9044 <tbf2@plt\+0x4>
-#------------------------------------------------------------------------------
-#------ tbf2's .plt entry
-#------------------------------------------------------------------------------
-    a110:      0afffbcb        beq     9044 <tbf2@plt\+0x4>
-    a114:      e59f4000        ldr     r4, \[pc\]      ; a11c <arm\+0xf4>
-    a118:      e59f4000        ldr     r4, \[pc\]      ; a120 <arm\+0xf8>
-#------------------------------------------------------------------------------
-#------ .got offset for tbf2
-#------------------------------------------------------------------------------
-    a11c:      00000080        \.word  0x00000080
-#------------------------------------------------------------------------------
-#------ PC-relative offset of .got entry for tbf2
-#------------------------------------------------------------------------------
-    a120:      00006f60        \.word  0x00006f60
-#------------------------------------------------------------------------------
-#------ aaf3's .iplt entry
-#------------------------------------------------------------------------------
-    a124:      ebfffc0f        bl      9168 <abf2@plt\+0xb4>
-#------------------------------------------------------------------------------
-#------ aaf3's .iplt entry
-#------------------------------------------------------------------------------
-    a128:      eafffc0e        b       9168 <abf2@plt\+0xb4>
-#------------------------------------------------------------------------------
-#------ aaf3's .iplt entry
-#------------------------------------------------------------------------------
-    a12c:      0afffc0d        beq     9168 <abf2@plt\+0xb4>
-    a130:      e59f4000        ldr     r4, \[pc\]      ; a138 <arm\+0x110>
-    a134:      e59f4000        ldr     r4, \[pc\]      ; a13c <arm\+0x114>
-#------------------------------------------------------------------------------
 #------ GP-relative offset of aaf3's .igot.plt entry
 #------------------------------------------------------------------------------
-    a138:      00000068        \.word  0x00000068
+    a0c8:      00000038        \.word  0x00000038
 #------------------------------------------------------------------------------
 #------ PC-relative offset of aaf3's .igot.plt entry
 #------------------------------------------------------------------------------
-    a13c:      00006f2c        \.word  0x00006f2c
+    a0cc:      00006f6c        \.word  0x00006f6c
 #------------------------------------------------------------------------------
 #------ taf3's .iplt entry
 #------------------------------------------------------------------------------
-    a140:      ebfffc05        bl      915c <abf2@plt\+0xa8>
+    a0d0:      ebfffbf0        bl      9098 <aaf1-0xf68>
 #------------------------------------------------------------------------------
 #------ taf3's .iplt entry
 #------------------------------------------------------------------------------
-    a144:      eafffc04        b       915c <abf2@plt\+0xa8>
+    a0d4:      eafffbef        b       9098 <aaf1-0xf68>
 #------------------------------------------------------------------------------
 #------ taf3's .iplt entry
 #------------------------------------------------------------------------------
-    a148:      0afffc03        beq     915c <abf2@plt\+0xa8>
-    a14c:      e59f4000        ldr     r4, \[pc\]      ; a154 <arm\+0x12c>
-    a150:      e59f4000        ldr     r4, \[pc\]      ; a158 <arm\+0x130>
+    a0d8:      0afffbee        beq     9098 <aaf1-0xf68>
+    a0dc:      e59f4000        ldr     r4, \[pc\]      ; a0e4 <arm\+0xbc>
+    a0e0:      e59f4000        ldr     r4, \[pc\]      ; a0e8 <arm\+0xc0>
 #------------------------------------------------------------------------------
 #------ GP-relative offset of taf3's .igot.plt entry
 #------------------------------------------------------------------------------
-    a154:      00000064        \.word  0x00000064
+    a0e4:      00000034        \.word  0x00000034
 #------------------------------------------------------------------------------
 #------ PC-relative offset of taf3's .igot.plt entry
 #------------------------------------------------------------------------------
-    a158:      00006f0c        \.word  0x00006f0c
+    a0e8:      00006f4c        \.word  0x00006f4c
 #------------------------------------------------------------------------------
 #------ abf3's .iplt entry
 #------------------------------------------------------------------------------
-    a15c:      ebfffbf3        bl      9130 <abf2@plt\+0x7c>
+    a0ec:      ebfffbde        bl      906c <aaf1-0xf94>
 #------------------------------------------------------------------------------
 #------ abf3's .iplt entry
 #------------------------------------------------------------------------------
-    a160:      eafffbf2        b       9130 <abf2@plt\+0x7c>
+    a0f0:      eafffbdd        b       906c <aaf1-0xf94>
 #------------------------------------------------------------------------------
 #------ abf3's .iplt entry
 #------------------------------------------------------------------------------
-    a164:      0afffbf1        beq     9130 <abf2@plt\+0x7c>
-    a168:      e59f4000        ldr     r4, \[pc\]      ; a170 <arm\+0x148>
-    a16c:      e59f4000        ldr     r4, \[pc\]      ; a174 <arm\+0x14c>
+    a0f4:      0afffbdc        beq     906c <aaf1-0xf94>
+    a0f8:      e59f4000        ldr     r4, \[pc\]      ; a100 <arm\+0xd8>
+    a0fc:      e59f4000        ldr     r4, \[pc\]      ; a104 <arm\+0xdc>
 #------------------------------------------------------------------------------
 #------ GP-relative offset of abf3's .igot.plt entry
 #------------------------------------------------------------------------------
-    a170:      00000058        \.word  0x00000058
+    a100:      00000028        \.word  0x00000028
 #------------------------------------------------------------------------------
 #------ PC-relative offset of abf3's .igot.plt entry
 #------------------------------------------------------------------------------
-    a174:      00006ee4        \.word  0x00006ee4
+    a104:      00006f24        \.word  0x00006f24
 #------------------------------------------------------------------------------
 #------ tbf3's .iplt entry
 #------------------------------------------------------------------------------
-    a178:      ebfffbf4        bl      9150 <abf2@plt\+0x9c>
+    a108:      ebfffbdf        bl      908c <aaf1-0xf74>
 #------------------------------------------------------------------------------
 #------ tbf3's .iplt entry
 #------------------------------------------------------------------------------
-    a17c:      eafffbf3        b       9150 <abf2@plt\+0x9c>
+    a10c:      eafffbde        b       908c <aaf1-0xf74>
 #------------------------------------------------------------------------------
 #------ tbf3's .iplt entry
 #------------------------------------------------------------------------------
-    a180:      0afffbf2        beq     9150 <abf2@plt\+0x9c>
-    a184:      e59f4000        ldr     r4, \[pc\]      ; a18c <arm\+0x164>
-    a188:      e59f4000        ldr     r4, \[pc\]      ; a190 <arm\+0x168>
+    a110:      0afffbdd        beq     908c <aaf1-0xf74>
+    a114:      e59f4000        ldr     r4, \[pc\]      ; a11c <arm\+0xf4>
+    a118:      e59f4000        ldr     r4, \[pc\]      ; a120 <arm\+0xf8>
 #------------------------------------------------------------------------------
 #------ GP-relative offset of tbf3's .igot.plt entry
 #------------------------------------------------------------------------------
-    a18c:      00000060        \.word  0x00000060
+    a11c:      00000030        \.word  0x00000030
 #------------------------------------------------------------------------------
 #------ PC-relative offset of tbf3's .igot.plt entry
 #------------------------------------------------------------------------------
-    a190:      00006ed0        \.word  0x00006ed0
-#------------------------------------------------------------------------------
-#------ aaf4's .plt entry
-#------------------------------------------------------------------------------
-    a194:      ebfffba2        bl      9024 <aaf4@plt>
-#------------------------------------------------------------------------------
-#------ aaf4's .plt entry
-#------------------------------------------------------------------------------
-    a198:      eafffba1        b       9024 <aaf4@plt>
-#------------------------------------------------------------------------------
-#------ aaf4's .plt entry
-#------------------------------------------------------------------------------
-    a19c:      0afffba0        beq     9024 <aaf4@plt>
-    a1a0:      e59f4000        ldr     r4, \[pc\]      ; a1a8 <arm\+0x180>
-    a1a4:      e59f4000        ldr     r4, \[pc\]      ; a1ac <arm\+0x184>
-#------------------------------------------------------------------------------
-#------ .got offset for aaf4
-#------------------------------------------------------------------------------
-    a1a8:      00000078        \.word  0x00000078
-#------------------------------------------------------------------------------
-#------ PC-relative offset of .got entry for aaf4
-#------------------------------------------------------------------------------
-    a1ac:      00006ecc        \.word  0x00006ecc
-#------------------------------------------------------------------------------
-#------ taf4's .plt entry
-#------------------------------------------------------------------------------
-    a1b0:      ebfffbbc        bl      90a8 <taf4@plt>
-#------------------------------------------------------------------------------
-#------ taf4's .plt entry
-#------------------------------------------------------------------------------
-    a1b4:      eafffbbb        b       90a8 <taf4@plt>
-#------------------------------------------------------------------------------
-#------ taf4's .plt entry
-#------------------------------------------------------------------------------
-    a1b8:      0afffbba        beq     90a8 <taf4@plt>
-    a1bc:      e59f4000        ldr     r4, \[pc\]      ; a1c4 <arm\+0x19c>
-    a1c0:      e59f4000        ldr     r4, \[pc\]      ; a1c8 <arm\+0x1a0>
-#------------------------------------------------------------------------------
-#------ .got offset for taf4
-#------------------------------------------------------------------------------
-    a1c4:      0000009c        \.word  0x0000009c
-#------------------------------------------------------------------------------
-#------ PC-relative offset of .got entry for taf4
-#------------------------------------------------------------------------------
-    a1c8:      00006ed4        \.word  0x00006ed4
-#------------------------------------------------------------------------------
-#------ abf4's .plt entry
-#------------------------------------------------------------------------------
-    a1cc:      ebfffba6        bl      906c <abf4@plt\+0x4>
-#------------------------------------------------------------------------------
-#------ abf4's .plt entry
-#------------------------------------------------------------------------------
-    a1d0:      eafffba5        b       906c <abf4@plt\+0x4>
-#------------------------------------------------------------------------------
-#------ abf4's .plt entry
-#------------------------------------------------------------------------------
-    a1d4:      0afffba4        beq     906c <abf4@plt\+0x4>
-    a1d8:      e59f4000        ldr     r4, \[pc\]      ; a1e0 <arm\+0x1b8>
-    a1dc:      e59f4000        ldr     r4, \[pc\]      ; a1e4 <arm\+0x1bc>
-#------------------------------------------------------------------------------
-#------ .got offset for abf4
-#------------------------------------------------------------------------------
-    a1e0:      0000008c        \.word  0x0000008c
-#------------------------------------------------------------------------------
-#------ PC-relative offset of .got entry for abf4
-#------------------------------------------------------------------------------
-    a1e4:      00006ea8        \.word  0x00006ea8
-#------------------------------------------------------------------------------
-#------ tbf4's .plt entry
-#------------------------------------------------------------------------------
-    a1e8:      ebfffba3        bl      907c <tbf4@plt\+0x4>
-#------------------------------------------------------------------------------
-#------ tbf4's .plt entry
-#------------------------------------------------------------------------------
-    a1ec:      eafffba2        b       907c <tbf4@plt\+0x4>
-#------------------------------------------------------------------------------
-#------ tbf4's .plt entry
-#------------------------------------------------------------------------------
-    a1f0:      0afffba1        beq     907c <tbf4@plt\+0x4>
-    a1f4:      e59f4000        ldr     r4, \[pc\]      ; a1fc <arm\+0x1d4>
-    a1f8:      e59f4000        ldr     r4, \[pc\]      ; a200 <arm\+0x1d8>
-#------------------------------------------------------------------------------
-#------ .got offset for tbf4
-#------------------------------------------------------------------------------
-    a1fc:      00000090        \.word  0x00000090
-#------------------------------------------------------------------------------
-#------ PC-relative offset of .got entry for tbf4
-#------------------------------------------------------------------------------
-    a200:      00006e90        \.word  0x00006e90
+    a120:      00006f10        \.word  0x00006f10
 
-0000a204 <_thumb>:
-    a204:      f005 fefc       bl      10000 <foo>
-    a208:      f005 befa       b\.w    10000 <foo>
-    a20c:      f005 86f8       beq\.w  10000 <foo>
-    a210:      4c00            ldr     r4, \[pc, #0\]  ; \(a214 <_thumb\+0x10>\)
-    a212:      4c01            ldr     r4, \[pc, #4\]  ; \(a218 <_thumb\+0x14>\)
+0000a124 <_thumb>:
+    a124:      f005 ff6c       bl      10000 <foo>
+    a128:      f005 bf6a       b\.w    10000 <foo>
+    a12c:      f005 8768       beq\.w  10000 <foo>
+    a130:      4c00            ldr     r4, \[pc, #0\]  ; \(a134 <_thumb\+0x10>\)
+    a132:      4c01            ldr     r4, \[pc, #4\]  ; \(a138 <_thumb\+0x14>\)
 #------------------------------------------------------------------------------
 #------ .got offset for foo
 #------------------------------------------------------------------------------
-    a214:      00000070        \.word  0x00000070
+    a134:      00000040        \.word  0x00000040
 #------------------------------------------------------------------------------
 #------ PC-relative offset of .got entry for foo
 #------------------------------------------------------------------------------
-    a218:      00006e54        \.word  0x00006e54
+    a138:      00006f04        \.word  0x00006f04
 #------------------------------------------------------------------------------
 #------ atf1's .iplt entry
 #------------------------------------------------------------------------------
-    a21c:      f7fe ef5a       blx     90d4 <abf2@plt\+0x20>
+    a13c:      f7fe ef68       blx     9010 <aaf1-0xff0>
 #------------------------------------------------------------------------------
 #------ thumb entry to atf1's .iplt entry
 #------------------------------------------------------------------------------
-    a220:      f7fe bf56       b\.w    90d0 <abf2@plt\+0x1c>
+    a140:      f7fe bf64       b\.w    900c <aaf1-0xff4>
 #------------------------------------------------------------------------------
 #------ thumb entry to atf1's .iplt entry
 #------------------------------------------------------------------------------
-    a224:      f43e af54       beq\.w  90d0 <abf2@plt\+0x1c>
-    a228:      4c00            ldr     r4, \[pc, #0\]  ; \(a22c <_thumb\+0x28>\)
-    a22a:      4c01            ldr     r4, \[pc, #4\]  ; \(a230 <_thumb\+0x2c>\)
+    a144:      f43e af62       beq\.w  900c <aaf1-0xff4>
+    a148:      4c00            ldr     r4, \[pc, #0\]  ; \(a14c <_thumb\+0x28>\)
+    a14a:      4c01            ldr     r4, \[pc, #4\]  ; \(a150 <_thumb\+0x2c>\)
 #------------------------------------------------------------------------------
 #------ GP-relative offset of atf1's .igot.plt entry
 #------------------------------------------------------------------------------
-    a22c:      00000040        \.word  0x00000040
+    a14c:      00000010        \.word  0x00000010
 #------------------------------------------------------------------------------
 #------ PC-relative offset of atf1's .igot.plt entry
 #------------------------------------------------------------------------------
-    a230:      00006e10        \.word  0x00006e10
+    a150:      00006ec0        \.word  0x00006ec0
 #------------------------------------------------------------------------------
 #------ ttf1's .iplt entry
 #------------------------------------------------------------------------------
-    a234:      f7fe ef64       blx     9100 <abf2@plt\+0x4c>
+    a154:      f7fe ef72       blx     903c <aaf1-0xfc4>
 #------------------------------------------------------------------------------
 #------ thumb entry to ttf1's .iplt entry
 #------------------------------------------------------------------------------
-    a238:      f7fe bf60       b\.w    90fc <abf2@plt\+0x48>
+    a158:      f7fe bf6e       b\.w    9038 <aaf1-0xfc8>
 #------------------------------------------------------------------------------
 #------ thumb entry to ttf1's .iplt entry
 #------------------------------------------------------------------------------
-    a23c:      f43e af5e       beq\.w  90fc <abf2@plt\+0x48>
-    a240:      4c00            ldr     r4, \[pc, #0\]  ; \(a244 <_thumb\+0x40>\)
-    a242:      4c01            ldr     r4, \[pc, #4\]  ; \(a248 <_thumb\+0x44>\)
+    a15c:      f43e af6c       beq\.w  9038 <aaf1-0xfc8>
+    a160:      4c00            ldr     r4, \[pc, #0\]  ; \(a164 <_thumb\+0x40>\)
+    a162:      4c01            ldr     r4, \[pc, #4\]  ; \(a168 <_thumb\+0x44>\)
 #------------------------------------------------------------------------------
 #------ GP-relative offset of ttf1's .igot.plt entry
 #------------------------------------------------------------------------------
-    a244:      0000004c        \.word  0x0000004c
+    a164:      0000001c        \.word  0x0000001c
 #------------------------------------------------------------------------------
 #------ PC-relative offset of ttf1's .igot.plt entry
 #------------------------------------------------------------------------------
-    a248:      00006e04        \.word  0x00006e04
+    a168:      00006eb4        \.word  0x00006eb4
 #------------------------------------------------------------------------------
 #------ abf1's .iplt entry
 #------------------------------------------------------------------------------
-    a24c:      f7fe ef4a       blx     90e4 <abf2@plt\+0x30>
+    a16c:      f7fe ef58       blx     9020 <aaf1-0xfe0>
 #------------------------------------------------------------------------------
 #------ thumb entry to abf1's .iplt entry
 #------------------------------------------------------------------------------
-    a250:      f7fe bf46       b\.w    90e0 <abf2@plt\+0x2c>
+    a170:      f7fe bf54       b\.w    901c <aaf1-0xfe4>
 #------------------------------------------------------------------------------
 #------ thumb entry to abf1's .iplt entry
 #------------------------------------------------------------------------------
-    a254:      f43e af44       beq\.w  90e0 <abf2@plt\+0x2c>
-    a258:      4c00            ldr     r4, \[pc, #0\]  ; \(a25c <_thumb\+0x58>\)
-    a25a:      4c01            ldr     r4, \[pc, #4\]  ; \(a260 <_thumb\+0x5c>\)
+    a174:      f43e af52       beq\.w  901c <aaf1-0xfe4>
+    a178:      4c00            ldr     r4, \[pc, #0\]  ; \(a17c <_thumb\+0x58>\)
+    a17a:      4c01            ldr     r4, \[pc, #4\]  ; \(a180 <_thumb\+0x5c>\)
 #------------------------------------------------------------------------------
 #------ GP-relative offset of abf1's .igot.plt entry
 #------------------------------------------------------------------------------
-    a25c:      00000044        \.word  0x00000044
+    a17c:      00000014        \.word  0x00000014
 #------------------------------------------------------------------------------
 #------ PC-relative offset of abf1's .igot.plt entry
 #------------------------------------------------------------------------------
-    a260:      00006de4        \.word  0x00006de4
+    a180:      00006e94        \.word  0x00006e94
 #------------------------------------------------------------------------------
 #------ tbf1's .iplt entry
 #------------------------------------------------------------------------------
-    a264:      f7fe ef54       blx     9110 <abf2@plt\+0x5c>
+    a184:      f7fe ef62       blx     904c <aaf1-0xfb4>
 #------------------------------------------------------------------------------
 #------ thumb entry to tbf1's .iplt entry
 #------------------------------------------------------------------------------
-    a268:      f7fe bf50       b\.w    910c <abf2@plt\+0x58>
+    a188:      f7fe bf5e       b\.w    9048 <aaf1-0xfb8>
 #------------------------------------------------------------------------------
 #------ thumb entry to tbf1's .iplt entry
 #------------------------------------------------------------------------------
-    a26c:      f43e af4e       beq\.w  910c <abf2@plt\+0x58>
-    a270:      4c00            ldr     r4, \[pc, #0\]  ; \(a274 <_thumb\+0x70>\)
-    a272:      4c01            ldr     r4, \[pc, #4\]  ; \(a278 <_thumb\+0x74>\)
+    a18c:      f43e af5c       beq\.w  9048 <aaf1-0xfb8>
+    a190:      4c00            ldr     r4, \[pc, #0\]  ; \(a194 <_thumb\+0x70>\)
+    a192:      4c01            ldr     r4, \[pc, #4\]  ; \(a198 <_thumb\+0x74>\)
 #------------------------------------------------------------------------------
 #------ GP-relative offset of tbf1's .igot.plt entry
 #------------------------------------------------------------------------------
-    a274:      00000050        \.word  0x00000050
+    a194:      00000020        \.word  0x00000020
 #------------------------------------------------------------------------------
 #------ PC-relative offset of tbf1's .igot.plt entry
 #------------------------------------------------------------------------------
-    a278:      00006dd8        \.word  0x00006dd8
-#------------------------------------------------------------------------------
-#------ atf2's .plt entry
-#------------------------------------------------------------------------------
-    a27c:      f7fe eecc       blx     9018 <atf2@plt\+0x4>
-#------------------------------------------------------------------------------
-#------ thumb entry to atf2's .plt entry
-#------------------------------------------------------------------------------
-    a280:      f7fe bec8       b\.w    9014 <atf2@plt>
-#------------------------------------------------------------------------------
-#------ thumb entry to atf2's .plt entry
-#------------------------------------------------------------------------------
-    a284:      f43e aec6       beq\.w  9014 <atf2@plt>
-    a288:      4c00            ldr     r4, \[pc, #0\]  ; \(a28c <_thumb\+0x88>\)
-    a28a:      4c01            ldr     r4, \[pc, #4\]  ; \(a290 <_thumb\+0x8c>\)
-#------------------------------------------------------------------------------
-#------ .got offset for atf2
-#------------------------------------------------------------------------------
-    a28c:      00000074        \.word  0x00000074
-#------------------------------------------------------------------------------
-#------ PC-relative offset of .got entry for atf2
-#------------------------------------------------------------------------------
-    a290:      00006de4        \.word  0x00006de4
-#------------------------------------------------------------------------------
-#------ ttf2's .plt entry
-#------------------------------------------------------------------------------
-    a294:      f7fe eece       blx     9034 <ttf2@plt\+0x4>
-#------------------------------------------------------------------------------
-#------ thumb entry to ttf2's .plt entry
-#------------------------------------------------------------------------------
-    a298:      f7fe beca       b\.w    9030 <ttf2@plt>
-#------------------------------------------------------------------------------
-#------ thumb entry to ttf2's .plt entry
-#------------------------------------------------------------------------------
-    a29c:      f43e aec8       beq\.w  9030 <ttf2@plt>
-    a2a0:      4c00            ldr     r4, \[pc, #0\]  ; \(a2a4 <_thumb\+0xa0>\)
-    a2a2:      4c01            ldr     r4, \[pc, #4\]  ; \(a2a8 <_thumb\+0xa4>\)
-#------------------------------------------------------------------------------
-#------ .got offset for ttf2
-#------------------------------------------------------------------------------
-    a2a4:      0000007c        \.word  0x0000007c
-#------------------------------------------------------------------------------
-#------ PC-relative offset of .got entry for ttf2
-#------------------------------------------------------------------------------
-    a2a8:      00006dd4        \.word  0x00006dd4
-#------------------------------------------------------------------------------
-#------ abf2's .plt entry
-#------------------------------------------------------------------------------
-    a2ac:      f7fe ef04       blx     90b8 <abf2@plt\+0x4>
-#------------------------------------------------------------------------------
-#------ thumb entry to abf2's .plt entry
-#------------------------------------------------------------------------------
-    a2b0:      f7fe bf00       b\.w    90b4 <abf2@plt>
-#------------------------------------------------------------------------------
-#------ thumb entry to abf2's .plt entry
-#------------------------------------------------------------------------------
-    a2b4:      f43e aefe       beq\.w  90b4 <abf2@plt>
-    a2b8:      4c00            ldr     r4, \[pc, #0\]  ; \(a2bc <_thumb\+0xb8>\)
-    a2ba:      4c01            ldr     r4, \[pc, #4\]  ; \(a2c0 <_thumb\+0xbc>\)
-#------------------------------------------------------------------------------
-#------ .got offset for abf2
-#------------------------------------------------------------------------------
-    a2bc:      000000a0        \.word  0x000000a0
-#------------------------------------------------------------------------------
-#------ PC-relative offset of .got entry for abf2
-#------------------------------------------------------------------------------
-    a2c0:      00006de0        \.word  0x00006de0
-#------------------------------------------------------------------------------
-#------ tbf2's .plt entry
-#------------------------------------------------------------------------------
-    a2c4:      f7fe eebe       blx     9044 <tbf2@plt\+0x4>
-#------------------------------------------------------------------------------
-#------ thumb entry to tbf2's .plt entry
-#------------------------------------------------------------------------------
-    a2c8:      f7fe beba       b\.w    9040 <tbf2@plt>
-#------------------------------------------------------------------------------
-#------ thumb entry to tbf2's .plt entry
-#------------------------------------------------------------------------------
-    a2cc:      f43e aeb8       beq\.w  9040 <tbf2@plt>
-    a2d0:      4c00            ldr     r4, \[pc, #0\]  ; \(a2d4 <_thumb\+0xd0>\)
-    a2d2:      4c01            ldr     r4, \[pc, #4\]  ; \(a2d8 <_thumb\+0xd4>\)
-#------------------------------------------------------------------------------
-#------ .got offset for tbf2
-#------------------------------------------------------------------------------
-    a2d4:      00000080        \.word  0x00000080
-#------------------------------------------------------------------------------
-#------ PC-relative offset of .got entry for tbf2
-#------------------------------------------------------------------------------
-    a2d8:      00006da8        \.word  0x00006da8
+    a198:      00006e88        \.word  0x00006e88
 #------------------------------------------------------------------------------
 #------ atf3's .iplt entry
 #------------------------------------------------------------------------------
-    a2dc:      f7fe ef20       blx     9120 <abf2@plt\+0x6c>
+    a19c:      f7fe ef5e       blx     905c <aaf1-0xfa4>
 #------------------------------------------------------------------------------
 #------ thumb entry to atf3's .iplt entry
 #------------------------------------------------------------------------------
-    a2e0:      f7fe bf1c       b\.w    911c <abf2@plt\+0x68>
+    a1a0:      f7fe bf5a       b\.w    9058 <aaf1-0xfa8>
 #------------------------------------------------------------------------------
 #------ thumb entry to atf3's .iplt entry
 #------------------------------------------------------------------------------
-    a2e4:      f43e af1a       beq\.w  911c <abf2@plt\+0x68>
-    a2e8:      4c00            ldr     r4, \[pc, #0\]  ; \(a2ec <_thumb\+0xe8>\)
-    a2ea:      4c01            ldr     r4, \[pc, #4\]  ; \(a2f0 <_thumb\+0xec>\)
+    a1a4:      f43e af58       beq\.w  9058 <aaf1-0xfa8>
+    a1a8:      4c00            ldr     r4, \[pc, #0\]  ; \(a1ac <_thumb\+0x88>\)
+    a1aa:      4c01            ldr     r4, \[pc, #4\]  ; \(a1b0 <_thumb\+0x8c>\)
 #------------------------------------------------------------------------------
 #------ GP-relative offset of atf3's .igot.plt entry
 #------------------------------------------------------------------------------
-    a2ec:      00000054        \.word  0x00000054
+    a1ac:      00000024        \.word  0x00000024
 #------------------------------------------------------------------------------
 #------ PC-relative offset of atf3's .igot.plt entry
 #------------------------------------------------------------------------------
-    a2f0:      00006d64        \.word  0x00006d64
+    a1b0:      00006e74        \.word  0x00006e74
 #------------------------------------------------------------------------------
 #------ ttf3's .iplt entry
 #------------------------------------------------------------------------------
-    a2f4:      f7fe ef24       blx     9140 <abf2@plt\+0x8c>
+    a1b4:      f7fe ef62       blx     907c <aaf1-0xf84>
 #------------------------------------------------------------------------------
 #------ thumb entry to ttf3's .iplt entry
 #------------------------------------------------------------------------------
-    a2f8:      f7fe bf20       b\.w    913c <abf2@plt\+0x88>
+    a1b8:      f7fe bf5e       b\.w    9078 <aaf1-0xf88>
 #------------------------------------------------------------------------------
 #------ thumb entry to ttf3's .iplt entry
 #------------------------------------------------------------------------------
-    a2fc:      f43e af1e       beq\.w  913c <abf2@plt\+0x88>
-    a300:      4c00            ldr     r4, \[pc, #0\]  ; \(a304 <_thumb\+0x100>\)
-    a302:      4c01            ldr     r4, \[pc, #4\]  ; \(a308 <_thumb\+0x104>\)
+    a1bc:      f43e af5c       beq\.w  9078 <aaf1-0xf88>
+    a1c0:      4c00            ldr     r4, \[pc, #0\]  ; \(a1c4 <_thumb\+0xa0>\)
+    a1c2:      4c01            ldr     r4, \[pc, #4\]  ; \(a1c8 <_thumb\+0xa4>\)
 #------------------------------------------------------------------------------
 #------ GP-relative offset of ttf3's .igot.plt entry
 #------------------------------------------------------------------------------
-    a304:      0000005c        \.word  0x0000005c
+    a1c4:      0000002c        \.word  0x0000002c
 #------------------------------------------------------------------------------
 #------ PC-relative offset of ttf3's .igot.plt entry
 #------------------------------------------------------------------------------
-    a308:      00006d54        \.word  0x00006d54
+    a1c8:      00006e64        \.word  0x00006e64
 #------------------------------------------------------------------------------
 #------ abf3's .iplt entry
 #------------------------------------------------------------------------------
-    a30c:      f7fe ef10       blx     9130 <abf2@plt\+0x7c>
+    a1cc:      f7fe ef4e       blx     906c <aaf1-0xf94>
 #------------------------------------------------------------------------------
 #------ thumb entry to abf3's .iplt entry
 #------------------------------------------------------------------------------
-    a310:      f7fe bf0c       b\.w    912c <abf2@plt\+0x78>
+    a1d0:      f7fe bf4a       b\.w    9068 <aaf1-0xf98>
 #------------------------------------------------------------------------------
 #------ thumb entry to abf3's .iplt entry
 #------------------------------------------------------------------------------
-    a314:      f43e af0a       beq\.w  912c <abf2@plt\+0x78>
-    a318:      4c00            ldr     r4, \[pc, #0\]  ; \(a31c <_thumb\+0x118>\)
-    a31a:      4c01            ldr     r4, \[pc, #4\]  ; \(a320 <_thumb\+0x11c>\)
+    a1d4:      f43e af48       beq\.w  9068 <aaf1-0xf98>
+    a1d8:      4c00            ldr     r4, \[pc, #0\]  ; \(a1dc <_thumb\+0xb8>\)
+    a1da:      4c01            ldr     r4, \[pc, #4\]  ; \(a1e0 <_thumb\+0xbc>\)
 #------------------------------------------------------------------------------
 #------ GP-relative offset of abf3's .igot.plt entry
 #------------------------------------------------------------------------------
-    a31c:      00000058        \.word  0x00000058
+    a1dc:      00000028        \.word  0x00000028
 #------------------------------------------------------------------------------
 #------ PC-relative offset of abf3's .igot.plt entry
 #------------------------------------------------------------------------------
-    a320:      00006d38        \.word  0x00006d38
+    a1e0:      00006e48        \.word  0x00006e48
 #------------------------------------------------------------------------------
 #------ tbf3's .iplt entry
 #------------------------------------------------------------------------------
-    a324:      f7fe ef14       blx     9150 <abf2@plt\+0x9c>
+    a1e4:      f7fe ef52       blx     908c <aaf1-0xf74>
 #------------------------------------------------------------------------------
 #------ thumb entry to tbf3's .iplt entry
 #------------------------------------------------------------------------------
-    a328:      f7fe bf10       b\.w    914c <abf2@plt\+0x98>
+    a1e8:      f7fe bf4e       b\.w    9088 <aaf1-0xf78>
 #------------------------------------------------------------------------------
 #------ thumb entry to tbf3's .iplt entry
 #------------------------------------------------------------------------------
-    a32c:      f43e af0e       beq\.w  914c <abf2@plt\+0x98>
-    a330:      4c00            ldr     r4, \[pc, #0\]  ; \(a334 <_thumb\+0x130>\)
-    a332:      4c01            ldr     r4, \[pc, #4\]  ; \(a338 <_thumb\+0x134>\)
+    a1ec:      f43e af4c       beq\.w  9088 <aaf1-0xf78>
+    a1f0:      4c00            ldr     r4, \[pc, #0\]  ; \(a1f4 <_thumb\+0xd0>\)
+    a1f2:      4c01            ldr     r4, \[pc, #4\]  ; \(a1f8 <_thumb\+0xd4>\)
 #------------------------------------------------------------------------------
 #------ GP-relative offset of tbf3's .igot.plt entry
 #------------------------------------------------------------------------------
-    a334:      00000060        \.word  0x00000060
+    a1f4:      00000030        \.word  0x00000030
 #------------------------------------------------------------------------------
 #------ PC-relative offset of tbf3's .igot.plt entry
 #------------------------------------------------------------------------------
-    a338:      00006d28        \.word  0x00006d28
-#------------------------------------------------------------------------------
-#------ atf4's .plt entry
-#------------------------------------------------------------------------------
-    a33c:      f7fe eeae       blx     909c <atf4@plt\+0x4>
-#------------------------------------------------------------------------------
-#------ thumb entry to atf4's .plt entry
-#------------------------------------------------------------------------------
-    a340:      f7fe beaa       b\.w    9098 <atf4@plt>
-#------------------------------------------------------------------------------
-#------ thumb entry to atf4's .plt entry
-#------------------------------------------------------------------------------
-    a344:      f43e aea8       beq\.w  9098 <atf4@plt>
-    a348:      4c00            ldr     r4, \[pc, #0\]  ; \(a34c <_thumb\+0x148>\)
-    a34a:      4c01            ldr     r4, \[pc, #4\]  ; \(a350 <_thumb\+0x14c>\)
-#------------------------------------------------------------------------------
-#------ .got offset for atf4
-#------------------------------------------------------------------------------
-    a34c:      00000098        \.word  0x00000098
-#------------------------------------------------------------------------------
-#------ PC-relative offset of .got entry for atf4
-#------------------------------------------------------------------------------
-    a350:      00006d48        \.word  0x00006d48
-#------------------------------------------------------------------------------
-#------ ttf4's .plt entry
-#------------------------------------------------------------------------------
-    a354:      f7fe ee9a       blx     908c <ttf4@plt\+0x4>
-#------------------------------------------------------------------------------
-#------ thumb entry to ttf4's .plt entry
-#------------------------------------------------------------------------------
-    a358:      f7fe be96       b\.w    9088 <ttf4@plt>
-#------------------------------------------------------------------------------
-#------ thumb entry to ttf4's .plt entry
-#------------------------------------------------------------------------------
-    a35c:      f43e ae94       beq\.w  9088 <ttf4@plt>
-    a360:      4c00            ldr     r4, \[pc, #0\]  ; \(a364 <_thumb\+0x160>\)
-    a362:      4c01            ldr     r4, \[pc, #4\]  ; \(a368 <_thumb\+0x164>\)
-#------------------------------------------------------------------------------
-#------ .got offset for ttf4
-#------------------------------------------------------------------------------
-    a364:      00000094        \.word  0x00000094
-#------------------------------------------------------------------------------
-#------ PC-relative offset of .got entry for ttf4
-#------------------------------------------------------------------------------
-    a368:      00006d2c        \.word  0x00006d2c
-#------------------------------------------------------------------------------
-#------ abf4's .plt entry
-#------------------------------------------------------------------------------
-    a36c:      f7fe ee7e       blx     906c <abf4@plt\+0x4>
-#------------------------------------------------------------------------------
-#------ thumb entry to abf4's .plt entry
-#------------------------------------------------------------------------------
-    a370:      f7fe be7a       b\.w    9068 <abf4@plt>
-#------------------------------------------------------------------------------
-#------ thumb entry to abf4's .plt entry
-#------------------------------------------------------------------------------
-    a374:      f43e ae78       beq\.w  9068 <abf4@plt>
-    a378:      4c00            ldr     r4, \[pc, #0\]  ; \(a37c <_thumb\+0x178>\)
-    a37a:      4c01            ldr     r4, \[pc, #4\]  ; \(a380 <_thumb\+0x17c>\)
-#------------------------------------------------------------------------------
-#------ .got offset for abf4
-#------------------------------------------------------------------------------
-    a37c:      0000008c        \.word  0x0000008c
-#------------------------------------------------------------------------------
-#------ PC-relative offset of .got entry for abf4
-#------------------------------------------------------------------------------
-    a380:      00006d0c        \.word  0x00006d0c
-#------------------------------------------------------------------------------
-#------ tbf4's .plt entry
-#------------------------------------------------------------------------------
-    a384:      f7fe ee7a       blx     907c <tbf4@plt\+0x4>
-#------------------------------------------------------------------------------
-#------ thumb entry to tbf4's .plt entry
-#------------------------------------------------------------------------------
-    a388:      f7fe be76       b\.w    9078 <tbf4@plt>
-#------------------------------------------------------------------------------
-#------ thumb entry to tbf4's .plt entry
-#------------------------------------------------------------------------------
-    a38c:      f43e ae74       beq\.w  9078 <tbf4@plt>
-    a390:      4c00            ldr     r4, \[pc, #0\]  ; \(a394 <_thumb\+0x190>\)
-    a392:      4c01            ldr     r4, \[pc, #4\]  ; \(a398 <_thumb\+0x194>\)
-#------------------------------------------------------------------------------
-#------ .got offset for tbf4
-#------------------------------------------------------------------------------
-    a394:      00000090        \.word  0x00000090
-#------------------------------------------------------------------------------
-#------ PC-relative offset of .got entry for tbf4
-#------------------------------------------------------------------------------
-    a398:      00006cf8        \.word  0x00006cf8
+    a1f8:      00006e38        \.word  0x00006e38
index 356f04229b9af361e060c559a3047ec556440f7e..92377c9a9aebbb1c2e6c0d1d7b6c188221955d88 100644 (file)
@@ -8,160 +8,76 @@ Contents of section \.data:
 #------ 00010008: contains PC-relative offset of aaf1's .iplt entry
 #------ 0001000c: contains atf1 [R_ARM_IRELATIVE]
 #------------------------------------------------------------------------------
- 10000 (44332211 00a00000 bc90ffff 04a00000|11223344 0000a000 ffff90bc 0000a004)  .*
+ 10000 (44332211 00a00000 f88fffff 04a00000|11223344 0000a000 ffff8ff8 0000a004)  .*
 #------------------------------------------------------------------------------
 #------ 00010010: contains PC-relative offset of atf1's .iplt entry
 #------ 00010014: contains abf1 [R_ARM_IRELATIVE]
 #------ 00010018: contains PC-relative offset of abf1's .iplt entry
 #------ 0001001c: contains taf1 [R_ARM_IRELATIVE]
 #------------------------------------------------------------------------------
- 10010 (c490ffff 08a00000 cc90ffff 0da00000|ffff90c4 0000a008 ffff90cc 0000a00d)  .*
+ 10010 (0090ffff 08a00000 0890ffff 0da00000|ffff9000 0000a008 ffff9008 0000a00d)  .*
 #------------------------------------------------------------------------------
 #------ 00010020: contains PC-relative offset of taf1's .iplt entry
 #------ 00010024: contains ttf1 [R_ARM_IRELATIVE]
 #------ 00010028: contains PC-relative offset of ttf1's .iplt entry
 #------ 0001002c: contains tbf1 [R_ARM_IRELATIVE]
 #------------------------------------------------------------------------------
- 10020 (d090ffff 0fa00000 d890ffff 11a00000|ffff90d0 0000a00f ffff90d8 0000a011)  .*
+ 10020 (0c90ffff 0fa00000 1490ffff 11a00000|ffff900c 0000a00f ffff9014 0000a011)  .*
 #------------------------------------------------------------------------------
 #------ 00010030: contains PC-relative offset of tbf1's .iplt entry
-#------ 00010034: aaf2 [R_ARM_ABS32]
-#------ 00010038: aaf2 [R_ARM_REL32]
-#------ 0001003c: atf2 [R_ARM_ABS32]
+#------ 00010034: contains aaf3 [R_ARM_IRELATIVE]
+#------ 00010038: contains PC-relative offset of aaf3's .iplt entry
+#------ 0001003c: contains atf3 [R_ARM_IRELATIVE]
 #------------------------------------------------------------------------------
- 10030 (e090ffff|ffff90e0) 00000000 00000000 00000000  .*
+ 10030 (1c90ffff 14a00000 6c90ffff 18a00000|ffff901c 0000a014 ffff906c 0000a018)  .*
 #------------------------------------------------------------------------------
-#------ 00010040: atf2 [R_ARM_REL32]
-#------ 00010044: abf2 [R_ARM_ABS32]
-#------ 00010048: abf2 [R_ARM_REL32]
-#------ 0001004c: taf2 [R_ARM_ABS32]
+#------ 00010040: contains PC-relative offset of atf3's .iplt entry
+#------ 00010044: contains abf3 [R_ARM_IRELATIVE]
+#------ 00010048: contains PC-relative offset of abf3's .iplt entry
+#------ 0001004c: contains taf3 [R_ARM_IRELATIVE]
 #------------------------------------------------------------------------------
- 10040 00000000 00000000 00000000 00000000  .*
+ 10040 (1c90ffff 1ca00000 2490ffff 21a00000|ffff901c 0000a01c ffff9024 0000a021)  .*
 #------------------------------------------------------------------------------
-#------ 00010050: taf2 [R_ARM_REL32]
-#------ 00010054: ttf2 [R_ARM_ABS32]
-#------ 00010058: ttf2 [R_ARM_REL32]
-#------ 0001005c: tbf2 [R_ARM_ABS32]
+#------ 00010050: contains PC-relative offset of taf3's .iplt entry
+#------ 00010054: contains ttf3 [R_ARM_IRELATIVE]
+#------ 00010058: contains PC-relative offset of ttf3's .iplt entry
+#------ 0001005c: contains tbf3 [R_ARM_IRELATIVE]
 #------------------------------------------------------------------------------
- 10050 00000000 00000000 00000000 00000000  .*
+ 10050 (4890ffff 23a00000 2490ffff 25a00000|ffff9048 0000a023 ffff9024 0000a025)  .*
 #------------------------------------------------------------------------------
-#------ 00010060: tbf2 [R_ARM_REL32]
-#------ 00010064: contains aaf3 [R_ARM_IRELATIVE]
-#------ 00010068: contains PC-relative offset of aaf3's .iplt entry
-#------ 0001006c: contains atf3 [R_ARM_IRELATIVE]
+#------ 00010060: contains PC-relative offset of tbf3's .iplt entry
 #------------------------------------------------------------------------------
- 10060 00000000 (14a00000 0091ffff 18a00000|0000a014 ffff9100 0000a018)  .*
-#------------------------------------------------------------------------------
-#------ 00010070: contains PC-relative offset of atf3's .iplt entry
-#------ 00010074: contains abf3 [R_ARM_IRELATIVE]
-#------ 00010078: contains PC-relative offset of abf3's .iplt entry
-#------ 0001007c: contains taf3 [R_ARM_IRELATIVE]
-#------------------------------------------------------------------------------
- 10070 (b090ffff 1ca00000 b890ffff 21a00000|ffff90b0 0000a01c ffff90b8 0000a021)  .*
-#------------------------------------------------------------------------------
-#------ 00010080: contains PC-relative offset of taf3's .iplt entry
-#------ 00010084: contains ttf3 [R_ARM_IRELATIVE]
-#------ 00010088: contains PC-relative offset of ttf3's .iplt entry
-#------ 0001008c: contains tbf3 [R_ARM_IRELATIVE]
-#------------------------------------------------------------------------------
- 10080 (dc90ffff 23a00000 b890ffff 25a00000|ffff90dc 0000a023 ffff90b8 0000a025)  .*
-#------------------------------------------------------------------------------
-#------ 00010090: contains PC-relative offset of tbf3's .iplt entry
-#------ 00010094: aaf4 [R_ARM_ABS32]
-#------ 00010098: aaf4 [R_ARM_REL32]
-#------ 0001009c: atf4 [R_ARM_ABS32]
-#------------------------------------------------------------------------------
- 10090 (c090ffff|ffff90c0) 00000000 00000000 00000000  .*
-#------------------------------------------------------------------------------
-#------ 000100a0: atf4 [R_ARM_REL32]
-#------ 000100a4: abf4 [R_ARM_ABS32]
-#------ 000100a8: abf4 [R_ARM_REL32]
-#------ 000100ac: taf4 [R_ARM_ABS32]
-#------------------------------------------------------------------------------
- 100a0 00000000 00000000 00000000 00000000  .*
-#------------------------------------------------------------------------------
-#------ 000100b0: taf4 [R_ARM_REL32]
-#------ 000100b4: ttf4 [R_ARM_ABS32]
-#------ 000100b8: ttf4 [R_ARM_REL32]
-#------ 000100bc: tbf4 [R_ARM_ABS32]
-#------------------------------------------------------------------------------
- 100b0 00000000 00000000 00000000 00000000  .*
-#------------------------------------------------------------------------------
-#------ 000100c0: tbf4 [R_ARM_REL32]
-#------------------------------------------------------------------------------
- 100c0 00000000                             .*
+ 10060 (2c90ffff|ffff902c)  .*
 Contents of section \.got:
 #------------------------------------------------------------------------------
 #------ 00011000: .got.plt
 #------ 00011004: reserved .got.plt entry
 #------ 00011008: reserved .got.plt entry
-#------ 0001100c: atf2's .got.plt entry [R_ARM_JUMP_SLOT]
-#------------------------------------------------------------------------------
- 11000 (00200100 00000000 00000000 00900000|00012000 00000000 00000000 00009000)  .*
-#------------------------------------------------------------------------------
-#------ 00011010: aaf4's .got.plt entry [R_ARM_JUMP_SLOT]
-#------ 00011014: ttf2's .got.plt entry [R_ARM_JUMP_SLOT]
-#------ 00011018: tbf2's .got.plt entry [R_ARM_JUMP_SLOT]
-#------ 0001101c: taf2's .got.plt entry [R_ARM_JUMP_SLOT]
-#------------------------------------------------------------------------------
- 11010 (00900000 00900000 00900000 00900000|00009000 00009000 00009000 00009000)  .*
-#------------------------------------------------------------------------------
-#------ 00011020: aaf2's .got.plt entry [R_ARM_JUMP_SLOT]
-#------ 00011024: abf4's .got.plt entry [R_ARM_JUMP_SLOT]
-#------ 00011028: tbf4's .got.plt entry [R_ARM_JUMP_SLOT]
-#------ 0001102c: ttf4's .got.plt entry [R_ARM_JUMP_SLOT]
-#------------------------------------------------------------------------------
- 11020 (00900000 00900000 00900000 00900000|00009000 00009000 00009000 00009000)  .*
-#------------------------------------------------------------------------------
-#------ 00011030: atf4's .got.plt entry [R_ARM_JUMP_SLOT]
-#------ 00011034: taf4's .got.plt entry [R_ARM_JUMP_SLOT]
-#------ 00011038: abf2's .got.plt entry [R_ARM_JUMP_SLOT]
-#------ 0001103c: aaf1's .igot.plt entry [R_ARM_IRELATIVE]
-#------------------------------------------------------------------------------
- 11030 (00900000 00900000 00900000 00a00000|00009000 00009000 00009000 0000a000)  .*
-#------------------------------------------------------------------------------
-#------ 00011040: atf1's .igot.plt entry [R_ARM_IRELATIVE]
-#------ 00011044: abf1's .igot.plt entry [R_ARM_IRELATIVE]
-#------ 00011048: taf1's .igot.plt entry [R_ARM_IRELATIVE]
-#------ 0001104c: ttf1's .igot.plt entry [R_ARM_IRELATIVE]
-#------------------------------------------------------------------------------
- 11040 (04a00000 08a00000 0da00000 0fa00000|0000a004 0000a008 0000a00d 0000a00f)  .*
-#------------------------------------------------------------------------------
-#------ 00011050: tbf1's .igot.plt entry [R_ARM_IRELATIVE]
-#------ 00011054: atf3's .igot.plt entry [R_ARM_IRELATIVE]
-#------ 00011058: abf3's .igot.plt entry [R_ARM_IRELATIVE]
-#------ 0001105c: ttf3's .igot.plt entry [R_ARM_IRELATIVE]
-#------------------------------------------------------------------------------
- 11050 (11a00000 18a00000 1ca00000 23a00000|0000a011 0000a018 0000a01c 0000a023)  .*
-#------------------------------------------------------------------------------
-#------ 00011060: tbf3's .igot.plt entry [R_ARM_IRELATIVE]
-#------ 00011064: taf3's .igot.plt entry [R_ARM_IRELATIVE]
-#------ 00011068: aaf3's .igot.plt entry [R_ARM_IRELATIVE]
-#------ 0001106c: .got entry for foo [R_ARM_RELATIVE]
+#------ 0001100c: aaf1's .igot.plt entry [R_ARM_IRELATIVE]
 #------------------------------------------------------------------------------
- 11060 (25a00000 21a00000 14a00000 00000100|0000a025 0000a021 0000a014 00010000)  .*
+ 11000 (00200100 00000000 00000000 00a00000|00012000 00000000 00000000 0000a000)  .*
 #------------------------------------------------------------------------------
-#------ 00011070: .got entry for foo [R_ARM_RELATIVE]
-#------ 00011074: .got entry for atf2 [R_ARM_GLOB_DAT]
-#------ 00011078: .got entry for aaf4 [R_ARM_GLOB_DAT]
-#------ 0001107c: .got entry for ttf2 [R_ARM_GLOB_DAT]
+#------ 00011010: atf1's .igot.plt entry [R_ARM_IRELATIVE]
+#------ 00011014: abf1's .igot.plt entry [R_ARM_IRELATIVE]
+#------ 00011018: taf1's .igot.plt entry [R_ARM_IRELATIVE]
+#------ 0001101c: ttf1's .igot.plt entry [R_ARM_IRELATIVE]
 #------------------------------------------------------------------------------
- 11070 (00000100|00010000) 00000000 00000000 00000000  .*
+ 11010 (04a00000 08a00000 0da00000 0fa00000|0000a004 0000a008 0000a00d 0000a00f)  .*
 #------------------------------------------------------------------------------
-#------ 00011080: .got entry for tbf2 [R_ARM_GLOB_DAT]
-#------ 00011084: .got entry for taf2 [R_ARM_GLOB_DAT]
-#------ 00011088: .got entry for aaf2 [R_ARM_GLOB_DAT]
-#------ 0001108c: .got entry for abf4 [R_ARM_GLOB_DAT]
+#------ 00011020: tbf1's .igot.plt entry [R_ARM_IRELATIVE]
+#------ 00011024: atf3's .igot.plt entry [R_ARM_IRELATIVE]
+#------ 00011028: abf3's .igot.plt entry [R_ARM_IRELATIVE]
+#------ 0001102c: ttf3's .igot.plt entry [R_ARM_IRELATIVE]
 #------------------------------------------------------------------------------
- 11080 00000000 00000000 00000000 00000000  .*
+ 11020 (11a00000 18a00000 1ca00000 23a00000|0000a011 0000a018 0000a01c 0000a023)  .*
 #------------------------------------------------------------------------------
-#------ 00011090: .got entry for tbf4 [R_ARM_GLOB_DAT]
-#------ 00011094: .got entry for ttf4 [R_ARM_GLOB_DAT]
-#------ 00011098: .got entry for atf4 [R_ARM_GLOB_DAT]
-#------ 0001109c: .got entry for taf4 [R_ARM_GLOB_DAT]
+#------ 00011030: tbf3's .igot.plt entry [R_ARM_IRELATIVE]
+#------ 00011034: taf3's .igot.plt entry [R_ARM_IRELATIVE]
+#------ 00011038: aaf3's .igot.plt entry [R_ARM_IRELATIVE]
+#------ 0001103c: .got entry for foo [R_ARM_RELATIVE]
 #------------------------------------------------------------------------------
- 11090 00000000 00000000 00000000 00000000  .*
+ 11030 (25a00000 21a00000 14a00000 00000100|0000a025 0000a021 0000a014 00010000)  .*
 #------------------------------------------------------------------------------
-#------ 000110a0: .got entry for abf2 [R_ARM_GLOB_DAT]
+#------ 00011040: .got entry for foo [R_ARM_RELATIVE]
 #------------------------------------------------------------------------------
- 110a0 00000000                             .*
+ 11040 (00000100|00010000)  .*
index a8ad1f29963f5d34c08a1dad7db5e67549346fad..c7c7975d183c3ba22fb58d0bd4f62f8e731c41b3 100644 (file)
@@ -1,80 +1,29 @@
 
-Relocation section '\.rel\.dyn' at offset 0x8000 contains 62 entries:
+Relocation section '\.rel\.dyn' at offset 0x8000 contains 26 entries:
  Offset     Info    Type            Sym\.Value  Sym\. Name
-0001106c  ......17 R_ARM_RELATIVE   
-00011070  ......17 R_ARM_RELATIVE   
+0001103c  ......17 R_ARM_RELATIVE   
+00011040  ......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  
-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       00000000   aaf2
-00010038  ......03 R_ARM_REL32       00000000   aaf2
-00011088  ......15 R_ARM_GLOB_DAT    00000000   aaf2
-0001003c  ......02 R_ARM_ABS32       00000000   atf2
-00010040  ......03 R_ARM_REL32       00000000   atf2
-00011074  ......15 R_ARM_GLOB_DAT    00000000   atf2
-00010044  ......02 R_ARM_ABS32       00000000   abf2
-00010048  ......03 R_ARM_REL32       00000000   abf2
-000110a0  ......15 R_ARM_GLOB_DAT    00000000   abf2
-0001004c  ......02 R_ARM_ABS32       00000000   taf2
-00010050  ......03 R_ARM_REL32       00000000   taf2
-00011084  ......15 R_ARM_GLOB_DAT    00000000   taf2
-00010054  ......02 R_ARM_ABS32       00000000   ttf2
-00010058  ......03 R_ARM_REL32       00000000   ttf2
-0001107c  ......15 R_ARM_GLOB_DAT    00000000   ttf2
-0001005c  ......02 R_ARM_ABS32       00000000   tbf2
-00010060  ......03 R_ARM_REL32       00000000   tbf2
-00011080  ......15 R_ARM_GLOB_DAT    00000000   tbf2
-00010094  ......02 R_ARM_ABS32       00000000   aaf4
-00010098  ......03 R_ARM_REL32       00000000   aaf4
-00011078  ......15 R_ARM_GLOB_DAT    00000000   aaf4
-0001009c  ......02 R_ARM_ABS32       00000000   atf4
-000100a0  ......03 R_ARM_REL32       00000000   atf4
-00011098  ......15 R_ARM_GLOB_DAT    00000000   atf4
-000100a4  ......02 R_ARM_ABS32       00000000   abf4
-000100a8  ......03 R_ARM_REL32       00000000   abf4
-0001108c  ......15 R_ARM_GLOB_DAT    00000000   abf4
-000100ac  ......02 R_ARM_ABS32       00000000   taf4
-000100b0  ......03 R_ARM_REL32       00000000   taf4
-0001109c  ......15 R_ARM_GLOB_DAT    00000000   taf4
-000100b4  ......02 R_ARM_ABS32       00000000   ttf4
-000100b8  ......03 R_ARM_REL32       00000000   ttf4
-00011094  ......15 R_ARM_GLOB_DAT    00000000   ttf4
-000100bc  ......02 R_ARM_ABS32       00000000   tbf4
-000100c0  ......03 R_ARM_REL32       00000000   tbf4
-00011090  ......15 R_ARM_GLOB_DAT    00000000   tbf4
-
-Relocation section '\.rel\.plt' at offset 0x81f0 contains 12 entries:
- Offset     Info    Type            Sym\.Value  Sym\. Name
-0001100c  ......16 R_ARM_JUMP_SLOT   00000000   atf2
-00011010  ......16 R_ARM_JUMP_SLOT   00000000   aaf4
-00011014  ......16 R_ARM_JUMP_SLOT   00000000   ttf2
-00011018  ......16 R_ARM_JUMP_SLOT   00000000   tbf2
-0001101c  ......16 R_ARM_JUMP_SLOT   00000000   taf2
-00011020  ......16 R_ARM_JUMP_SLOT   00000000   aaf2
-00011024  ......16 R_ARM_JUMP_SLOT   00000000   abf4
-00011028  ......16 R_ARM_JUMP_SLOT   00000000   tbf4
-0001102c  ......16 R_ARM_JUMP_SLOT   00000000   ttf4
-00011030  ......16 R_ARM_JUMP_SLOT   00000000   atf4
-00011034  ......16 R_ARM_JUMP_SLOT   00000000   taf4
-00011038  ......16 R_ARM_JUMP_SLOT   00000000   abf2
+00010034  ......a0 R_ARM_IRELATIVE  
+0001003c  ......a0 R_ARM_IRELATIVE  
+00010044  ......a0 R_ARM_IRELATIVE  
+0001004c  ......a0 R_ARM_IRELATIVE  
+00010054  ......a0 R_ARM_IRELATIVE  
+0001005c  ......a0 R_ARM_IRELATIVE  
+0001100c  ......a0 R_ARM_IRELATIVE  
+00011010  ......a0 R_ARM_IRELATIVE  
+00011014  ......a0 R_ARM_IRELATIVE  
+00011018  ......a0 R_ARM_IRELATIVE  
+0001101c  ......a0 R_ARM_IRELATIVE  
+00011020  ......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  
index 3947f7f7e1d3ed6f958a2e46409a1a2fa7525185..2727180f9bdcc4277bc3888444c1cb0368f4134e 100644 (file)
@@ -63,9 +63,7 @@
 arm:
        test_relocs foo
        test_relocs2 f1,a,
-       test_relocs2 f2,a,
        test_relocs2 f3,a,
-       test_relocs2 f4,a,
        .size   arm,.-arm
 
        .globl  _thumb
@@ -74,15 +72,11 @@ arm:
 _thumb:
        test_relocs foo
        test_relocs2 f1,t,.w
-       test_relocs2 f2,t,.w
        test_relocs2 f3,t,.w
-       test_relocs2 f4,t,.w
        .size   _thumb,.-_thumb
 
        .data
 foo:
        .word   0x11223344
        alldirs diff,f1
-       alldirs diff,f2
        alldirs diff,f3
-       alldirs diff,f4
diff --git a/ld/testsuite/ld-arm/rel32-reject-pie.d b/ld/testsuite/ld-arm/rel32-reject-pie.d
new file mode 100644 (file)
index 0000000..475b324
--- /dev/null
@@ -0,0 +1,3 @@
+#source: rel32-reject-pie.s
+#ld: -pie
+#error: .*relocation R_ARM_REL32.*can not.*PIE executable.*
diff --git a/ld/testsuite/ld-arm/rel32-reject-pie.s b/ld/testsuite/ld-arm/rel32-reject-pie.s
new file mode 100644 (file)
index 0000000..cc49e02
--- /dev/null
@@ -0,0 +1,8 @@
+       .text
+       .global main
+main:
+       b main
+
+       .data
+rel:
+       .word non_global - .
diff --git a/ld/testsuite/ld-arm/rel32-reject.d b/ld/testsuite/ld-arm/rel32-reject.d
new file mode 100644 (file)
index 0000000..c82fd4d
--- /dev/null
@@ -0,0 +1,3 @@
+#source: rel32-reject.s
+#ld: -shared
+#error: .*relocation R_ARM_REL32.*can not.*shared object.*
diff --git a/ld/testsuite/ld-arm/rel32-reject.s b/ld/testsuite/ld-arm/rel32-reject.s
new file mode 100644 (file)
index 0000000..4cfbd2c
--- /dev/null
@@ -0,0 +1,9 @@
+       .text
+       .global main
+main:
+       b main
+
+       .data
+       .extern ext_global
+rel:
+       .word ext_global - .