# REQUIRES: x86 ## Sections in an INSERT command are in a unit. Their order is preserved. # RUN: split-file %s %t # RUN: llvm-mc -filetype=obj -triple=x86_64 %t/a.s -o %t/a.o # RUN: ld.lld -T %t/a.lds %t/a.o -o %t1 # RUN: llvm-readelf -S -l %t1 | FileCheck %s # CHECK: Name # CHECK-NEXT: NULL # CHECK-NEXT: text.3 # CHECK-NEXT: text.4 # CHECK-NEXT: text.5 # CHECK-NEXT: .text # CHECK-NEXT: .data # CHECK-NEXT: text.6 # CHECK-NEXT: text.7 # CHECK-NEXT: text.8 # CHECK-NEXT: text.0 # CHECK-NEXT: text.1 # CHECK-NEXT: text.2 #--- a.lds SECTIONS { text.0 : {} text.1 : {} text.2 : {} } INSERT AFTER .data; SECTIONS { text.3 : {} text.4 : {} text.5 : {} } INSERT BEFORE .text; SECTIONS { text.6 : {} text.7 : {} text.8 : {} } INSERT AFTER .data; #--- a.s .text; nop .section text.0,"ax"; nop .section text.1,"ax"; nop .section text.2,"ax"; nop .section text.3,"ax"; nop .section text.4,"ax"; nop .section text.5,"ax"; nop .section text.6,"ax"; nop .section text.7,"ax"; nop .section text.8,"ax"; nop .data; .byte 0