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: SHF_WRITE 19# CHECK-NEXT: ] 20# CHECK-NEXT: Address: 0x0 21# CHECK-NEXT: Offset: 22# CHECK-NEXT: Size: 12 23# CHECK-NEXT: Link: 0 24# CHECK-NEXT: Info: 0 25# CHECK-NEXT: AddressAlignment: 26# CHECK-NEXT: EntrySize: 0 27# CHECK-NEXT: SectionData ( 28# CHECK-NEXT: 0000: 466C7566 666C6520 50756666 |Fluffle Puff| 29# CHECK-NEXT: ) 30# CHECK-NEXT: } 31 32# CHECK: Name: _binary_{{[a-zA-Z0-9_]+}}test_ELF_Output_format_binary_test_tmp_binary_start 33# CHECK-NEXT: Value: 0x0 34# CHECK-NEXT: Size: 0 35# CHECK-NEXT: Binding: Global 36# CHECK-NEXT: Type: Object 37# CHECK-NEXT: Other: 0 38# CHECK-NEXT: Section: .data 39# CHECK-NEXT: } 40# CHECK-NEXT: Symbol { 41# CHECK-NEXT: Name: _binary_{{[a-zA-Z0-9_]+}}test_ELF_Output_format_binary_test_tmp_binary_end 42# CHECK-NEXT: Value: 0xC 43# CHECK-NEXT: Size: 0 44# CHECK-NEXT: Binding: Global 45# CHECK-NEXT: Type: Object 46# CHECK-NEXT: Other: 0 47# CHECK-NEXT: Section: .data 48# CHECK-NEXT: } 49# CHECK-NEXT: Symbol { 50# CHECK-NEXT: Name: _binary_{{[a-zA-Z0-9_]+}}test_ELF_Output_format_binary_test_tmp_binary_size 51# CHECK-NEXT: Value: 0xC 52# CHECK-NEXT: Size: 0 53# CHECK-NEXT: Binding: Global 54# CHECK-NEXT: Type: Object 55# CHECK-NEXT: Other: 0 56# CHECK-NEXT: Section: Absolute 57# CHECK-NEXT: } 58 59# RUN: echo 'OUTPUT_FORMAT(elf64-x86-64)' > %t.script 60# RUN: ld.lld -b binary %t.binary -T %t.script -o %t.out 61# RUN: llvm-readobj %t.out -sections -section-data -symbols | FileCheck -check-prefix=X86-64 %s 62 63# X86-64: Format: ELF64-x86-64 64