summaryrefslogtreecommitdiffstats
path: root/lld/test/elf/Hexagon/dynlib-gotoff.test
diff options
context:
space:
mode:
Diffstat (limited to 'lld/test/elf/Hexagon/dynlib-gotoff.test')
-rw-r--r--lld/test/elf/Hexagon/dynlib-gotoff.test193
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
OpenPOWER on IntegriCloud