blob: 675dc386186792e97a0d1dee6ba32f2a8eac8d46 [file] [log] [blame]
# Tests that the option --rosegment produces an output file with a separate
# segment created for read only data.
RUN: lld -flavor old-gnu -target x86_64 %p/Inputs/rodata.o -o %t1.elf \
RUN: --noinhibit-exec
RUN: lld -flavor old-gnu -target x86_64 %p/Inputs/rodata.o --rosegment -o %t2.elf \
RUN: --noinhibit-exec
RUN: llvm-readobj -program-headers %t1.elf | FileCheck %s -check-prefix=NORO-SEGMENT
RUN: llvm-readobj -program-headers %t2.elf | FileCheck %s -check-prefix=RO-SEGMENT
#NORO-SEGMENT: Type: PT_PHDR
#NORO-SEGMENT: Type: PT_INTERP
#NORO-SEGMENT: Type: PT_LOAD
#NORO-SEGMENT: Type: PT_LOAD
#NORO-SEGMENT: Type: PT_DYNAMIC
#NORO-SEGMENT: Type: PT_GNU_EH_FRAME
#RO-SEGMENT: Type: PT_PHDR
#RO-SEGMENT: Type: PT_INTERP
#RO-SEGMENT: Type: PT_LOAD
#RO-SEGMENT: Type: PT_LOAD
#RO-SEGMENT: Flags [
#RO-SEGMENT: PF_R (0x4)
#RO-SEGMENT: ]
#RO-SEGMENT: Type: PT_LOAD
#RO-SEGMENT: Type: PT_DYNAMIC
#RO-SEGMENT: Type: PT_GNU_EH_FRAME