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# CHECK:          Name: .data
11# CHECK-NEXT:     Type: SHT_PROGBITS
12# CHECK-NEXT:     Flags [
13# CHECK-NEXT:       SHF_ALLOC
14# CHECK-NEXT:     ]
15# CHECK-NEXT:     Address: 0x0
16# CHECK-NEXT:     Offset:
17# CHECK-NEXT:     Size: 12
18# CHECK-NEXT:     Link: 0
19# CHECK-NEXT:     Info: 0
20# CHECK-NEXT:     AddressAlignment:
21# CHECK-NEXT:     EntrySize: 0
22# CHECK-NEXT:     SectionData (
23# CHECK-NEXT:       0000: 466C7566 666C6520 50756666           |Fluffle Puff|
24# CHECK-NEXT:     )
25# CHECK-NEXT:   }
26
27# CHECK:          Name: _binary_{{[a-zA-Z0-9_]+}}test_ELF_Output_format_binary_test_tmp_binary_start
28# CHECK-NEXT:     Value: 0x0
29# CHECK-NEXT:     Size: 0
30# CHECK-NEXT:     Binding: Global
31# CHECK-NEXT:     Type: Object
32# CHECK-NEXT:     Other: 0
33# CHECK-NEXT:     Section: .data
34# CHECK-NEXT:   }
35# CHECK-NEXT:   Symbol {
36# CHECK-NEXT:     Name: _binary_{{[a-zA-Z0-9_]+}}test_ELF_Output_format_binary_test_tmp_binary_end
37# CHECK-NEXT:     Value: 0xC
38# CHECK-NEXT:     Size: 0
39# CHECK-NEXT:     Binding: Global
40# CHECK-NEXT:     Type: Object
41# CHECK-NEXT:     Other: 0
42# CHECK-NEXT:     Section: .data
43# CHECK-NEXT:   }
44# CHECK-NEXT:   Symbol {
45# CHECK-NEXT:     Name: _binary_{{[a-zA-Z0-9_]+}}test_ELF_Output_format_binary_test_tmp_binary_size
46# CHECK-NEXT:     Value: 0xC
47# CHECK-NEXT:     Size: 0
48# CHECK-NEXT:     Binding: Global
49# CHECK-NEXT:     Type: Object
50# CHECK-NEXT:     Other: 0
51# CHECK-NEXT:     Section: Absolute
52# CHECK-NEXT:   }
53