xref: /llvm-project/lld/test/ELF/linkerscript/data-commands2.test (revision 05660dacedc14fa911d90317312cb613c3b776af)
1*05660dacSRui Ueyama# REQUIRES: x86
2*05660dacSRui Ueyama# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %p/Inputs/data-commands.s -o %t.o
3*05660dacSRui Ueyama# RUN: ld.lld -o %t %t.o --script %s
4*05660dacSRui Ueyama# RUN: llvm-objdump -s %t | FileCheck %s
5*05660dacSRui Ueyama
6*05660dacSRui UeyamaMEMORY {
7*05660dacSRui Ueyama  rom (rwx) : ORIGIN = 0x00, LENGTH = 2K
8*05660dacSRui Ueyama}
9*05660dacSRui Ueyama
10*05660dacSRui UeyamaSECTIONS {
11*05660dacSRui Ueyama  .foo : {
12*05660dacSRui Ueyama    *(.foo.1)
13*05660dacSRui Ueyama    BYTE(0x11)
14*05660dacSRui Ueyama    *(.foo.2)
15*05660dacSRui Ueyama    SHORT(0x1122)
16*05660dacSRui Ueyama    *(.foo.3)
17*05660dacSRui Ueyama    LONG(0x11223344)
18*05660dacSRui Ueyama    *(.foo.4)
19*05660dacSRui Ueyama    QUAD(0x1122334455667788)
20*05660dacSRui Ueyama  } > rom
21*05660dacSRui Ueyama
22*05660dacSRui Ueyama  .bar : {
23*05660dacSRui Ueyama    *(.bar.1)
24*05660dacSRui Ueyama    BYTE(a + 1)
25*05660dacSRui Ueyama    *(.bar.2)
26*05660dacSRui Ueyama    SHORT(b)
27*05660dacSRui Ueyama    *(.bar.3)
28*05660dacSRui Ueyama    LONG(c + 2)
29*05660dacSRui Ueyama    *(.bar.4)
30*05660dacSRui Ueyama    QUAD(d)
31*05660dacSRui Ueyama  } > rom
32*05660dacSRui Ueyama}
33*05660dacSRui Ueyama
34*05660dacSRui Ueyama# CHECK:      Contents of section .foo:
35*05660dacSRui Ueyama# CHECK-NEXT:   0000 ff11ff22 11ff4433 2211ff88 77665544
36*05660dacSRui Ueyama# CHECK-NEXT:   0010 332211
37*05660dacSRui Ueyama
38*05660dacSRui Ueyama# CHECK:      Contents of section .bar:
39*05660dacSRui Ueyama# CHECK-NEXT:   0013 ff12ff22 11ff4633 2211ff88 77665544
40*05660dacSRui Ueyama# CHECK-NEXT:   0023 332211
41