aboutsummaryrefslogtreecommitdiff
path: root/test/elf/rosegment.test
blob: 32638d8fce6fd63064c79047d6b2692accfc740d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Tests that the option --rosegment produces an output file with a separate
# segment created for read only data.
RUN: lld -flavor gnu -target x86_64 %p/Inputs/rodata.o -o %t1.elf \
RUN: --noinhibit-exec
RUN: lld -flavor 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