diff options
Diffstat (limited to 'test/ELF/aarch64-gnu-ifunc.s')
-rw-r--r-- | test/ELF/aarch64-gnu-ifunc.s | 55 |
1 files changed, 24 insertions, 31 deletions
diff --git a/test/ELF/aarch64-gnu-ifunc.s b/test/ELF/aarch64-gnu-ifunc.s index 351d0ed0440a..46f4a292d2ea 100644 --- a/test/ELF/aarch64-gnu-ifunc.s +++ b/test/ELF/aarch64-gnu-ifunc.s @@ -15,15 +15,15 @@ // CHECK-NEXT: Address: [[RELA:.*]] // CHECK-NEXT: Offset: 0x158 // CHECK-NEXT: Size: 48 -// CHECK-NEXT: Link: 5 +// CHECK-NEXT: Link: 6 // CHECK-NEXT: Info: 0 // CHECK-NEXT: AddressAlignment: 8 // CHECK-NEXT: EntrySize: 24 // CHECK-NEXT: } // CHECK: Relocations [ // CHECK-NEXT: Section ({{.*}}) .rela.plt { -// CHECK-NEXT: 0x12018 R_AARCH64_IRELATIVE -// CHECK-NEXT: 0x12020 R_AARCH64_IRELATIVE +// CHECK-NEXT: 0x30000 R_AARCH64_IRELATIVE +// CHECK-NEXT: 0x30008 R_AARCH64_IRELATIVE // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK: Symbols [ @@ -38,7 +38,7 @@ // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: $x.0 -// CHECK-NEXT: Value: 0x11000 +// CHECK-NEXT: Value: 0x20000 // CHECK-NEXT: Size: 0 // CHECK-NEXT: Binding: Local // CHECK-NEXT: Type: None @@ -69,7 +69,7 @@ // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: _start -// CHECK-NEXT: Value: 0x11008 +// CHECK-NEXT: Value: 0x20008 // CHECK-NEXT: Size: 0 // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: None @@ -78,7 +78,7 @@ // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: bar -// CHECK-NEXT: Value: 0x11004 +// CHECK-NEXT: Value: 0x20004 // CHECK-NEXT: Size: 0 // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: GNU_IFunc @@ -87,7 +87,7 @@ // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: foo -// CHECK-NEXT: Value: 0x11000 +// CHECK-NEXT: Value: 0x20000 // CHECK-NEXT: Size: 0 // CHECK-NEXT: Binding: Global // CHECK-NEXT: Type: GNU_IFunc @@ -98,34 +98,27 @@ // 344 = 0x158 // 392 = 0x188 -// DISASM: Disassembly of section .text: + +// DISASM: Disassembly of section .text: // DISASM-NEXT: foo: -// DISASM-NEXT: 11000: c0 03 5f d6 ret -// DISASM: bar: -// DISASM-NEXT: 11004: c0 03 5f d6 ret +// DISASM-NEXT: 20000: c0 03 5f d6 ret +// DISASM: bar: +// DISASM-NEXT: 20004: c0 03 5f d6 ret // DISASM: _start: -// DISASM-NEXT: 11008: 0e 00 00 94 bl #56 -// DISASM-NEXT: 1100c: 11 00 00 94 bl #68 -// DISASM-NEXT: 11010: 42 60 05 91 add x2, x2, #344 -// DISASM-NEXT: 11014: 42 20 06 91 add x2, x2, #392 +// DISASM-NEXT: 20008: 06 00 00 94 bl #24 +// DISASM-NEXT: 2000c: 09 00 00 94 bl #36 +// DISASM-NEXT: 20010: 42 60 05 91 add x2, x2, #344 +// DISASM-NEXT: 20014: 42 20 06 91 add x2, x2, #392 // DISASM-NEXT: Disassembly of section .plt: // DISASM-NEXT: .plt: -// DISASM-NEXT: 11020: f0 7b bf a9 stp x16, x30, [sp, #-16]! -// DISASM-NEXT: 11024: 10 00 00 b0 adrp x16, #4096 -// DISASM-NEXT: 11028: 11 0a 40 f9 ldr x17, [x16, #16] -// DISASM-NEXT: 1102c: 10 42 00 91 add x16, x16, #16 -// DISASM-NEXT: 11030: 20 02 1f d6 br x17 -// DISASM-NEXT: 11034: 1f 20 03 d5 nop -// DISASM-NEXT: 11038: 1f 20 03 d5 nop -// DISASM-NEXT: 1103c: 1f 20 03 d5 nop -// DISASM-NEXT: 11040: 10 00 00 b0 adrp x16, #4096 -// DISASM-NEXT: 11044: 11 0e 40 f9 ldr x17, [x16, #24] -// DISASM-NEXT: 11048: 10 62 00 91 add x16, x16, #24 -// DISASM-NEXT: 1104c: 20 02 1f d6 br x17 -// DISASM-NEXT: 11050: 10 00 00 b0 adrp x16, #4096 -// DISASM-NEXT: 11054: 11 12 40 f9 ldr x17, [x16, #32] -// DISASM-NEXT: 11058: 10 82 00 91 add x16, x16, #32 -// DISASM-NEXT: 1105c: 20 02 1f d6 br x17 +// DISASM-NEXT: 20020: 90 00 00 90 adrp x16, #65536 +// DISASM-NEXT: 20024: 11 02 40 f9 ldr x17, [x16] +// DISASM-NEXT: 20028: 10 02 00 91 add x16, x16, #0 +// DISASM-NEXT: 2002c: 20 02 1f d6 br x17 +// DISASM-NEXT: 20030: 90 00 00 90 adrp x16, #65536 +// DISASM-NEXT: 20034: 11 06 40 f9 ldr x17, [x16, #8] +// DISASM-NEXT: 20038: 10 22 00 91 add x16, x16, #8 +// DISASM-NEXT: 2003c: 20 02 1f d6 br x17 .text .type foo STT_GNU_IFUNC |