1# REQUIRES: x86 2 3# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o 4# RUN: ld.lld %t.o -o %t 5# RUN: llvm-readobj --symbols %t | FileCheck %s 6# CHECK: Name: __ehdr_start (1) 7# CHECK-NEXT: Value: [[ADDR:.*]] 8# CHECK-NEXT: Size: 0 9# CHECK-NEXT: Binding: Local (0x0) 10# CHECK-NEXT: Type: None (0x0) 11# CHECK-NEXT: Other [ (0x2) 12# CHECK-NEXT: STV_HIDDEN (0x2) 13# CHECK-NEXT: ] 14# CHECK-NEXT: Section: .text (0x1) 15 16# CHECK: Name: __executable_start 17# CHECK-NEXT: Value: [[ADDR]] 18# CHECK-NEXT: Size: 0 19# CHECK-NEXT: Binding: Local 20# CHECK-NEXT: Type: None 21# CHECK-NEXT: Other [ 22# CHECK-NEXT: STV_HIDDEN 23# CHECK-NEXT: ] 24# CHECK-NEXT: Section: .text 25 26.text 27.global __ehdr_start, _start 28_start: 29 .quad __ehdr_start 30 .quad __executable_start 31 32# RUN: ld.lld -r %t.o -o %t.r 33# RUN: llvm-readobj --symbols %t.r | FileCheck %s --check-prefix=RELOCATABLE 34 35# RELOCATABLE: Name: __ehdr_start (1) 36# RELOCATABLE-NEXT: Value: 0x0 37# RELOCATABLE-NEXT: Size: 0 38# RELOCATABLE-NEXT: Binding: Global (0x1) 39# RELOCATABLE-NEXT: Type: None (0x0) 40# RELOCATABLE-NEXT: Other: 0 41# RELOCATABLE-NEXT: Section: Undefined (0x0) 42