2 # Check assigning STO_MIPS_PLT flag to symbol needs a pointer equality.
4 # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux \
5 # RUN: %S/Inputs/mips-dynamic.s -o %t.so.o
6 # RUN: ld.lld %t.so.o -shared -o %t.so
7 # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux %s -o %t.o
8 # RUN: ld.lld %t.o %t.so -o %t.exe
9 # RUN: llvm-readobj --dyn-syms -A %t.exe | FileCheck %s
13 # CHECK-NEXT: Value: 0x0
15 # CHECK-NEXT: Binding: Global
16 # CHECK-NEXT: Type: Function
17 # CHECK-NEXT: Other: 0
18 # CHECK-NEXT: Section: Undefined
20 # CHECK-NEXT: Symbol {
21 # CHECK-NEXT: Name: foo1
22 # CHECK-NEXT: Value: 0x[[FOO1:[0-9A-F]+]]
24 # CHECK-NEXT: Binding: Global
25 # CHECK-NEXT: Type: Function
26 # CHECK-NEXT: Other [ (0x8)
27 # CHECK-NEXT: STO_MIPS_PLT
29 # CHECK-NEXT: Section: Undefined
32 # CHECK: Primary GOT {
33 # CHECK: Local entries [
35 # CHECK-NEXT: Global entries [
40 # CHECK-NEXT: Address:
41 # CHECK-NEXT: Initial:
42 # CHECK-NEXT: Value: 0x0
43 # CHECK-NEXT: Type: Function
44 # CHECK-NEXT: Section: Undefined
45 # CHECK-NEXT: Name: foo0
48 # CHECK-NEXT: Address:
49 # CHECK-NEXT: Initial:
50 # CHECK-NEXT: Value: 0x[[FOO1]]
51 # CHECK-NEXT: Type: Function
52 # CHECK-NEXT: Section: Undefined
53 # CHECK-NEXT: Name: foo1
60 jal foo0
# R_MIPS_26 against 'foo0' from DSO
61 lui $t0
,%hi
(foo1
) # R_MIPS_HI16/LO16 against 'foo1' from DSO
62 addi $t0
,$t0
,%lo
(foo1
)