1 # Check R_MIPS_COPY relocation emitting caused by R_MIPS_PCHI16 / R_MIPS_PCLO16
2 # relocations when linking non-shared executable file.
4 # RUN: yaml2obj -format=elf -docnum 1 %s > %t-so.o
5 # RUN: lld -flavor gnu -target mipsel -shared -o %t.so %t-so.o
6 # RUN: yaml2obj -format=elf -docnum 2 %s > %t-o.o
7 # RUN: lld -flavor gnu -target mipsel -e T0 -o %t.exe %t-o.o %t.so
8 # RUN: llvm-readobj -dt -r -dynamic-table %t.exe | FileCheck %s
10 # CHECK: Relocations [
11 # CHECK-NEXT: Section (5) .rel.dyn {
12 # CHECK-NEXT: 0x402008 R_MIPS_COPY D1 0x0
16 # CHECK: DynamicSymbols [
17 # CHECK-NEXT: Symbol {
18 # CHECK-NEXT: Name: @ (0)
19 # CHECK-NEXT: Value: 0x0
21 # CHECK-NEXT: Binding: Local (0x0)
22 # CHECK-NEXT: Type: None (0x0)
23 # CHECK-NEXT: Other: 0
24 # CHECK-NEXT: Section: Undefined (0x0)
26 # CHECK-NEXT: Symbol {
27 # CHECK-NEXT: Name: D1@ (1)
28 # CHECK-NEXT: Value: 0x402008
30 # CHECK-NEXT: Binding: Global (0x1)
31 # CHECK-NEXT: Type: Object (0x1)
32 # CHECK-NEXT: Other: 0
33 # CHECK-NEXT: Section: .bss (0xA)
37 # CHECK: DynamicSection [ ({{.*}} entries)
38 # CHECK: 0x00000001 NEEDED SharedLibrary (rel-copy-pc.test.tmp.so)
39 # CHECK-NEXT: 0x00000000 NULL 0x0
49 Flags: [EF_MIPS_PIC, EF_MIPS_CPIC, EF_MIPS_ABI_O32, EF_MIPS_ARCH_32R6]
56 Flags: [SHF_WRITE, SHF_ALLOC]
73 Flags: [EF_MIPS_CPIC, EF_MIPS_ABI_O32, EF_MIPS_ARCH_32R6]
80 Flags: [SHF_EXECINSTR, SHF_ALLOC]
86 Flags: [SHF_WRITE, SHF_ALLOC]