1786e866fSGeorge Rimar# REQUIRES: x86 2786e866fSGeorge Rimar# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t 3786e866fSGeorge Rimar# RUN: ld.lld -pie %t -o %t.out 4b159906aSFangrui Song# RUN: llvm-readobj --symbols --dyn-syms %t.out | FileCheck %s 5786e866fSGeorge Rimar 655f207fbSGeorge Rimar# CHECK: Symbols [ 755f207fbSGeorge Rimar# CHECK: Symbol { 855f207fbSGeorge Rimar# CHECK: Name: hidden 9*88796a79SFangrui Song# CHECK-NEXT: Value: [[ADDR:.*]] 1055f207fbSGeorge Rimar# CHECK-NEXT: Size: 0 1155f207fbSGeorge Rimar# CHECK-NEXT: Binding: Local 1255f207fbSGeorge Rimar# CHECK-NEXT: Type: None 1355f207fbSGeorge Rimar# CHECK-NEXT: Other [ 1455f207fbSGeorge Rimar# CHECK-NEXT: STV_HIDDEN 1555f207fbSGeorge Rimar# CHECK-NEXT: ] 1655f207fbSGeorge Rimar# CHECK-NEXT: Section: .text 1755f207fbSGeorge Rimar# CHECK-NEXT: } 1855f207fbSGeorge Rimar# CHECK: Symbol { 1955f207fbSGeorge Rimar# CHECK: Name: internal 20*88796a79SFangrui Song# CHECK-NEXT: Value: [[ADDR]] 2155f207fbSGeorge Rimar# CHECK-NEXT: Size: 0 2255f207fbSGeorge Rimar# CHECK-NEXT: Binding: Local 2355f207fbSGeorge Rimar# CHECK-NEXT: Type: None 2455f207fbSGeorge Rimar# CHECK-NEXT: Other [ 2555f207fbSGeorge Rimar# CHECK-NEXT: STV_INTERNAL 2655f207fbSGeorge Rimar# CHECK-NEXT: ] 2755f207fbSGeorge Rimar# CHECK-NEXT: Section: .text 2855f207fbSGeorge Rimar# CHECK-NEXT: } 2955f207fbSGeorge Rimar# CHECK: Symbol { 3055f207fbSGeorge Rimar# CHECK: Name: default 31*88796a79SFangrui Song# CHECK-NEXT: Value: [[ADDR]] 3255f207fbSGeorge Rimar# CHECK-NEXT: Size: 0 3355f207fbSGeorge Rimar# CHECK-NEXT: Binding: Global 3455f207fbSGeorge Rimar# CHECK-NEXT: Type: None 3555f207fbSGeorge Rimar# CHECK-NEXT: Other: 0 3655f207fbSGeorge Rimar# CHECK-NEXT: Section: .text 3755f207fbSGeorge Rimar# CHECK-NEXT: } 3855f207fbSGeorge Rimar# CHECK: Symbol { 3955f207fbSGeorge Rimar# CHECK: Name: protected 40*88796a79SFangrui Song# CHECK-NEXT: Value: [[ADDR]] 4155f207fbSGeorge Rimar# CHECK-NEXT: Size: 0 4255f207fbSGeorge Rimar# CHECK-NEXT: Binding: Global 4355f207fbSGeorge Rimar# CHECK-NEXT: Type: None 4455f207fbSGeorge Rimar# CHECK-NEXT: Other [ 4555f207fbSGeorge Rimar# CHECK-NEXT: STV_PROTECTED 4655f207fbSGeorge Rimar# CHECK-NEXT: ] 4755f207fbSGeorge Rimar# CHECK-NEXT: Section: .text 4855f207fbSGeorge Rimar# CHECK-NEXT: } 4955f207fbSGeorge Rimar# CHECK-NEXT: ] 5055f207fbSGeorge Rimar 51786e866fSGeorge Rimar# CHECK: DynamicSymbols [ 52786e866fSGeorge Rimar# CHECK-NEXT: Symbol { 534ba1777aSJames Henderson# CHECK-NEXT: Name: 54786e866fSGeorge Rimar# CHECK-NEXT: Value: 0x0 55786e866fSGeorge Rimar# CHECK-NEXT: Size: 0 56786e866fSGeorge Rimar# CHECK-NEXT: Binding: Local 57786e866fSGeorge Rimar# CHECK-NEXT: Type: None 58786e866fSGeorge Rimar# CHECK-NEXT: Other: 0 59786e866fSGeorge Rimar# CHECK-NEXT: Section: Undefined 60786e866fSGeorge Rimar# CHECK-NEXT: } 61786e866fSGeorge Rimar# CHECK-NEXT: ] 62786e866fSGeorge Rimar 63786e866fSGeorge Rimar.text 64786e866fSGeorge Rimar.globl _start 65786e866fSGeorge Rimar_start: 66786e866fSGeorge Rimar 67786e866fSGeorge Rimar.global default 68786e866fSGeorge Rimardefault: 69786e866fSGeorge Rimar 70786e866fSGeorge Rimar.global protected 7155f207fbSGeorge Rimar.protected protected 72786e866fSGeorge Rimarprotected: 73786e866fSGeorge Rimar 74786e866fSGeorge Rimar.global hidden 7555f207fbSGeorge Rimar.hidden hidden 76786e866fSGeorge Rimarhidden: 77786e866fSGeorge Rimar 78786e866fSGeorge Rimar.global internal 7955f207fbSGeorge Rimar.internal internal 80786e866fSGeorge Rimarinternal: 81