# REQUIRES: x86

# RUN: echo "{ global: foo*; bar*; local: *; };" > %t.script
# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o
# RUN: ld.lld -shared --version-script %t.script %t.o -o %t.so
# RUN: llvm-readobj -dyn-symbols %t.so | FileCheck %s

        .globl foo1
foo1:

        .globl bar1
bar1:

        .globl zed1
zed1:

        .globl local
local:

# CHECK:      DynamicSymbols [
# CHECK-NEXT:   Symbol {
# CHECK-NEXT:     Name:
# CHECK-NEXT:     Value: 0x0
# CHECK-NEXT:     Size: 0
# CHECK-NEXT:     Binding: Local
# CHECK-NEXT:     Type: None
# CHECK-NEXT:     Other: 0
# CHECK-NEXT:     Section: Undefined
# CHECK-NEXT:   }
# CHECK-NEXT:   Symbol {
# CHECK-NEXT:     Name: bar1
# CHECK-NEXT:     Value: 0x1000
# CHECK-NEXT:     Size: 0
# CHECK-NEXT:     Binding: Global
# CHECK-NEXT:     Type: None
# CHECK-NEXT:     Other: 0
# CHECK-NEXT:     Section: .text
# CHECK-NEXT:   }
# CHECK-NEXT:   Symbol {
# CHECK-NEXT:     Name: foo1
# CHECK-NEXT:     Value: 0x1000
# CHECK-NEXT:     Size: 0
# CHECK-NEXT:     Binding: Global
# CHECK-NEXT:     Type: None
# CHECK-NEXT:     Other: 0
# CHECK-NEXT:     Section: .text
# CHECK-NEXT:   }
# CHECK-NEXT: ]

# RUN: echo "{ global : local; local: *; };" > %t1.script
# RUN: ld.lld -shared --version-script %t1.script %t.o -o /dev/null

# LOCAL:      DynamicSymbols [
# LOCAL-NEXT:   Symbol {
# LOCAL-NEXT:     Name:
# LOCAL-NEXT:     Value: 0x0
# LOCAL-NEXT:     Size: 0
# LOCAL-NEXT:     Binding: Local
# LOCAL-NEXT:     Type: None
# LOCAL-NEXT:     Other: 0
# LOCAL-NEXT:     Section: Undefined
# LOCAL-NEXT:   }
# LOCAL-NEXT:   Symbol {
# LOCAL-NEXT:     Name: local
# LOCAL-NEXT:     Value: 0x1000
# LOCAL-NEXT:     Size: 0
# LOCAL-NEXT:     Binding: Global
# LOCAL-NEXT:     Type: None
# LOCAL-NEXT:     Other: 0
# LOCAL-NEXT:     Section: .text
# LOCAL-NEXT:   }
# LOCAL-NEXT: ]
