# REQUIRES: x86 ## Test that orphan section placement can handle a relocatable link where ## the relocation section is seen before the relocated section. # RUN: rm -rf %t && split-file %s %t && cd %t # RUN: llvm-mc -filetype=obj -triple=x86_64 a.s -o a.o ## In a.ro, .rela.text precedes its relocated section. # RUN: ld.lld -r a.o -T 1.lds -o a.ro # RUN: llvm-readelf -S a.ro | FileCheck %s # CHECK: .rela.text RELA # CHECK-NEXT: .text PROGBITS # RUN: llvm-objcopy --rename-section .text=.com.text --rename-section .rela.text=.rela.com.text a.ro a1.o ## Regression test for #156354 , where we added an orphan RELA section before its relocated section. # RUN: ld.lld -r a1.o -o a1.ro # RUN: llvm-readelf -S a1.ro | FileCheck %s --check-prefix=CHECK1 # CHECK1: .com.text PROGBITS # CHECK1-NEXT: .rela.com.text RELA #--- a.s .globl foo foo: call foo #--- 1.lds SECTIONS { .rela.text 0 : { *(.rela.text) } .text 0 : { *(.text) } }