1// REQUIRES: x86
2// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t
3//
4// RUN: ld.lld %t -shared -o %tout.so
5// RUN: llvm-readobj --dyn-syms %tout.so | FileCheck -check-prefix=GNU %s
6// RUN: ld.lld %t -shared -o %tout.so --gnu-unique
7// RUN: llvm-readobj --dyn-syms %tout.so | FileCheck -check-prefix=GNU %s
8//
9// RUN: ld.lld %t -shared -o %tout.so --no-gnu-unique
10// RUN: llvm-readobj --dyn-syms %tout.so | FileCheck -check-prefix=NO %s
11
12// Check that STB_GNU_UNIQUE is treated as a global and ends up in the dynamic
13// symbol table as STB_GNU_UNIQUE.
14
15.global _start
16.text
17_start:
18
19.data
20.type symb, @gnu_unique_object
21symb:
22
23# GNU:        Name: symb
24# GNU-NEXT:   Value:
25# GNU-NEXT:   Size: 0
26# GNU-NEXT:   Binding: Unique
27# GNU-NEXT:   Type: Object
28# GNU-NEXT:   Other: 0
29# GNU-NEXT:   Section: .data
30# GNU-NEXT: }
31
32# NO:        Name: symb
33# NO-NEXT:   Value:
34# NO-NEXT:   Size: 0
35# NO-NEXT:   Binding: Global
36# NO-NEXT:   Type: Object
37# NO-NEXT:   Other: 0
38# NO-NEXT:   Section: .data
39# NO-NEXT: }
40