Files
clang-p2996/lld/test/ELF/linkerscript/orphans.s
Rafael Espindola b6b8f6c308 Revert "Revert "Only restrict order if both sections are in the script.""
This reverts commit r282021, bringing back r282015.

The problem was that the comparison function was not a strict weak
ordering anymore, which this patch fixes.

Original message:

Only restrict order if both sections are in the script.

This matches gold and bfd behavior and is required to handle some scripts.

The script has to assume where PT_LOADs start in order to align that
spot. If we don't allow section it doesn't know about to move to the
middle, we can need more PT_LOADs and those will not be aligned.

llvm-svn: 282035
2016-09-20 22:43:15 +00:00

32 lines
868 B
ArmAsm

# REQUIRES: x86
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
# RUN: echo "SECTIONS { .writable : { *(.writable) } }" > %t.script
# RUN: ld.lld -o %t.out --script %t.script %t
# RUN: llvm-objdump -section-headers %t.out | \
# RUN: FileCheck -check-prefix=TEXTORPHAN %s
# RUN: echo "SECTIONS { .text : { *(.text) } }" > %t.script
# RUN: ld.lld -o %t.out --script %t.script %t
# RUN: llvm-objdump -section-headers %t.out | \
# RUN: FileCheck -check-prefix=WRITABLEORPHAN %s
# TEXTORPHAN: Sections:
# TEXTORPHAN-NEXT: Idx Name
# TEXTORPHAN-NEXT: 0
# TEXTORPHAN-NEXT: 1 .text
# TEXTORPHAN-NEXT: 2 .writable
# WRITABLEORPHAN: Sections:
# WRITABLEORPHAN-NEXT: Idx Name
# WRITABLEORPHAN-NEXT: 0
# WRITABLEORPHAN-NEXT: 1 .text
# WRITABLEORPHAN-NEXT: 2 .writable
.global _start
_start:
nop
.section .writable,"aw"
.zero 4