1// REQUIRES: x86
2// RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o
3// RUN: ld.lld -shared %t.o -o %t0.so
4// RUN: ld.lld -shared -Bsymbolic %t.o -o %t1.so
5// RUN: ld.lld -shared -Bsymbolic-functions %t.o -o %t2.so
6// RUN: llvm-readobj -S %t0.so | FileCheck -check-prefix=NOOPTION %s
7// RUN: llvm-readobj -S %t1.so | FileCheck -check-prefix=SYMBOLIC %s
8// RUN: llvm-readobj -S %t2.so | FileCheck -check-prefix=SYMBOLIC %s
9
10// NOOPTION:     Section {
11// NOOPTION:       Name: .plt
12
13// SYMBOLIC: Section {
14// SYMBOLIC-NOT: Name: .plt
15
16.text
17.globl foo
18.type foo,@function
19foo:
20nop
21
22.globl bar
23.type bar,@function
24bar:
25nop
26
27.globl do
28.type do,@function
29do:
30callq foo@PLT
31callq bar@PLT
32
33.weak zed
34.protected zed
35.quad zed
36