diff options
Diffstat (limited to 'lld/test/elf/Hexagon/dynlib-gotoff.test')
-rw-r--r-- | lld/test/elf/Hexagon/dynlib-gotoff.test | 193 |
1 files changed, 58 insertions, 135 deletions
diff --git a/lld/test/elf/Hexagon/dynlib-gotoff.test b/lld/test/elf/Hexagon/dynlib-gotoff.test index 496c28f9c48..c5f3e91f5ab 100644 --- a/lld/test/elf/Hexagon/dynlib-gotoff.test +++ b/lld/test/elf/Hexagon/dynlib-gotoff.test @@ -3,85 +3,72 @@ RUN: lld -flavor gnu -target hexagon %p/Inputs/dynobj.o \ RUN: -o %t -emit-yaml -shared --noinhibit-exec RUN: FileCheck -check-prefix=CHECKGOTPLT %s < %t -CHECKGOTPLT: - ref-name: {{[0-9A-Z]+}} + - name: __got0 +CHECKGOTPLT: type: got +CHECKGOTPLT: content: [ 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, +CHECKGOTPLT: 00, 00, 00, 00 ] +CHECKGOTPLT: alignment: 2^3 +CHECKGOTPLT: section-name: .got.plt +CHECKGOTPLT: permissions: rw- + - name: __got_c +CHECKGOTPLT: type: got +CHECKGOTPLT: content: [ 00, 00, 00, 00 ] CHECKGOTPLT: alignment: 2^2 -CHECKGOTPLT: section-name: .text +CHECKGOTPLT: section-name: .got +CHECKGOTPLT: permissions: rw- CHECKGOTPLT: references: -CHECKGOTPLT: - kind: layout-after +CHECKGOTPLT: - kind: R_HEX_GLOB_DAT CHECKGOTPLT: offset: 0 -CHECKGOTPLT: target: fn2 -CHECKGOTPLT: - name: fn2 -CHECKGOTPLT: scope: global -CHECKGOTPLT: content: [ 00, C0, 9D, A0, 00, C0, 00, 78, 1E, C0, 1E, 96 ] +CHECKGOTPLT: target: c + - name: __got_shankar +CHECKGOTPLT: type: got +CHECKGOTPLT: content: [ 00, 00, 00, 00 ] CHECKGOTPLT: alignment: 2^2 -CHECKGOTPLT: section-name: .text -CHECKGOTPLT: - name: fn1 -CHECKGOTPLT: scope: global -CHECKGOTPLT: content: [ 00, C0, 9D, A0, 00, C0, 00, 78, 1E, C0, 1E, 96 ] +CHECKGOTPLT: section-name: .got +CHECKGOTPLT: permissions: rw- +CHECKGOTPLT: references: +CHECKGOTPLT: - kind: R_HEX_GLOB_DAT +CHECKGOTPLT: offset: 0 +CHECKGOTPLT: target: shankar + - name: __got_fn +CHECKGOTPLT: type: got +CHECKGOTPLT: content: [ 00, 00, 00, 00 ] CHECKGOTPLT: alignment: 2^2 -CHECKGOTPLT: section-name: .text -CHECKGOTPLT: - name: fn -CHECKGOTPLT: scope: global -CHECKGOTPLT: content: [ 01, C0, 9D, A0, 01, D8, 9D, A1, 00, 40, 00, 00, -CHECKGOTPLT: 18, C0, 49, 6A, 00, 40, 00, 00, 00, C0, 49, 6A, -CHECKGOTPLT: 0A, C0, 40, 3C, 00, 40, 00, 00, 00, C0, 49, 6A, -CHECKGOTPLT: 14, C0, 40, 3C, 00, 40, 00, 00, 00, C0, 98, 91, -CHECKGOTPLT: 0A, C0, 40, 3C, 00, 40, 00, 00, 00, C0, 98, 91, -CHECKGOTPLT: 14, C0, 40, 3C, 00, C0, 00, 78, 38, C0, 9D, 91, -CHECKGOTPLT: 1E, C0, 1E, 96 ] +CHECKGOTPLT: section-name: .got.plt +CHECKGOTPLT: permissions: rw- +CHECKGOTPLT: references: +CHECKGOTPLT: - kind: R_HEX_JMP_SLOT +CHECKGOTPLT: offset: 0 +CHECKGOTPLT: target: fn +CHECKGOTPLT: - kind: R_HEX_32 +CHECKGOTPLT: offset: 0 +CHECKGOTPLT: target: .PLT0 + - name: __got_fn1 +CHECKGOTPLT: type: got +CHECKGOTPLT: content: [ 00, 00, 00, 00 ] CHECKGOTPLT: alignment: 2^2 -CHECKGOTPLT: section-name: .text +CHECKGOTPLT: section-name: .got.plt +CHECKGOTPLT: permissions: rw- CHECKGOTPLT: references: -CHECKGOTPLT: - kind: R_HEX_B32_PCREL_X -CHECKGOTPLT: offset: 8 -CHECKGOTPLT: target: _GLOBAL_OFFSET_TABLE_ -CHECKGOTPLT: - kind: R_HEX_6_PCREL_X -CHECKGOTPLT: offset: 12 -CHECKGOTPLT: target: _GLOBAL_OFFSET_TABLE_ -CHECKGOTPLT: addend: 4 -CHECKGOTPLT: - kind: R_HEX_B32_PCREL_X -CHECKGOTPLT: offset: 16 -CHECKGOTPLT: target: [[SBSS:[-a-zA-Z0-9_]+]] -CHECKGOTPLT: - kind: R_HEX_6_PCREL_X -CHECKGOTPLT: offset: 20 -CHECKGOTPLT: target: [[SBSS]] -CHECKGOTPLT: addend: 4 -CHECKGOTPLT: - kind: R_HEX_B32_PCREL_X -CHECKGOTPLT: offset: 28 -CHECKGOTPLT: target: [[SBSS]] -CHECKGOTPLT: addend: 4 -CHECKGOTPLT: - kind: R_HEX_6_PCREL_X -CHECKGOTPLT: offset: 32 -CHECKGOTPLT: target: [[SBSS]] -CHECKGOTPLT: addend: 8 -CHECKGOTPLT: - kind: R_HEX_GOT_32_6_X -CHECKGOTPLT: offset: 40 - target: __got_c -CHECKGOTPLT: - kind: R_HEX_GOT_11_X -CHECKGOTPLT: offset: 44 - target: __got_c -CHECKGOTPLT: - kind: R_HEX_GOT_32_6_X -CHECKGOTPLT: offset: 52 - target: __got_shankar -CHECKGOTPLT: - kind: R_HEX_GOT_11_X -CHECKGOTPLT: offset: 56 - target: __got_shankar -CHECKGOTPLT: - name: fn3 -CHECKGOTPLT: scope: global -CHECKGOTPLT: content: [ 00, C0, 9D, A0, 00, C0, 00, 5A, 00, C0, 00, 5A, -CHECKGOTPLT: 00, C0, 00, 5A, 00, C0, 00, 78, 1E, C0, 1E, 96 ] +CHECKGOTPLT: - kind: R_HEX_JMP_SLOT +CHECKGOTPLT: offset: 0 +CHECKGOTPLT: target: fn1 +CHECKGOTPLT: - kind: R_HEX_32 +CHECKGOTPLT: offset: 0 +CHECKGOTPLT: target: .PLT0 + - name: __got_fn2 +CHECKGOTPLT: type: got +CHECKGOTPLT: content: [ 00, 00, 00, 00 ] CHECKGOTPLT: alignment: 2^2 -CHECKGOTPLT: section-name: .text +CHECKGOTPLT: section-name: .got.plt +CHECKGOTPLT: permissions: rw- CHECKGOTPLT: references: -CHECKGOTPLT: - kind: R_HEX_B22_PCREL -CHECKGOTPLT: offset: 4 - target: __plt_fn -CHECKGOTPLT: - kind: R_HEX_B22_PCREL -CHECKGOTPLT: offset: 8 - target: __plt_fn1 -CHECKGOTPLT: - kind: R_HEX_B22_PCREL -CHECKGOTPLT: offset: 12 - target: __plt_fn2 +CHECKGOTPLT: - kind: R_HEX_JMP_SLOT +CHECKGOTPLT: offset: 0 +CHECKGOTPLT: target: fn2 +CHECKGOTPLT: - kind: R_HEX_32 +CHECKGOTPLT: offset: 0 +CHECKGOTPLT: target: .PLT0 - name: .PLT0 CHECKGOTPLT: type: stub CHECKGOTPLT: content: [ 00, 40, 00, 00, 1C, C0, 49, 6A, 0E, 42, 9C, E2, @@ -96,6 +83,7 @@ CHECKGOTPLT: offset: 0 CHECKGOTPLT: - kind: R_HEX_6_PCREL_X CHECKGOTPLT: offset: 4 target: __got0 +CHECKGOTPLT: addend: 4 - name: __plt_fn CHECKGOTPLT: type: stub CHECKGOTPLT: content: [ 00, 40, 00, 00, 0E, C0, 49, 6A, 1C, C0, 8E, 91, @@ -138,68 +126,3 @@ CHECKGOTPLT: - kind: R_HEX_6_PCREL_X CHECKGOTPLT: offset: 4 target: __got_fn2 CHECKGOTPLT: addend: 4 - - name: __got0 -CHECKGOTPLT: type: got -CHECKGOTPLT: content: [ 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, -CHECKGOTPLT: 00, 00, 00, 00 ] -CHECKGOTPLT: alignment: 2^3 -CHECKGOTPLT: section-name: .got.plt - - name: __got_c -CHECKGOTPLT: type: got -CHECKGOTPLT: content: [ 00, 00, 00, 00 ] -CHECKGOTPLT: alignment: 2^2 -CHECKGOTPLT: section-name: .got -CHECKGOTPLT: permissions: rw- -CHECKGOTPLT: references: -CHECKGOTPLT: - kind: R_HEX_GLOB_DAT -CHECKGOTPLT: offset: 0 -CHECKGOTPLT: target: c - - name: __got_shankar -CHECKGOTPLT: type: got -CHECKGOTPLT: content: [ 00, 00, 00, 00 ] -CHECKGOTPLT: alignment: 2^2 -CHECKGOTPLT: section-name: .got -CHECKGOTPLT: permissions: rw- -CHECKGOTPLT: references: -CHECKGOTPLT: - kind: R_HEX_GLOB_DAT -CHECKGOTPLT: offset: 0 -CHECKGOTPLT: target: shankar - - name: __got_fn -CHECKGOTPLT: type: got -CHECKGOTPLT: content: [ 00, 00, 00, 00 ] -CHECKGOTPLT: alignment: 2^2 -CHECKGOTPLT: section-name: .got.plt -CHECKGOTPLT: permissions: rw- -CHECKGOTPLT: references: -CHECKGOTPLT: - kind: R_HEX_JMP_SLOT -CHECKGOTPLT: offset: 0 -CHECKGOTPLT: target: fn -CHECKGOTPLT: - kind: R_HEX_32 -CHECKGOTPLT: offset: 0 - target: .PLT0 - - name: __got_fn1 -CHECKGOTPLT: type: got -CHECKGOTPLT: content: [ 00, 00, 00, 00 ] -CHECKGOTPLT: alignment: 2^2 -CHECKGOTPLT: section-name: .got.plt -CHECKGOTPLT: permissions: rw- -CHECKGOTPLT: references: -CHECKGOTPLT: - kind: R_HEX_JMP_SLOT -CHECKGOTPLT: offset: 0 -CHECKGOTPLT: target: fn1 -CHECKGOTPLT: - kind: R_HEX_32 -CHECKGOTPLT: offset: 0 - target: .PLT0 - - name: __got_fn2 -CHECKGOTPLT: type: got -CHECKGOTPLT: content: [ 00, 00, 00, 00 ] -CHECKGOTPLT: alignment: 2^2 -CHECKGOTPLT: section-name: .got.plt -CHECKGOTPLT: permissions: rw- -CHECKGOTPLT: references: -CHECKGOTPLT: - kind: R_HEX_JMP_SLOT -CHECKGOTPLT: offset: 0 -CHECKGOTPLT: target: fn2 -CHECKGOTPLT: - kind: R_HEX_32 -CHECKGOTPLT: offset: 0 - target: .PLT0 |