Put sections to segments according to linker scripts if available. Rework the code of TargetLayout::assignSectionsToSegments so it operates on the given list of segments, which can be either read from linker scripts or constructed as before. Handle NONE segments defined in linker scripts by putting corresponding sections to PT_NULL segment. Consider flags set for segments through linker scripts. Differential Revision: http://reviews.llvm.org/D10918 llvm-svn: 243002
37 lines
792 B
Plaintext
37 lines
792 B
Plaintext
/*
|
|
Test sections put to same segment.
|
|
|
|
RUN: yaml2obj -format=elf %p/Inputs/simple.o.yaml -o=%t.o
|
|
|
|
RUN: lld -flavor gnu -target x86_64 -T %s %t.o -static -o %t1
|
|
RUN: llvm-objdump -section-headers %t1 | FileCheck -check-prefix SAME-PHDRS-SECS %s
|
|
RUN: llvm-readobj -program-headers %t1 | FileCheck -check-prefix SAME-PHDRS-HDRS %s
|
|
*/
|
|
|
|
ENTRY(_start)
|
|
|
|
PHDRS
|
|
{
|
|
text PT_LOAD;
|
|
}
|
|
|
|
SECTIONS
|
|
{
|
|
.text : { *(.text) } :text
|
|
.data : { *(.data) }
|
|
}
|
|
|
|
/*
|
|
SAME-PHDRS-SECS: .text {{[0-9a-f]+}} 00000000004000b0
|
|
SAME-PHDRS-SECS: .data {{[0-9a-f]+}} 00000000004000dc
|
|
|
|
SAME-PHDRS-HDRS: ProgramHeader {
|
|
SAME-PHDRS-HDRS: Type: PT_LOAD (0x1)
|
|
SAME-PHDRS-HDRS: VirtualAddress: 0x400000
|
|
SAME-PHDRS-HDRS: Flags [ (0x5)
|
|
SAME-PHDRS-HDRS: PF_R (0x4)
|
|
SAME-PHDRS-HDRS: PF_X (0x1)
|
|
SAME-PHDRS-HDRS: ]
|
|
SAME-PHDRS-HDRS: }
|
|
*/
|