1# REQUIRES: x86 2 3# RUN: echo -n "Fluffle Puff" > %t.binary 4# RUN: ld.lld -m elf_x86_64 -r -b binary %t.binary -o %t.out 5# RUN: llvm-readobj %t.out -sections -section-data -symbols | FileCheck %s 6 7# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o 8# RUN: ld.lld %t.o -b binary %t.binary -b default %t.o -shared -o %t.out 9 10# RUN: not ld.lld -b foo > %t.log 2>&1 11# RUN: FileCheck -check-prefix=ERR %s < %t.log 12# ERR: error: unknown -format value: foo (supported formats: elf, default, binary) 13 14# CHECK: Name: .data 15# CHECK-NEXT: Type: SHT_PROGBITS 16# CHECK-NEXT: Flags [ 17# CHECK-NEXT: SHF_ALLOC 18# CHECK-NEXT: ] 19# CHECK-NEXT: Address: 0x0 20# CHECK-NEXT: Offset: 21# CHECK-NEXT: Size: 12 22# CHECK-NEXT: Link: 0 23# CHECK-NEXT: Info: 0 24# CHECK-NEXT: AddressAlignment: 25# CHECK-NEXT: EntrySize: 0 26# CHECK-NEXT: SectionData ( 27# CHECK-NEXT: 0000: 466C7566 666C6520 50756666 |Fluffle Puff| 28# CHECK-NEXT: ) 29# CHECK-NEXT: } 30 31# CHECK: Name: _binary_{{[a-zA-Z0-9_]+}}test_ELF_Output_format_binary_test_tmp_binary_start 32# CHECK-NEXT: Value: 0x0 33# CHECK-NEXT: Size: 0 34# CHECK-NEXT: Binding: Global 35# CHECK-NEXT: Type: Object 36# CHECK-NEXT: Other: 0 37# CHECK-NEXT: Section: .data 38# CHECK-NEXT: } 39# CHECK-NEXT: Symbol { 40# CHECK-NEXT: Name: _binary_{{[a-zA-Z0-9_]+}}test_ELF_Output_format_binary_test_tmp_binary_end 41# CHECK-NEXT: Value: 0xC 42# CHECK-NEXT: Size: 0 43# CHECK-NEXT: Binding: Global 44# CHECK-NEXT: Type: Object 45# CHECK-NEXT: Other: 0 46# CHECK-NEXT: Section: .data 47# CHECK-NEXT: } 48# CHECK-NEXT: Symbol { 49# CHECK-NEXT: Name: _binary_{{[a-zA-Z0-9_]+}}test_ELF_Output_format_binary_test_tmp_binary_size 50# CHECK-NEXT: Value: 0xC 51# CHECK-NEXT: Size: 0 52# CHECK-NEXT: Binding: Global 53# CHECK-NEXT: Type: Object 54# CHECK-NEXT: Other: 0 55# CHECK-NEXT: Section: Absolute 56# CHECK-NEXT: } 57