This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[PATCH][ARM] Reject R_ARM_REL32 when trying to defer it to runtime
- From: Jiong Wang <jiong dot wang at arm dot com>
- To: "binutils at sourceware dot org" <binutils at sourceware dot org>
- Date: Mon, 17 Nov 2014 17:26:44 +0000
- Subject: [PATCH][ARM] Reject R_ARM_REL32 when trying to defer it to runtime
- Authentication-results: sourceware.org; auth=none
R_ARM_REL32 is not supported by ARM32 dynamic linker.
we need reject it when against external symbol and if it's supposed to
be copied to dynamic relocation section.
when linking some hand written assembly code, I found some code in elf32_arm_final_link_relocate
assume we have rejected them. If we haven't, the following assertion will be triggered.
/* This symbol is local, or marked to become local. */
BFD_ASSERT (r_type == R_ARM_ABS32 || r_type == R_ARM_ABS32_NOI);
ok for trunk?
pass native ld test on chrome book.
The f2/f4 test in ifunc-7 and 8 was written without consideration of this rejection.
we need to remove them.
lots of the diff are caused by ifunc testcase update.
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.
commit 14ce92a6e74e6da5f394c2af9d03b3c9c82b80d0
Author: Jiong Wang <jiowan01@pdtl-cb1.cambridge.arm.com>
Date: Thu Nov 13 16:55:54 2014 +0000
fixedh
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index 49d0f65..56fa573 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -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)
diff --git a/ld/testsuite/ld-arm/arm-elf.exp b/ld/testsuite/ld-arm/arm-elf.exp
index 3c8cc68..cdb58e4 100644
--- a/ld/testsuite/ld-arm/arm-elf.exp
+++ b/ld/testsuite/ld-arm/arm-elf.exp
@@ -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.
diff --git a/ld/testsuite/ld-arm/ifunc-7.dd b/ld/testsuite/ld-arm/ifunc-7.dd
index f82fd37..c2c5e9c 100644
--- a/ld/testsuite/ld-arm/ifunc-7.dd
+++ b/ld/testsuite/ld-arm/ifunc-7.dd
@@ -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
diff --git a/ld/testsuite/ld-arm/ifunc-7.gd b/ld/testsuite/ld-arm/ifunc-7.gd
index 3251c45..da1bb45 100644
--- a/ld/testsuite/ld-arm/ifunc-7.gd
+++ b/ld/testsuite/ld-arm/ifunc-7.gd
@@ -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) .*
diff --git a/ld/testsuite/ld-arm/ifunc-7.rd b/ld/testsuite/ld-arm/ifunc-7.rd
index a29b184..f250bb7 100644
--- a/ld/testsuite/ld-arm/ifunc-7.rd
+++ b/ld/testsuite/ld-arm/ifunc-7.rd
@@ -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
diff --git a/ld/testsuite/ld-arm/ifunc-7.s b/ld/testsuite/ld-arm/ifunc-7.s
index 85ffb68..1159768 100644
--- a/ld/testsuite/ld-arm/ifunc-7.s
+++ b/ld/testsuite/ld-arm/ifunc-7.s
@@ -36,7 +36,5 @@ foo:
arm:
test_relocs foo
test_relocs f1
- test_relocs f2
test_relocs f3
- test_relocs f4
.size arm,.-arm
diff --git a/ld/testsuite/ld-arm/ifunc-8.dd b/ld/testsuite/ld-arm/ifunc-8.dd
index 3cca17c..50a9177 100644
--- a/ld/testsuite/ld-arm/ifunc-8.dd
+++ b/ld/testsuite/ld-arm/ifunc-8.dd
@@ -2,257 +2,121 @@
.*
-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
diff --git a/ld/testsuite/ld-arm/ifunc-8.gd b/ld/testsuite/ld-arm/ifunc-8.gd
index 356f042..92377c9 100644
--- a/ld/testsuite/ld-arm/ifunc-8.gd
+++ b/ld/testsuite/ld-arm/ifunc-8.gd
@@ -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) .*
diff --git a/ld/testsuite/ld-arm/ifunc-8.rd b/ld/testsuite/ld-arm/ifunc-8.rd
index a8ad1f2..c7c7975 100644
--- a/ld/testsuite/ld-arm/ifunc-8.rd
+++ b/ld/testsuite/ld-arm/ifunc-8.rd
@@ -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
diff --git a/ld/testsuite/ld-arm/ifunc-8.s b/ld/testsuite/ld-arm/ifunc-8.s
index 3947f7f..2727180 100644
--- a/ld/testsuite/ld-arm/ifunc-8.s
+++ b/ld/testsuite/ld-arm/ifunc-8.s
@@ -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
index 0000000..475b324
--- /dev/null
+++ b/ld/testsuite/ld-arm/rel32-reject-pie.d
@@ -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
index 0000000..cc49e02
--- /dev/null
+++ b/ld/testsuite/ld-arm/rel32-reject-pie.s
@@ -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
index 0000000..c82fd4d
--- /dev/null
+++ b/ld/testsuite/ld-arm/rel32-reject.d
@@ -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
index 0000000..4cfbd2c
--- /dev/null
+++ b/ld/testsuite/ld-arm/rel32-reject.s
@@ -0,0 +1,9 @@
+ .text
+ .global main
+main:
+ b main
+
+ .data
+ .extern ext_global
+rel:
+ .word ext_global - .