[ELF] Remove checking for spurious '@' at the end of dynamic sym names

llvm-readobj currently has a bug (see PR40097) where it prints '@' at
the end of unversioned dynamic symbols. This bug will be fixed in a
separate later commit, but these tests need fixing first.

Reviewed by: ruiu, Higuoxing

Differential Revision: https://reviews.llvm.org/D56388

llvm-svn: 350614
This commit is contained in:
James Henderson 2019-01-08 10:50:59 +00:00
parent 53000a74a5
commit 4ba1777a2d
54 changed files with 145 additions and 145 deletions

View File

@ -12,7 +12,7 @@
# CHECK: Symbol table of .hash for image:
# CHECK-NEXT: Num Buc: Value Size Type Bind Vis Ndx Name
# CHECK-NEXT: 1 1: 0000000000000000 0 FUNC WEAK DEFAULT UND foo@
# CHECK-NEXT: 1 1: 0000000000000000 0 FUNC WEAK DEFAULT UND foo
.globl _start
.weak foo

View File

@ -5,7 +5,7 @@
# CHECK: DynamicSymbols [
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Name: @
# CHECK-NEXT: Name:
# CHECK-NEXT: Value: 0x0
# CHECK-NEXT: Size: 0
# CHECK-NEXT: Binding: Local (0x0)
@ -14,7 +14,7 @@
# CHECK-NEXT: Section: Undefined (0x0)
# CHECK-NEXT: }
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Name: undef@
# CHECK-NEXT: Name: undef
# CHECK-NEXT: Value: 0x0
# CHECK-NEXT: Size: 0
# CHECK-NEXT: Binding: Global (0x1)

View File

@ -3,8 +3,8 @@
# RUN: ld.lld -gc-sections -export-dynamic %t -o %t1
# RUN: llvm-readobj --dyn-symbols %t1 | FileCheck %s
# CHECK: Name: bar@
# CHECK: Name: foo@
# CHECK: Name: bar
# CHECK: Name: foo
.comm foo,4,4
.comm bar,4,4

View File

@ -19,7 +19,7 @@ foo:
// CHECK: DynamicSymbols [
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: @
// CHECK-NEXT: Name:
// CHECK-NEXT: Value: 0x0
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Local

View File

@ -16,7 +16,7 @@
# DYNSYMS: DynamicSymbols [
# DYNSYMS-NEXT: Symbol {
# DYNSYMS-NEXT: Name: @ (0)
# DYNSYMS-NEXT: Name:
# DYNSYMS-NEXT: Value: 0x0
# DYNSYMS-NEXT: Size: 0
# DYNSYMS-NEXT: Binding: Local
@ -25,7 +25,7 @@
# DYNSYMS-NEXT: Section: Undefined
# DYNSYMS-NEXT: }
# DYNSYMS-NEXT: Symbol {
# DYNSYMS-NEXT: Name: bar@
# DYNSYMS-NEXT: Name: bar
# DYNSYMS-NEXT: Value:
# DYNSYMS-NEXT: Size:
# DYNSYMS-NEXT: Binding: Global
@ -34,7 +34,7 @@
# DYNSYMS-NEXT: Section:
# DYNSYMS-NEXT: }
# DYNSYMS-NEXT: Symbol {
# DYNSYMS-NEXT: Name: ext@
# DYNSYMS-NEXT: Name: ext
# DYNSYMS-NEXT: Value:
# DYNSYMS-NEXT: Size:
# DYNSYMS-NEXT: Binding: Global
@ -43,7 +43,7 @@
# DYNSYMS-NEXT: Section:
# DYNSYMS-NEXT: }
# DYNSYMS-NEXT: Symbol {
# DYNSYMS-NEXT: Name: foo@
# DYNSYMS-NEXT: Name: foo
# DYNSYMS-NEXT: Value:
# DYNSYMS-NEXT: Size:
# DYNSYMS-NEXT: Binding: Global

View File

@ -8,7 +8,7 @@
# CHECK: DynamicSymbols [
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Name: @ (0)
# CHECK-NEXT: Name:
# CHECK-NEXT: Value: 0x0
# CHECK-NEXT: Size: 0
# CHECK-NEXT: Binding: Local (0x0)
@ -17,7 +17,7 @@
# CHECK-NEXT: Section: Undefined (0x0)
# CHECK-NEXT: }
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Name: foo1@ (1)
# CHECK-NEXT: Name: foo1
# CHECK-NEXT: Value: 0x1000
# CHECK-NEXT: Size: 0
# CHECK-NEXT: Binding: Global (0x1)
@ -26,7 +26,7 @@
# CHECK-NEXT: Section: .text (0x4)
# CHECK-NEXT: }
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Name: foo11@ (6)
# CHECK-NEXT: Name: foo11
# CHECK-NEXT: Value: 0x1001
# CHECK-NEXT: Size: 0
# CHECK-NEXT: Binding: Global (0x1)

View File

