2016-09-23 02:05:49 +08:00
|
|
|
# REQUIRES: x86
|
|
|
|
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o
|
|
|
|
# RUN: echo "SECTIONS { \
|
2016-09-30 08:06:24 +08:00
|
|
|
# RUN: . = SIZEOF_HEADERS; \
|
2016-09-23 02:05:49 +08:00
|
|
|
# RUN: .text : { *(.text) } \
|
|
|
|
# RUN: . = ALIGN(0x1000); \
|
|
|
|
# RUN: .data.rel.ro : { *(.data.rel.ro) } \
|
2016-09-23 02:36:46 +08:00
|
|
|
# RUN: }" > %t.script
|
2020-03-20 08:15:33 +08:00
|
|
|
# RUN: ld.lld -o %t -T %t.script %t.o -shared --no-rosegment
|
2016-09-23 02:05:49 +08:00
|
|
|
# RUN: llvm-readobj -l %t | FileCheck %s
|
|
|
|
|
|
|
|
|
|
|
|
# Test that the orphan section foo is placed before the ALIGN and so the second
|
|
|
|
# PT_LOAD is aligned.
|
|
|
|
|
|
|
|
|
|
|
|
# CHECK: Type: PT_LOAD
|
|
|
|
# CHECK-NEXT: Offset: 0x0
|
|
|
|
|
|
|
|
# CHECK: Type: PT_LOAD
|
|
|
|
# CHECK-NEXT: Offset: 0x1000
|
|
|
|
|
|
|
|
nop
|
|
|
|
.section .data.rel.ro, "aw"
|
|
|
|
.byte 0
|
|
|
|
|
|
|
|
.section foo, "ax"
|
|
|
|
nop
|