1# REQUIRES: x86 2## Test SORT_BY_INIT_PRIORITY can be used to convert .ctors into .init_array 3 4# RUN: split-file %s %t 5# RUN: llvm-mc -filetype=obj -triple=x86_64 %t/asm -o %t.o 6# RUN: ld.lld -T %t/lds %t.o -o %t.out 7# RUN: llvm-readelf -x .init_array %t.out | FileCheck %s 8 9# CHECK: Hex dump of section '.init_array': 10# CHECK-NEXT: 0x00000001 00010203 04050607 11 12#--- asm 13.globl _start 14_start: 15 nop 16 17.section foo, "aw", @init_array 18 .byte 5 19 20.section .ctors.65435, "a" 21 .byte 3 22.section .init_array.100, "aw", @init_array 23 .byte 4 24 25.section .init_array.7, "aw", @init_array 26 .byte 2 27.section .ctors.65529,"a" 28 .byte 1 29.section .init_array.5, "aw", @init_array 30 .byte 0 31 32.section .init_array, "aw", @init_array 33 .byte 6 34.section .ctors, "a" 35 .byte 7 36 37#--- lds 38SECTIONS { 39 .init_array : { 40 *(SORT_BY_INIT_PRIORITY(.init_array.* .ctors.*) SORT_BY_INIT_PRIORITY(foo*)) 41 *(.init_array .ctors) 42 } 43} 44