@ -23,7 +23,7 @@
# CHECK: DynamicSymbols [
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Name: @
# CHECK-NEXT: Name:
# CHECK-NEXT: Value: 0x0
# CHECK-NEXT: Size: 0
# CHECK-NEXT: Binding: Local
@ -32,7 +32,7 @@
# CHECK-NEXT: Section: Undefined
# CHECK-NEXT: }
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Name: foo1@
# CHECK-NEXT: Name: foo1
# CHECK-NEXT: Value: 0x201000
# CHECK-NEXT: Size: 0
# CHECK-NEXT: Binding: Global (0x1)
@ -54,7 +54,7 @@
# CHECK2: DynamicSymbols [
# CHECK2-NEXT: Symbol {
# CHECK2-NEXT: Name: @
# CHECK2-NEXT: Name:
# CHECK2-NEXT: Value: 0x0
# CHECK2-NEXT: Size: 0
# CHECK2-NEXT: Binding: Local
@ -63,7 +63,7 @@
# CHECK2-NEXT: Section: Undefined
# CHECK2-NEXT: }
# CHECK2-NEXT: Symbol {
# CHECK2-NEXT: Name: foo1@
# CHECK2-NEXT: Name: foo1
# CHECK2-NEXT: Value: 0x201000
# CHECK2-NEXT: Size: 0
# CHECK2-NEXT: Binding: Global (0x1)
@ -72,7 +72,7 @@
# CHECK2-NEXT: Section: .text (0x4)
# CHECK2-NEXT: }
# CHECK2-NEXT: Symbol {
# CHECK2-NEXT: Name: foo2@
# CHECK2-NEXT: Name: foo2
# CHECK2-NEXT: Value: 0x201001
# CHECK2-NEXT: Size: 0
# CHECK2-NEXT: Binding: Global (0x1)
@ -81,7 +81,7 @@
# CHECK2-NEXT: Section: .text (0x4)
# CHECK2-NEXT: }
# CHECK2-NEXT: Symbol {
# CHECK2-NEXT: Name: foo31@
# CHECK2-NEXT: Name: foo31
# CHECK2-NEXT: Value: 0x201002
# CHECK2-NEXT: Size: 0
# CHECK2-NEXT: Binding: Global (0x1)
@ -104,7 +104,7 @@
# CHECK3: DynamicSymbols [
# CHECK3-NEXT: Symbol {
# CHECK3-NEXT: Name: @
# CHECK3-NEXT: Name:
# CHECK3-NEXT: Value: 0x0
# CHECK3-NEXT: Size: 0
# CHECK3-NEXT: Binding: Local
@ -113,7 +113,7 @@
# CHECK3-NEXT: Section: Undefined
# CHECK3-NEXT: }
# CHECK3-NEXT: Symbol {
# CHECK3-NEXT: Name: _start@
# CHECK3-NEXT: Name: _start
# CHECK3-NEXT: Value: 0x201003
# CHECK3-NEXT: Size: 0
# CHECK3-NEXT: Binding: Global (0x1)
@ -122,7 +122,7 @@
# CHECK3-NEXT: Section: .text (0x4)
# CHECK3-NEXT: }
# CHECK3-NEXT: Symbol {
# CHECK3-NEXT: Name: foo1@
# CHECK3-NEXT: Name: foo1
# CHECK3-NEXT: Value: 0x201000
# CHECK3-NEXT: Size: 0
# CHECK3-NEXT: Binding: Global (0x1)
@ -131,7 +131,7 @@
# CHECK3-NEXT: Section: .text (0x4)
# CHECK3-NEXT: }
# CHECK3-NEXT: Symbol {
# CHECK3-NEXT: Name: foo2@
# CHECK3-NEXT: Name: foo2
# CHECK3-NEXT: Value: 0x201001
# CHECK3-NEXT: Size: 0
# CHECK3-NEXT: Binding: Global (0x1)
@ -140,7 +140,7 @@
# CHECK3-NEXT: Section: .text (0x4)
# CHECK3-NEXT: }
# CHECK3-NEXT: Symbol {
# CHECK3-NEXT: Name: foo31@
# CHECK3-NEXT: Name: foo31
# CHECK3-NEXT: Value: 0x201002
# CHECK3-NEXT: Size: 0
# CHECK3-NEXT: Binding: Global (0x1)

View File

@ -5,7 +5,7 @@
# CHECK: DynamicSymbols [
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Name: @ (0)
# CHECK-NEXT: Name:
# CHECK-NEXT: Value: 0x0
# CHECK-NEXT: Size: 0
# CHECK-NEXT: Binding: Local
@ -14,7 +14,7 @@
# CHECK-NEXT: Section: Undefined
# CHECK-NEXT: }
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Name: undef@
# CHECK-NEXT: Name: undef
# CHECK-NEXT: Value: 0x0
# CHECK-NEXT: Size: 0
# CHECK-NEXT: Binding: Global

View File

@ -50,7 +50,7 @@
# CHECK: DynamicSymbols [
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Name: @
# CHECK-NEXT: Name:
# CHECK-NEXT: Value: 0x0
# CHECK-NEXT: Size: 0
# CHECK-NEXT: Binding: Local

View File

@ -29,7 +29,7 @@
// CHECK-NEXT: Symbols [
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Version: 0
// CHECK-NEXT: Name: @
// CHECK-NEXT: Name:
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Version: 2

View File

@ -8,11 +8,11 @@
# CHECK: Symbols [
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Version: 0
# CHECK-NEXT: Name: @
# CHECK-NEXT: Name:
# CHECK-NEXT: }
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Version: 1
# CHECK-NEXT: Name: bar@@
# CHECK-NEXT: Name: bar@
# CHECK-NEXT: }
# CHECK-NEXT: ]

View File

