1*55c81d42SFangrui Song# RUN: yaml2obj %s -o %t 26e4dc6f2SAlexander Shaposhnikov# RUN: llvm-objcopy %t %t2 3298ea3f5SJordan Rupprecht# RUN: llvm-readobj --symbols %t2 | FileCheck %s 46e4dc6f2SAlexander Shaposhnikov 56e4dc6f2SAlexander Shaposhnikov!ELF 66e4dc6f2SAlexander ShaposhnikovFileHeader: 76e4dc6f2SAlexander Shaposhnikov Class: ELFCLASS64 86e4dc6f2SAlexander Shaposhnikov Data: ELFDATA2LSB 96e4dc6f2SAlexander Shaposhnikov Type: ET_EXEC 106e4dc6f2SAlexander Shaposhnikov Machine: EM_X86_64 116e4dc6f2SAlexander ShaposhnikovSections: 126e4dc6f2SAlexander Shaposhnikov - Name: .text 136e4dc6f2SAlexander Shaposhnikov Type: SHT_PROGBITS 146e4dc6f2SAlexander Shaposhnikov Flags: [ SHF_ALLOC, SHF_EXECINSTR ] 156e4dc6f2SAlexander Shaposhnikov Address: 0x1000 166e4dc6f2SAlexander Shaposhnikov AddressAlign: 0x0000000000000010 176e4dc6f2SAlexander Shaposhnikov Content: "0000000000000000" 186e4dc6f2SAlexander Shaposhnikov - Name: .data 196e4dc6f2SAlexander Shaposhnikov Type: SHT_PROGBITS 206e4dc6f2SAlexander Shaposhnikov Flags: [ SHF_ALLOC ] 216e4dc6f2SAlexander Shaposhnikov Address: 0x2000 226e4dc6f2SAlexander Shaposhnikov AddressAlign: 0x0000000000000010 236e4dc6f2SAlexander Shaposhnikov Content: "0000000000000000" 246e4dc6f2SAlexander ShaposhnikovSymbols: 256e4dc6f2SAlexander Shaposhnikov - Name: _start 266e4dc6f2SAlexander Shaposhnikov Type: STT_FUNC 276e4dc6f2SAlexander Shaposhnikov Section: .text 286e4dc6f2SAlexander Shaposhnikov Value: 0x1000 296e4dc6f2SAlexander Shaposhnikov Size: 4 306da44ad7SGeorge Rimar Binding: STB_GLOBAL 316e4dc6f2SAlexander Shaposhnikov - Name: bam 326e4dc6f2SAlexander Shaposhnikov Type: STT_FUNC 336e4dc6f2SAlexander Shaposhnikov Section: .text 346e4dc6f2SAlexander Shaposhnikov Value: 0x1001 356e4dc6f2SAlexander Shaposhnikov Size: 4 364e71702cSGeorge Rimar Other: [ STV_HIDDEN ] 376da44ad7SGeorge Rimar Binding: STB_GLOBAL 386e4dc6f2SAlexander Shaposhnikov - Name: foo 396e4dc6f2SAlexander Shaposhnikov Type: STT_FUNC 406e4dc6f2SAlexander Shaposhnikov Section: .text 416e4dc6f2SAlexander Shaposhnikov Value: 0x1004 426da44ad7SGeorge Rimar Binding: STB_GLOBAL 436e4dc6f2SAlexander Shaposhnikov - Name: faz 446e4dc6f2SAlexander Shaposhnikov Type: STT_OBJECT 456e4dc6f2SAlexander Shaposhnikov Section: .data 466e4dc6f2SAlexander Shaposhnikov Value: 0x2002 476e4dc6f2SAlexander Shaposhnikov Size: 2 484e71702cSGeorge Rimar Other: [ STV_INTERNAL ] 496da44ad7SGeorge Rimar Binding: STB_GLOBAL 506e4dc6f2SAlexander Shaposhnikov - Name: bar 516e4dc6f2SAlexander Shaposhnikov Type: STT_OBJECT 526e4dc6f2SAlexander Shaposhnikov Section: .data 536e4dc6f2SAlexander Shaposhnikov Value: 0x2000 546e4dc6f2SAlexander Shaposhnikov Size: 4 556da44ad7SGeorge Rimar Binding: STB_GLOBAL 566e4dc6f2SAlexander Shaposhnikov - Name: baz 576e4dc6f2SAlexander Shaposhnikov Type: STT_OBJECT 586e4dc6f2SAlexander Shaposhnikov Section: .data 596e4dc6f2SAlexander Shaposhnikov Value: 0x2004 606e4dc6f2SAlexander Shaposhnikov Size: 4 616da44ad7SGeorge Rimar Binding: STB_GLOBAL 626e4dc6f2SAlexander Shaposhnikov 636e4dc6f2SAlexander Shaposhnikov#CHECK: Symbols [ 646e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Symbol { 656e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Name: 666e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Value: 0x0 676e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Size: 0 686e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Binding: Local 696e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Type: None 706e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Other: 0 716e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Section: Undefined 726e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: } 736e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Symbol { 746e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Name: _start 756e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Value: 0x1000 766e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Size: 4 776e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Binding: Global 786e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Type: Function 796e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Other: 0 806e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Section: .text 816e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: } 826e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Symbol { 836e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Name: bam 846e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Value: 0x1001 856e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Size: 4 866e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Binding: Global 876e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Type: Function 886e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Other [ 896e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: STV_HIDDEN 906e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: ] 916e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Section: .text 926e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: } 936e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Symbol { 946e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Name: foo 956e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Value: 0x1004 966e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Size: 0 976e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Binding: Global 986e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Type: Function 996e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Other: 0 1006e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Section: .text 1016e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: } 1026e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Symbol { 1036e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Name: faz 1046e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Value: 0x2002 1056e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Size: 2 1066e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Binding: Global 1076e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Type: Object 1086e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Other [ 1096e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: STV_INTERNAL 1106e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: ] 1116e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Section: .data 1126e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: } 1136e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Symbol { 1146e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Name: bar 1156e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Value: 0x2000 1166e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Size: 4 1176e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Binding: Global 1186e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Type: Object 1196e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Other: 0 1206e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Section: .data 1216e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: } 1226e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Symbol { 1236e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Name: baz 1246e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Value: 0x2004 1256e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Size: 4 1266e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Binding: Global 1276e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Type: Object 1286e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Other: 0 1296e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Section: .data 1306e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: } 1316e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT:] 132