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