@ -4,7 +4,7 @@
# RUN: ld.lld %t.o -o %t.so --gc-sections -shared
# RUN: llvm-readobj --dyn-symbols %t.so | FileCheck %s
# CHECK: Name: _end@
# CHECK: Name: _end
# CHECK-NEXT: Value:
# CHECK-NEXT: Size:
# CHECK-NEXT: Binding: Global

View File

@ -13,10 +13,10 @@
# CHECK: Symbol table '.dynsym' contains 4 entries:
# CHECK-NEXT: Num: Value Size Type Bind Vis Ndx Name
# CHECK-NEXT: 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND @
# CHECK-NEXT: 1: 0000000000000000 0 OBJECT GLOBAL DEFAULT UND foo@
# CHECK-DAG: : {{.*}} 4 OBJECT GLOBAL DEFAULT {{.*}} bar@
# CHECK-DAG: : {{.*}} 0 FUNC GLOBAL DEFAULT UND zed@
# CHECK-NEXT: 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
# CHECK-NEXT: 1: 0000000000000000 0 OBJECT GLOBAL DEFAULT UND foo
# CHECK-DAG: : {{.*}} 4 OBJECT GLOBAL DEFAULT {{.*}} bar
# CHECK-DAG: : {{.*}} 0 FUNC GLOBAL DEFAULT UND zed
# CHECK: First Hashed Symbol Index: 2

View File

@ -49,7 +49,7 @@
# EMPTY: DynamicSymbols [
# EMPTY: Symbol {
# EMPTY: Name: foo@
# EMPTY: Name: foo
# EMPTY-NEXT: Value: 0x0
# EMPTY-NEXT: Size: 0
# EMPTY-NEXT: Binding: Global
@ -87,32 +87,32 @@
# I386: ]
# I386: DynamicSymbols [
# I386: Symbol {
# I386: Name: @
# I386: Name:
# I386: Binding: Local
# I386: Section: Undefined
# I386: }
# I386: Symbol {
# I386: Name: baz@
# I386: Name: baz
# I386: Binding: Global
# I386: Section: Undefined
# I386: }
# I386: Symbol {
# I386: Name: xyz@
# I386: Name: xyz
# I386: Binding: Global
# I386: Section: Undefined
# I386: }
# I386: Symbol {
# I386: Name: zed@
# I386: Name: zed
# I386: Binding: Weak
# I386: Section: Undefined
# I386: }
# I386: Symbol {
# I386: Name: bar@
# I386: Name: bar
# I386: Binding: Global
# I386: Section: .text
# I386: }
# I386: Symbol {
# I386: Name: foo@
# I386: Name: foo
# I386: Binding: Global
# I386: Section: .text
# I386: }
@ -147,32 +147,32 @@
# X86_64: ]
# X86_64: DynamicSymbols [
# X86_64: Symbol {
# X86_64: Name: @
# X86_64: Name:
# X86_64: Binding: Local
# X86_64: Section: Undefined
# X86_64: }
# X86_64: Symbol {
# X86_64: Name: baz@
# X86_64: Name: baz
# X86_64: Binding: Global
# X86_64: Section: Undefined
# X86_64: }
# X86_64: Symbol {
# X86_64: Name: xyz@
# X86_64: Name: xyz
# X86_64: Binding: Global
# X86_64: Section: Undefined
# X86_64: }
# X86_64: Symbol {
# X86_64: Name: zed@
# X86_64: Name: zed
# X86_64: Binding: Weak
# X86_64: Section: Undefined
# X86_64: }
# X86_64: Symbol {
# X86_64: Name: bar@
# X86_64: Name: bar
# X86_64: Binding: Global
# X86_64: Section: .text
# X86_64: }
# X86_64: Symbol {
# X86_64: Name: foo@
# X86_64: Name: foo
# X86_64: Binding: Global
# X86_64: Section: .text
# X86_64: }
@ -207,32 +207,32 @@
# PPC64: ]
# PPC64: DynamicSymbols [
# PPC64: Symbol {
# PPC64: Name: @
# PPC64: Name:
# PPC64: Binding: Local
# PPC64: Section: Undefined
# PPC64: }
# PPC64: Symbol {
# PPC64: Name: baz@
# PPC64: Name: baz
# PPC64: Binding: Global
# PPC64: Section: Undefined
# PPC64: }
# PPC64: Symbol {
# PPC64: Name: xyz@
# PPC64: Name: xyz
# PPC64: Binding: Global
# PPC64: Section: Undefined
# PPC64: }
# PPC64: Symbol {
# PPC64: Name: zed@
# PPC64: Name: zed
# PPC64: Binding: Weak
# PPC64: Section: Undefined
# PPC64: }
# PPC64: Symbol {
# PPC64: Name: bar@
# PPC64: Name: bar
# PPC64: Binding: Global
# PPC64: Section: .text
# PPC64: }
# PPC64: Symbol {
# PPC64: Name: foo@
# PPC64: Name: foo
# PPC64: Binding: Global
# PPC64: Section: .text
# PPC64: }

View File

@ -20,7 +20,7 @@ _start:
.type symb, @gnu_unique_object
symb:
# GNU: Name: symb@
# GNU: Name: symb
# GNU-NEXT: Value:
# GNU-NEXT: Size: 0
# GNU-NEXT: Binding: Unique
@ -29,7 +29,7 @@ symb:
# GNU-NEXT: Section: .data
# GNU-NEXT: }
# NO: Name: symb@
# NO: Name: symb
# NO-NEXT: Value:
# NO-NEXT: Size: 0
# NO-NEXT: Binding: Global

