1# REQUIRES: x86 2# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t 3 4# This test case should place input sections in script order: 5# .foo.1 .foo.2 .bar.1 .bar.2 6# RUN: echo "SECTIONS { . = 0x1000; .foo : {*(.foo.*) *(.bar.*) } }" > %t.script 7# RUN: ld.lld -o %t1 --script %t.script %t 8# RUN: llvm-objdump --section=.foo -s %t1 | FileCheck --check-prefix=SCRIPT_ORDER %s 9# SCRIPT_ORDER: Contents of section .foo: 10# SCRIPT_ORDER-NEXT: 1000 00000000 00000000 ffffffff eeeeeeee 11 12# This test case should place input sections in native order: 13# .bar.1 .foo.1 .bar.2 .foo.2 14# RUN: echo "SECTIONS { . = 0x1000; .foo : {*(.foo.* .bar.*)} }" > %t.script 15# RUN: ld.lld -o %t1 --script %t.script %t 16# RUN: llvm-objdump --section=.foo -s %t1 | FileCheck --check-prefix=FILE_ORDER %s 17# FILE_ORDER: Contents of section .foo: 18# FILE_ORDER-NEXT: 1000 ffffffff 00000000 eeeeeeee 00000000 19 20.global _start 21_start: 22 nop 23 24.section .bar.1,"a" 25bar1: 26 .long 0xFFFFFFFF 27 28.section .foo.1,"a" 29foo1: 30 .long 0 31 32.section .bar.2,"a" 33bar2: 34 .long 0xEEEEEEEE 35 36.section .foo.2,"a" 37foo2: 38 .long 0 39