REQUIRES: x86

RUN: split-file %s %ts
RUN: llvm-mc -filetype=obj -triple=x86_64 %ts/s -o %t.o

## Check assigning sections to memory regions by attributes.

#--- s
  .text
  .zero 8

  .rodata
  .zero 8

  .data
  .zero 8

#--- t1
## Check memory region attribute 'a'.

# RUN: ld.lld -o %t1 -T %ts/t1 %t.o
# RUN: llvm-readelf -S %t1 | FileCheck %s --check-prefix=TEST1

# TEST1:      Name     Type      Address
# TEST1:      .text    PROGBITS  0000000000002000
# TEST1-NEXT: .rodata  PROGBITS  0000000000002008
# TEST1-NEXT: .data    PROGBITS  0000000000002010

MEMORY
{
  ## All sections have SHF_ALLOC attribute, so no one can be added here.
  NOMEM (rwx!a) : org = 0x1000, l = 1K
  ## All sections are assigned to this memory region.
  MEM   (a)     : org = 0x2000, l = 1K
}

SECTIONS
{
  .text   : { *(.text) }
  .rodata : { *(.rodata) }
  .data   : { *(.data) }
}

#--- t2
## Check that memory region attributes 'r', 'w', and 'x' are supported both in
## positive and negative forms.

# RUN: ld.lld -o %t2 -T %ts/t2 %t.o
# RUN: llvm-readelf -S %t2 | FileCheck %s --check-prefix=TEST2

# TEST2:      Name     Type      Address
# TEST2:      .text    PROGBITS  0000000000004000
# TEST2-NEXT: .rodata  PROGBITS  0000000000003000
# TEST2-NEXT: .data    PROGBITS  0000000000002000

MEMORY
{
  ## While all sections are allocatable, '.text' and '.rodata' are read-only and
  ## '.data' is writable, so no sections should be assigned to this region.
  NOMEM (a!rw) : org = 0x1000, l = 1K
  ## Only writable section '.data' is allowed here.
  RAM   (w)    : org = 0x2000, l = 1K
  ## Executable sections are not allowed here, so only '.rodata' should be
  ## assigned to the region.
  ROM   (r!x)  : org = 0x3000, l = 1K
  ## An executable section '.text' comes here.
  EXEC  (x)    : org = 0x4000, l = 1K
}

SECTIONS
{
  .text   : { *(.text) }
  .rodata : { *(.rodata) }
  .data   : { *(.data) }
}