View File

@ -6,7 +6,7 @@
# RUN: ld.lld -o %t --script %t.script %t.o %t2.so
# RUN: llvm-readelf --dyn-symbols %t | FileCheck %s
# CHECK: 1 1: 000000000000002a 0 NOTYPE GLOBAL DEFAULT ABS foo@
# CHECK: 1 1: 000000000000002a 0 NOTYPE GLOBAL DEFAULT ABS foo
.global _start
_start:

View File

@ -14,11 +14,11 @@
# CHECK: Symbols [
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Version: 0
# CHECK-NEXT: Name: @
# CHECK-NEXT: Name:
# CHECK-NEXT: }
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Version: 0
# CHECK-NEXT: Name: und@
# CHECK-NEXT: Name: und
# CHECK-NEXT: }
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Version: 2
@ -41,7 +41,7 @@
# UNDEF: Symbols [
# UNDEF-NEXT: Symbol {
# UNDEF-NEXT: Version: 0
# UNDEF-NEXT: Name: @
# UNDEF-NEXT: Name:
# UNDEF-NEXT: }
# UNDEF-NEXT: Symbol {
# UNDEF-NEXT: Version: 2

View File

@ -65,7 +65,7 @@
// CHECK: DynamicSymbols [
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: @
// CHECK-NEXT: Name:
// CHECK-NEXT: Value: 0x0
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Local
@ -74,7 +74,7 @@
// CHECK-NEXT: Section: Undefined
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: _start@
// CHECK-NEXT: Name: _start
// CHECK-NEXT: Value:
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Global

View File

@ -14,8 +14,8 @@
# CHECK: Symbol table '.dynsym' contains 2 entries:
# CHECK-NEXT: Num: Value Size Type Bind Vis Ndx Name
# CHECK-NEXT: 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND @
# CHECK-NEXT: 1: 0000000000201020 0 FUNC GLOBAL DEFAULT UND foo@
# CHECK-NEXT: 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
# CHECK-NEXT: 1: 0000000000201020 0 FUNC GLOBAL DEFAULT UND foo
.globl _start
_start:

View File

@ -4,7 +4,7 @@
; RUN: ld.lld -o %t --dynamic-list %t.list -pie %t.o
; RUN: llvm-readobj -dyn-symbols %t | FileCheck %s
; CHECK: Name: foo@
; CHECK: Name: foo
; CHECK-NEXT: Value: 0x1010
; CHECK-NEXT: Size: 1
; CHECK-NEXT: Binding: Global (0x1)

View File

@ -6,7 +6,7 @@
; RUN: ld.lld -o %t %t.o %t2.so
; RUN: llvm-readobj -dyn-symbols %t | FileCheck %s
; CHECK: Name: __progname@
; CHECK: Name: __progname
; CHECK-NEXT: Value: 0x201010
; CHECK-NEXT: Size: 1
; CHECK-NEXT: Binding: Global (0x1)

View File

