# REQUIRES: x86
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %p/Inputs/data-commands.s -o %t.o
# RUN: ld.lld -o %t %t.o --script %s
# RUN: llvm-objdump -s %t | FileCheck %s

MEMORY {
  rom (rwx) : ORIGIN = 0x00, LENGTH = 2K
}

SECTIONS {
  .foo : {
    *(.foo.1)
    BYTE(0x11)
    *(.foo.2)
    SHORT(0x1122)
    *(.foo.3)
    LONG(0x11223344)
    *(.foo.4)
    QUAD(0x1122334455667788)
  } > rom

  .bar : {
    *(.bar.1)
    BYTE(a + 1)
    *(.bar.2)
    SHORT(b)
    *(.bar.3)
    LONG(c + 2)
    *(.bar.4)
    QUAD(d)
  } > rom
}

# CHECK:      Contents of section .foo:
# CHECK-NEXT:   0000 ff11ff22 11ff4433 2211ff88 77665544
# CHECK-NEXT:   0010 332211

# CHECK:      Contents of section .bar:
# CHECK-NEXT:   0013 ff12ff22 11ff4633 2211ff88 77665544
# CHECK-NEXT:   0023 332211
