| # RUN: yaml2obj %s -o %t |
| # RUN: llvm-nm --no-sort %t | FileCheck %s |
| |
| ## We used to be wrong with some linker synthesized symbols. |
| |
| ## We mark __init_array_start as 'd', as consistent with GNU nm >= 2.33 (older GNU |
| ## nm marks it as 't'). See https://sourceware.org/bugzilla/show_bug.cgi?id=24511 |
| |
| # CHECK: d __fini_array_start |
| # CHECK: d __init_array_start |
| # CHECK: d __preinit_array_start |
| # CHECK: B __bss_start |
| # CHECK: D _edata |
| # CHECK: B _end |
| |
| !ELF |
| FileHeader: |
| Class: ELFCLASS64 |
| Data: ELFDATA2LSB |
| Type: ET_EXEC |
| Machine: EM_X86_64 |
| Sections: |
| - Name: .text |
| Type: SHT_PROGBITS |
| Flags: [ SHF_ALLOC, SHF_EXECINSTR ] |
| - Name: .fini_array |
| Type: SHT_FINI_ARRAY |
| Flags: [ SHF_ALLOC, SHF_WRITE ] |
| - Name: .init_array |
| Type: SHT_INIT_ARRAY |
| Flags: [ SHF_ALLOC, SHF_WRITE ] |
| - Name: .preinit_array |
| Type: SHT_PREINIT_ARRAY |
| Flags: [ SHF_ALLOC, SHF_WRITE ] |
| - Name: .data |
| Type: SHT_PROGBITS |
| Flags: [ SHF_ALLOC, SHF_WRITE ] |
| - Name: .bss |
| Type: SHT_NOBITS |
| Flags: [ SHF_ALLOC, SHF_WRITE ] |
| Symbols: |
| - Name: __fini_array_start |
| Section: .fini_array |
| - Name: __init_array_start |
| Section: .init_array |
| - Name: __preinit_array_start |
| Section: .preinit_array |
| |
| - Name: __bss_start |
| Section: .bss |
| Binding: STB_GLOBAL |
| - Name: _edata |
| Section: .data |
| Binding: STB_GLOBAL |
| - Name: _end |
| Section: .bss |
| Binding: STB_GLOBAL |