@ -25,4 +25,4 @@ declare i32 @printf(i8*, ...)
; CHECK: DynamicSymbols [
; CHECK: Symbol {
; CHECK: Name: puts@
; CHECK: Name: puts

View File

@ -21,7 +21,7 @@ define void @bar() {
; DSO: DynamicSymbols [
; DSO: Symbol {
; DSO: Name: @ (0)
; DSO: Name:
; DSO: Value: 0x0
; DSO: Size: 0
; DSO: Binding: Local

View File

@ -97,9 +97,9 @@
# DSO-NEXT: Size: 8
# DSO: ]
# DSO: DynamicSymbols [
# DSO: Name: @
# DSO: Name: __start@
# DSO: Name: _foo@
# DSO: Name:
# DSO: Name: __start
# DSO: Name: _foo
# DSO: ]
# DSO: DynamicSection [
# DSO-NEXT: Tag Type Name/Value

View File

@ -36,7 +36,7 @@ __start:
# the MIPS rules. v2 comes first as it is not in the GOT.
# v1 and v3 are sorted according to their order in the GOT.
# CHECK: DynamicSymbols [
# CHECK: Name: v2@
# CHECK: Name: v3@
# CHECK: Name: v1@
# CHECK: Name: v2
# CHECK: Name: v3
# CHECK: Name: v1
# CHECK: ]

View File

@ -32,7 +32,7 @@
# CHECK-NEXT: Value: 0x[[DATA0]]
# CHECK-NEXT: Type: Object
# CHECK-NEXT: Section: .bss
# CHECK-NEXT: Name: data0@
# CHECK-NEXT: Name: data0
# CHECK-NEXT: }
# CHECK-NEXT: Entry {
# CHECK-NEXT: Address:
@ -41,7 +41,7 @@
# CHECK-NEXT: Value: 0x[[DATA1]]
# CHECK-NEXT: Type: Object
# CHECK-NEXT: Section: .bss
# CHECK-NEXT: Name: data1@
# CHECK-NEXT: Name: data1
# CHECK-NEXT: }
# CHECK-NEXT: ]
# CHECK-NEXT: Number of TLS and multi-GOT entries: 0

View File

@ -43,7 +43,7 @@
# CHECK-NEXT: Value: 0x0
# CHECK-NEXT: Type: None
# CHECK-NEXT: Section: Undefined
# CHECK-NEXT: Name: _foo@
# CHECK-NEXT: Name: _foo
# CHECK-NEXT: }
# CHECK-NEXT: ]

View File

@ -96,7 +96,7 @@
# GOT-NEXT: Value: 0x0
# GOT-NEXT: Type: None
# GOT-NEXT: Section: Undefined
# GOT-NEXT: Name: foo@
# GOT-NEXT: Name: foo
# GOT-NEXT: }
# GOT-NEXT: ]
# GOT-NEXT: Number of TLS and multi-GOT entries: 0

View File

@ -80,7 +80,7 @@
# CHECK-NEXT: Value: 0x20041
# CHECK-NEXT: Type: Function
# CHECK-NEXT: Section: Undefined
# CHECK-NEXT: Name: foo0@
# CHECK-NEXT: Name: foo0
# CHECK-NEXT: }
# CHECK-NEXT: ]
# CHECK-NEXT: }

View File

@ -9,7 +9,7 @@
# RUN: llvm-readobj -dt -mips-plt-got %t.exe | FileCheck %s
# CHECK: Symbol {
# CHECK: Name: foo0@
# CHECK: Name: foo0
# CHECK-NEXT: Value: 0x0
# CHECK-NEXT: Size: 0
# CHECK-NEXT: Binding: Global
@ -18,7 +18,7 @@
# CHECK-NEXT: Section: Undefined
# CHECK-NEXT: }
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Name: foo1@
# CHECK-NEXT: Name: foo1
# CHECK-NEXT: Value: 0x[[FOO1:[0-9A-F]+]]
# CHECK-NEXT: Size: 0
# CHECK-NEXT: Binding: Global

View File

@ -17,7 +17,7 @@
// RUN: ld.lld -dynamic-list %t.dynlist -o %t %t.o %t.so
// RUN: llvm-readobj -dyn-symbols %t | FileCheck %s
// CHECK: Name: __progname@
// CHECK: Name: __progname
// CHECK-NEXT: Value: 0x201000
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Global (0x1)

View File

@ -32,7 +32,7 @@ bar:
// CHECK: DynamicSymbols [
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: @
// CHECK-NEXT: Name:
// CHECK-NEXT: Value: 0x0
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Local (0x0)
@ -41,7 +41,7 @@ bar:
// CHECK-NEXT: Section: Undefined (0x0)
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: foo@
// CHECK-NEXT: Name: foo
// CHECK-NEXT: Value: 0x0
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Global

View File

@ -32,7 +32,7 @@
// CHECK: DynamicSymbols [
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: @
// CHECK-NEXT: Name:
// CHECK-NEXT: Value: 0x0
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Local
@ -41,7 +41,7 @@
// CHECK-NEXT: Section: Undefined
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: external@
// CHECK-NEXT: Name: external
// CHECK-NEXT: Value: 0x0
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Global

View File

@ -28,7 +28,7 @@
// CHECK: DynamicSymbols [
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: @
// CHECK-NEXT: Name:
// CHECK-NEXT: Value: 0x0
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Local
@ -37,7 +37,7 @@
// CHECK-NEXT: Section: Undefined
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: external@
// CHECK-NEXT: Name: external
// CHECK-NEXT: Value: 0x0
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Global

View File

@ -11,7 +11,7 @@
# CHECK: DynamicSymbols [
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Name: @
# CHECK-NEXT: Name:
# CHECK-NEXT: Value:
# CHECK-NEXT: Size:
# CHECK-NEXT: Binding:

View File

@ -181,7 +181,7 @@
// CHECK: DynamicSymbols [
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: @
// CHECK-NEXT: Name:
// CHECK-NEXT: Value: 0x0
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Local
@ -190,7 +190,7 @@
// CHECK-NEXT: Section: Undefined
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: _start@
// CHECK-NEXT: Name: _start
// CHECK-NEXT: Value: 0x401000
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Global
@ -199,7 +199,7 @@
// CHECK-NEXT: Section: .text
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: bar@
// CHECK-NEXT: Name: bar
// CHECK-NEXT: Value: 0x0
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Global
@ -208,7 +208,7 @@
// CHECK-NEXT: Section: Undefined
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: zed@
// CHECK-NEXT: Name: zed
// CHECK-NEXT: Value: 0x0
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Global
@ -220,7 +220,7 @@
// DONT_EXPORT: DynamicSymbols [
// DONT_EXPORT-NEXT: Symbol {
// DONT_EXPORT-NEXT: Name: @
// DONT_EXPORT-NEXT: Name:
// DONT_EXPORT-NEXT: Value: 0x0
// DONT_EXPORT-NEXT: Size: 0
// DONT_EXPORT-NEXT: Binding: Local (0x0)
@ -229,7 +229,7 @@
// DONT_EXPORT-NEXT: Section: Undefined (0x0)
// DONT_EXPORT-NEXT: }
// DONT_EXPORT-NEXT: Symbol {
// DONT_EXPORT-NEXT: Name: bar@
// DONT_EXPORT-NEXT: Name: bar
// DONT_EXPORT-NEXT: Value: 0x0
// DONT_EXPORT-NEXT: Size: 0
// DONT_EXPORT-NEXT: Binding: Global
@ -238,7 +238,7 @@
// DONT_EXPORT-NEXT: Section: Undefined
// DONT_EXPORT-NEXT: }
// DONT_EXPORT-NEXT: Symbol {
// DONT_EXPORT-NEXT: Name: zed@
// DONT_EXPORT-NEXT: Name: zed
// DONT_EXPORT-NEXT: Value: 0x0
// DONT_EXPORT-NEXT: Size: 0
// DONT_EXPORT-NEXT: Binding: Global

View File

@ -6,7 +6,7 @@
# CHECK: DynamicSymbols [
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Name: @
# CHECK-NEXT: Name:
# CHECK-NEXT: Value: 0x0
# CHECK-NEXT: Size: 0
# CHECK-NEXT: Binding: Local (0x0)
@ -15,7 +15,7 @@
# CHECK-NEXT: Section: Undefined (0x0)
# CHECK-NEXT: }
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Name: bar@
# CHECK-NEXT: Name: bar
# CHECK-NEXT: Value: 0x0
# CHECK-NEXT: Size: 0
# CHECK-NEXT: Binding: Weak (0x2)
@ -24,7 +24,7 @@
# CHECK-NEXT: Section: Undefined (0x0)
# CHECK-NEXT: }
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Name: foo@
# CHECK-NEXT: Name: foo
# CHECK-NEXT: Value: 0x0
# CHECK-NEXT: Size: 0
# CHECK-NEXT: Binding: Global (0x1)

View File

@ -8,7 +8,7 @@
# DSO: DynamicSymbols [
# DSO-NEXT: Symbol {
# DSO-NEXT: Name: @
# DSO-NEXT: Name:
# DSO-NEXT: Value: 0x0
# DSO-NEXT: Size: 0
# DSO-NEXT: Binding: Local
@ -61,7 +61,7 @@
# DSO-NEXT: Symbols [
# DSO-NEXT: Symbol {
# DSO-NEXT: Version: 0
# DSO-NEXT: Name: @
# DSO-NEXT: Name:
# DSO-NEXT: }
# DSO-NEXT: Symbol {
# DSO-NEXT: Version: 2
@ -112,7 +112,7 @@
# EXE: DynamicSymbols [
# EXE-NEXT: Symbol {
# EXE-NEXT: Name: @
# EXE-NEXT: Name:
# EXE-NEXT: Value: 0x0
# EXE-NEXT: Size: 0
# EXE-NEXT: Binding: Local
@ -156,7 +156,7 @@
# EXE-NEXT: Symbols [
# EXE-NEXT: Symbol {
# EXE-NEXT: Version: 0
# EXE-NEXT: Name: @
# EXE-NEXT: Name:
# EXE-NEXT: }
# EXE-NEXT: Symbol {
# EXE-NEXT: Version: 2

View File

@ -14,7 +14,7 @@
# DSO-NEXT: Symbols [
# DSO-NEXT: Symbol {
# DSO-NEXT: Version: 0
# DSO-NEXT: Name: @
# DSO-NEXT: Name:
# DSO-NEXT: }
# DSO-NEXT: Symbol {
# DSO-NEXT: Version: 2
@ -76,7 +76,7 @@
# MAIN-NEXT: Symbols [
# MAIN-NEXT: Symbol {
# MAIN-NEXT: Version: 0
# MAIN-NEXT: Name: @
# MAIN-NEXT: Name:
# MAIN-NEXT: }
# MAIN-NEXT: Symbol {
# MAIN-NEXT: Version: 2

View File

@ -76,7 +76,7 @@
# CHECK: DynamicSymbols [
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Name: @
# CHECK-NEXT: Name:
# CHECK-NEXT: Value: 0x0
# CHECK-NEXT: Size: 0
# CHECK-NEXT: Binding: Local (0x0)
@ -125,7 +125,7 @@
# CHECK-NEXT: Symbols [
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Version: 0
# CHECK-NEXT: Name: @
# CHECK-NEXT: Name:
# CHECK-NEXT: }
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Version: 2

View File

@ -4,14 +4,14 @@
# RUN: echo "FOO { global: extern \"C++\" { ab[c]*; }; };" > %t.script
# RUN: ld.lld --version-script %t.script -shared %t.o -o %t.so
# RUN: llvm-readobj -V %t.so | FileCheck %s --check-prefix=ABC
# ABC: Name: _Z3abbi@
# ABC: Name: _Z3abbi
# ABC: Name: _Z3abci@@FOO
# RUN: echo "FOO { global: extern \"C++\" { ab[b]*; }; };" > %t1.script
# RUN: ld.lld --version-script %t1.script -shared %t.o -o %t1.so
# RUN: llvm-readobj -V %t1.so | FileCheck %s --check-prefix=ABB
# ABB: Name: _Z3abbi@@FOO
# ABB: Name: _Z3abci@
# ABB: Name: _Z3abci
# RUN: echo "FOO { global: extern \"C++\" { ab[a-b]*; }; };" > %t2.script
# RUN: ld.lld --version-script %t2.script -shared %t.o -o %t2.so
@ -34,8 +34,8 @@
# RUN: echo "FOO { global: extern \"C++\" { ab[^a-c]*; }; };" > %t6.script
# RUN: ld.lld --version-script %t6.script -shared %t.o -o %t6.so
# RUN: llvm-readobj -V %t6.so | FileCheck %s --check-prefix=NO
# NO: Name: _Z3abbi@
# NO: Name: _Z3abci@
# NO: Name: _Z3abbi
# NO: Name: _Z3abci
# RUN: echo "FOO { global: extern \"C++\" { ab[^c-z]*; }; };" > %t7.script
# RUN: ld.lld --version-script %t7.script -shared %t.o -o %t7.so

View File

@ -8,11 +8,11 @@
# CHECK: Symbols [
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Version: 0
# CHECK-NEXT: Name: @
# CHECK-NEXT: Name:
# CHECK-NEXT: }
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Version: 1
# CHECK-NEXT: Name: _Z3abbi@
# CHECK-NEXT: Name: _Z3abbi
# CHECK-NEXT: }
# CHECK-NEXT: ]

View File

@ -8,7 +8,7 @@
# CHECK: Version symbols {
# CHECK: Symbols [
# CHECK: Name: _Z3bari@
# CHECK: Name: _Z3bari
# CHECK: Name: _Z3fooi@@FOO
# CHECK: Name: _Z3zedi@@BAR

View File

@ -12,7 +12,7 @@
# DSO: DynamicSymbols [
# DSO-NEXT: Symbol {
# DSO-NEXT: Name: @
# DSO-NEXT: Name:
# DSO-NEXT: Value: 0x0
# DSO-NEXT: Size: 0
# DSO-NEXT: Binding: Local
@ -74,7 +74,7 @@
# DSO-NEXT: Symbols [
# DSO-NEXT: Symbol {
# DSO-NEXT: Version: 0
# DSO-NEXT: Name: @
# DSO-NEXT: Name:
# DSO-NEXT: }
# DSO-NEXT: Symbol {
# DSO-NEXT: Version: 3

View File

@ -8,7 +8,7 @@
# CHECK: Symbols [
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Version: 0
# CHECK-NEXT: Name: @
# CHECK-NEXT: Name:
# CHECK-NEXT: }
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Version: 2

View File

@ -12,7 +12,7 @@
# CHECK: DynamicSymbols [
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Name: @ (0)
# CHECK-NEXT: Name:
# CHECK-NEXT: Value: 0x0
# CHECK-NEXT: Size: 0
# CHECK-NEXT: Binding: Local

View File

@ -7,11 +7,11 @@
# ABB: Symbols [
# ABB-NEXT: Symbol {
# ABB-NEXT: Version: 0
# ABB-NEXT: Name: @
# ABB-NEXT: Name:
# ABB-NEXT: }
# ABB-NEXT: Symbol {
# ABB-NEXT: Version: 1
# ABB-NEXT: Name: _Z3abci@
# ABB-NEXT: Name: _Z3abci
# ABB-NEXT: }
# ABB-NEXT: ]
@ -26,11 +26,11 @@
# ABC: Symbols [
# ABC-NEXT: Symbol {
# ABC-NEXT: Version: 0
# ABC-NEXT: Name: @
# ABC-NEXT: Name:
# ABC-NEXT: }
# ABC-NEXT: Symbol {
# ABC-NEXT: Version: 1
# ABC-NEXT: Name: _Z3abbi@
# ABC-NEXT: Name: _Z3abbi
# ABC-NEXT: }
# ABC-NEXT: ]

View File

@ -7,7 +7,7 @@
# CHECK: Symbols [
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Version: 0
# CHECK-NEXT: Name: @
# CHECK-NEXT: Name:
# CHECK-NEXT: }
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Version: 3

View File

@ -14,7 +14,7 @@
# CHECK-NEXT: }
# CHECK-NEXT: ]
# CHECK: Symbol {
# CHECK: Name: foo@
# CHECK: Name: foo
# CHECK-NEXT: Value: 0x0
# CHECK-NEXT: Size: 0
# CHECK-NEXT: Binding: Weak

View File

@ -50,7 +50,7 @@
# DSO: DynamicSymbols [
# DSO-NEXT: Symbol {
# DSO-NEXT: Name: @
# DSO-NEXT: Name:
# DSO-NEXT: Value: 0x0
# DSO-NEXT: Size: 0
# DSO-NEXT: Binding: Local (0x0)
@ -59,7 +59,7 @@
# DSO-NEXT: Section: Undefined (0x0)
# DSO-NEXT: }
# DSO-NEXT: Symbol {
# DSO-NEXT: Name: bar@
# DSO-NEXT: Name: bar
# DSO-NEXT: Value: 0x0
# DSO-NEXT: Size: 0
# DSO-NEXT: Binding: Global (0x1)
@ -68,7 +68,7 @@
# DSO-NEXT: Section: Undefined (0x0)
# DSO-NEXT: }
# DSO-NEXT: Symbol {
# DSO-NEXT: Name: foo1@
# DSO-NEXT: Name: foo1
# DSO-NEXT: Value: 0x1000
# DSO-NEXT: Size: 0
# DSO-NEXT: Binding: Global (0x1)
@ -77,7 +77,7 @@
# DSO-NEXT: Section: .text
# DSO-NEXT: }
# DSO-NEXT: Symbol {
# DSO-NEXT: Name: foo3@
# DSO-NEXT: Name: foo3
# DSO-NEXT: Value: 0x1007
# DSO-NEXT: Size: 0
# DSO-NEXT: Binding: Global (0x1)
@ -89,7 +89,7 @@
# DSO2: DynamicSymbols [
# DSO2-NEXT: Symbol {
# DSO2-NEXT: Name: @
# DSO2-NEXT: Name:
# DSO2-NEXT: Value: 0x0
# DSO2-NEXT: Size: 0
# DSO2-NEXT: Binding: Local (0x0)
@ -98,7 +98,7 @@
# DSO2-NEXT: Section: Undefined (0x0)
# DSO2-NEXT: }
# DSO2-NEXT: Symbol {
# DSO2-NEXT: Name: bar@
# DSO2-NEXT: Name: bar
# DSO2-NEXT: Value: 0x0
# DSO2-NEXT: Size: 0
# DSO2-NEXT: Binding: Global (0x1)
@ -110,7 +110,7 @@
# VERDSO: DynamicSymbols [
# VERDSO-NEXT: Symbol {
# VERDSO-NEXT: Name: @
# VERDSO-NEXT: Name:
# VERDSO-NEXT: Value: 0x0
# VERDSO-NEXT: Size: 0
# VERDSO-NEXT: Binding: Local
@ -119,7 +119,7 @@
# VERDSO-NEXT: Section: Undefined
# VERDSO-NEXT: }
# VERDSO-NEXT: Symbol {
# VERDSO-NEXT: Name: bar@
# VERDSO-NEXT: Name: bar
# VERDSO-NEXT: Value: 0x0
# VERDSO-NEXT: Size: 0
# VERDSO-NEXT: Binding: Global
@ -158,7 +158,7 @@
# ALL: DynamicSymbols [
# ALL-NEXT: Symbol {
# ALL-NEXT: Name: @
# ALL-NEXT: Name:
# ALL-NEXT: Value: 0x0
# ALL-NEXT: Size: 0
# ALL-NEXT: Binding: Local
@ -167,7 +167,7 @@
# ALL-NEXT: Section: Undefined
# ALL-NEXT: }
# ALL-NEXT: Symbol {
# ALL-NEXT: Name: _start@
# ALL-NEXT: Name: _start
# ALL-NEXT: Value:
# ALL-NEXT: Size: 0
# ALL-NEXT: Binding: Global
@ -176,7 +176,7 @@
# ALL-NEXT: Section: .text
# ALL-NEXT: }
# ALL-NEXT: Symbol {
# ALL-NEXT: Name: bar@
# ALL-NEXT: Name: bar
# ALL-NEXT: Value:
# ALL-NEXT: Size: 0
# ALL-NEXT: Binding: Global
@ -185,7 +185,7 @@
# ALL-NEXT: Section: Undefined
# ALL-NEXT: }
# ALL-NEXT: Symbol {
# ALL-NEXT: Name: foo1@
# ALL-NEXT: Name: foo1
# ALL-NEXT: Value:
# ALL-NEXT: Size: 0
# ALL-NEXT: Binding: Global
@ -194,7 +194,7 @@
# ALL-NEXT: Section: .text
# ALL-NEXT: }
# ALL-NEXT: Symbol {
# ALL-NEXT: Name: foo2@
# ALL-NEXT: Name: foo2
# ALL-NEXT: Value:
# ALL-NEXT: Size: 0
# ALL-NEXT: Binding: Global
@ -203,7 +203,7 @@
# ALL-NEXT: Section: .text
# ALL-NEXT: }
# ALL-NEXT: Symbol {
# ALL-NEXT: Name: foo3@
# ALL-NEXT: Name: foo3
# ALL-NEXT: Value:
# ALL-NEXT: Size: 0
# ALL-NEXT: Binding: Global

View File

@ -7,7 +7,7 @@
# CHECK: DynamicSymbols [
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Name: @
# CHECK-NEXT: Name:
# CHECK-NEXT: Value: 0x0
# CHECK-NEXT: Size: 0
# CHECK-NEXT: Binding: Local
@ -52,7 +52,7 @@
# MIX: DynamicSymbols [
# MIX-NEXT: Symbol {
# MIX-NEXT: Name: @
# MIX-NEXT: Name:
# MIX-NEXT: Value: 0x0
# MIX-NEXT: Size: 0
# MIX-NEXT: Binding: Local

View File

@ -82,7 +82,7 @@
// CHECK: DynamicSymbols [
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: @
// CHECK-NEXT: Name:
// CHECK-NEXT: Value: 0x0
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Local

View File

@ -8,7 +8,7 @@
# CHECK: DynamicSymbols [
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Name: @ (0)
# CHECK-NEXT: Name:
# CHECK-NEXT: Value: 0x0
# CHECK-NEXT: Size: 0
# CHECK-NEXT: Binding: Local (0x0)
@ -17,7 +17,7 @@
# CHECK-NEXT: Section: Undefined (0x0)
# CHECK-NEXT: }
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Name: foo@ (1)
# CHECK-NEXT: Name: foo
# CHECK-NEXT: Value: 0x0
# CHECK-NEXT: Size: 0
# CHECK-NEXT: Binding: Weak (0x2)

View File

@ -5,7 +5,7 @@
# CHECK: DynamicSymbols [
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Name: @
# CHECK-NEXT: Name:
# CHECK-NEXT: Value: 0x0
# CHECK-NEXT: Size: 0
# CHECK-NEXT: Binding: Local (0x0)
@ -14,7 +14,7 @@
# CHECK-NEXT: Section: Undefined (0x0)
# CHECK-NEXT: }
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Name: foo@
# CHECK-NEXT: Name: foo
# CHECK-NEXT: Value: 0x0
# CHECK-NEXT: Size: 0
# CHECK-NEXT: Binding: Weak