| # REQUIRES: x86 | 
 | # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t | 
 | # RUN: ld.lld -pie %t -o %t.out | 
 | # RUN: llvm-readobj -t -dyn-symbols %t.out | FileCheck %s | 
 |  | 
 | # CHECK:       Symbols [ | 
 | # CHECK:        Symbol { | 
 | # CHECK:          Name: hidden | 
 | # CHECK-NEXT:     Value: 0x1000 | 
 | # CHECK-NEXT:     Size: 0 | 
 | # CHECK-NEXT:     Binding: Local | 
 | # CHECK-NEXT:     Type: None | 
 | # CHECK-NEXT:     Other [ | 
 | # CHECK-NEXT:       STV_HIDDEN | 
 | # CHECK-NEXT:     ] | 
 | # CHECK-NEXT:     Section: .text | 
 | # CHECK-NEXT:   } | 
 | # CHECK:        Symbol { | 
 | # CHECK:          Name: internal | 
 | # CHECK-NEXT:     Value: 0x1000 | 
 | # CHECK-NEXT:     Size: 0 | 
 | # CHECK-NEXT:     Binding: Local | 
 | # CHECK-NEXT:     Type: None | 
 | # CHECK-NEXT:     Other [ | 
 | # CHECK-NEXT:       STV_INTERNAL | 
 | # CHECK-NEXT:     ] | 
 | # CHECK-NEXT:     Section: .text | 
 | # CHECK-NEXT:   } | 
 | # CHECK:        Symbol { | 
 | # CHECK:          Name: default | 
 | # 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:        Symbol { | 
 | # CHECK:          Name: protected | 
 | # CHECK-NEXT:     Value: 0x1000 | 
 | # CHECK-NEXT:     Size: 0 | 
 | # CHECK-NEXT:     Binding: Global | 
 | # CHECK-NEXT:     Type: None | 
 | # CHECK-NEXT:     Other [ | 
 | # CHECK-NEXT:       STV_PROTECTED | 
 | # CHECK-NEXT:     ] | 
 | # CHECK-NEXT:     Section: .text | 
 | # CHECK-NEXT:   } | 
 | # CHECK-NEXT: ] | 
 |  | 
 | # 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: ] | 
 |  | 
 | .text | 
 | .globl _start | 
 | _start: | 
 |  | 
 | .global default | 
 | default: | 
 |  | 
 | .global protected | 
 | .protected protected | 
 | protected: | 
 |  | 
 | .global hidden | 
 | .hidden hidden | 
 | hidden: | 
 |  | 
 | .global internal | 
 | .internal internal | 
 | internal: |