annotate lld/test/ELF/mips-got-relocs.s @ 266:00f31e85ec16 default tip

Added tag current for changeset 31d058e83c98
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 14 Oct 2023 10:13:55 +0900
parents c4bab56944e8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
150
anatofuz
parents:
diff changeset
1 # REQUIRES: mips
anatofuz
parents:
diff changeset
2 # Check R_MIPS_GOT16 relocation calculation.
anatofuz
parents:
diff changeset
3
anatofuz
parents:
diff changeset
4 # RUN: echo "SECTIONS { \
anatofuz
parents:
diff changeset
5 # RUN: . = 0x20000; .text : { *(.text) } \
anatofuz
parents:
diff changeset
6 # RUN: . = 0x30000; .got : { *(.got) } \
anatofuz
parents:
diff changeset
7 # RUN: }" > %t.script
anatofuz
parents:
diff changeset
8
anatofuz
parents:
diff changeset
9 # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux %s -o %t-be.o
anatofuz
parents:
diff changeset
10 # RUN: ld.lld %t-be.o --script %t.script -o %t-be.exe
anatofuz
parents:
diff changeset
11 # RUN: llvm-readobj --sections -r --symbols -A %t-be.exe \
anatofuz
parents:
diff changeset
12 # RUN: | FileCheck -check-prefix=ELF %s
236
c4bab56944e8 LLVM 16
kono
parents: 173
diff changeset
13 # RUN: llvm-objdump --no-print-imm-hex -d %t-be.exe | FileCheck --check-prefix=DIS %s
150
anatofuz
parents:
diff changeset
14
anatofuz
parents:
diff changeset
15 # RUN: llvm-mc -filetype=obj -triple=mipsel-unknown-linux %s -o %t-el.o
anatofuz
parents:
diff changeset
16 # RUN: ld.lld %t-el.o --script %t.script -o %t-el.exe
anatofuz
parents:
diff changeset
17 # RUN: llvm-readobj --sections -r --symbols -A %t-el.exe \
anatofuz
parents:
diff changeset
18 # RUN: | FileCheck -check-prefix=ELF %s
236
c4bab56944e8 LLVM 16
kono
parents: 173
diff changeset
19 # RUN: llvm-objdump --no-print-imm-hex -d %t-el.exe | FileCheck --check-prefix=DIS %s
150
anatofuz
parents:
diff changeset
20
anatofuz
parents:
diff changeset
21 # RUN: ld.lld -shared %t-be.o --script %t.script -o %t-be.so
anatofuz
parents:
diff changeset
22 # RUN: llvm-readobj --sections -r --symbols -A %t-be.so \
anatofuz
parents:
diff changeset
23 # RUN: | FileCheck -check-prefix=ELF %s
236
c4bab56944e8 LLVM 16
kono
parents: 173
diff changeset
24 # RUN: llvm-objdump --no-print-imm-hex -d %t-be.so | FileCheck --check-prefix=DIS %s
150
anatofuz
parents:
diff changeset
25
anatofuz
parents:
diff changeset
26 # RUN: ld.lld -shared %t-el.o --script %t.script -o %t-el.so
anatofuz
parents:
diff changeset
27 # RUN: llvm-readobj --sections -r --symbols -A %t-el.so \
anatofuz
parents:
diff changeset
28 # RUN: | FileCheck -check-prefix=ELF %s
236
c4bab56944e8 LLVM 16
kono
parents: 173
diff changeset
29 # RUN: llvm-objdump --no-print-imm-hex -d %t-el.so | FileCheck --check-prefix=DIS %s
150
anatofuz
parents:
diff changeset
30
anatofuz
parents:
diff changeset
31 .text
anatofuz
parents:
diff changeset
32 .globl __start
anatofuz
parents:
diff changeset
33 __start:
anatofuz
parents:
diff changeset
34 lui $2, %got(v1)
anatofuz
parents:
diff changeset
35
anatofuz
parents:
diff changeset
36 .data
anatofuz
parents:
diff changeset
37 .globl v1
anatofuz
parents:
diff changeset
38 v1:
anatofuz
parents:
diff changeset
39 .word 0
anatofuz
parents:
diff changeset
40
anatofuz
parents:
diff changeset
41 # ELF: Section {
anatofuz
parents:
diff changeset
42 # ELF: Name: .got
anatofuz
parents:
diff changeset
43 # ELF: Flags [
anatofuz
parents:
diff changeset
44 # ELF-NEXT: SHF_ALLOC
anatofuz
parents:
diff changeset
45 # ELF-NEXT: SHF_MIPS_GPREL
anatofuz
parents:
diff changeset
46 # ELF-NEXT: SHF_WRITE
anatofuz
parents:
diff changeset
47 # ELF-NEXT: ]
anatofuz
parents:
diff changeset
48 #
anatofuz
parents:
diff changeset
49 # ELF: Relocations [
anatofuz
parents:
diff changeset
50 # ELF-NEXT: ]
anatofuz
parents:
diff changeset
51 #
anatofuz
parents:
diff changeset
52 # ELF: Symbol {
anatofuz
parents:
diff changeset
53 # ELF: Name: v1
anatofuz
parents:
diff changeset
54 # ELF-NEXT: Value: 0x[[V1:[0-9A-F]+]]
anatofuz
parents:
diff changeset
55 #
anatofuz
parents:
diff changeset
56 # ELF: {{.*}} GOT {
anatofuz
parents:
diff changeset
57 # ELF-NEXT: Canonical gp value: 0x37FF0
anatofuz
parents:
diff changeset
58 #
anatofuz
parents:
diff changeset
59 # ELF: Entry {
anatofuz
parents:
diff changeset
60 # ELF: Address: 0x30008
anatofuz
parents:
diff changeset
61 # ELF-NEXT: Access: -32744
anatofuz
parents:
diff changeset
62 # ELF-NEXT: Initial: 0x[[V1]]
anatofuz
parents:
diff changeset
63
anatofuz
parents:
diff changeset
64 # "v1 GOT entry address" - _gp
anatofuz
parents:
diff changeset
65 # 0x30008 - 0x37FF0 = -0x7fe8 == 0x8018 == 32792
anatofuz
parents:
diff changeset
66 # DIS: lui $2, 32792