diff options
Diffstat (limited to 'test/elf/init_array-order.test')
-rw-r--r-- | test/elf/init_array-order.test | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/test/elf/init_array-order.test b/test/elf/init_array-order.test new file mode 100644 index 0000000000000..b57b3807b69c8 --- /dev/null +++ b/test/elf/init_array-order.test @@ -0,0 +1,67 @@ +#RUN: yaml2obj -format=elf %s > %t +#RUN: lld -flavor gnu -target x86_64-linux %t --noinhibit-exec \ +#RUN: -o %t1.out +#RUN: llvm-objdump -s %t1.out | FileCheck %s + +!ELF +FileHeader: + Class: ELFCLASS64 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_X86_64 + +Sections: +- Name: .text + Type: SHT_PROGBITS + Content: "1100000000000000" + AddressAlign: 8 + Flags: [SHF_ALLOC, SHF_EXECINSTR] +- Name: .init_array.2 + Type: SHT_INIT_ARRAY + Content: "0200000000000000" + AddressAlign: 8 + Flags: [SHF_ALLOC] +- Name: .init_array.3 + Type: SHT_INIT_ARRAY + Content: "0300000000000000" + AddressAlign: 8 + Flags: [SHF_ALLOC] +- Name: .init_array + Type: SHT_INIT_ARRAY + Content: "9900000000000000" + AddressAlign: 8 + Flags: [SHF_ALLOC] +- Name: .data + Type: SHT_PROGBITS + Content: "2200000000000000" + AddressAlign: 8 + Flags: [SHF_ALLOC, SHF_WRITE] +- Name: .init_array.1 + Type: SHT_INIT_ARRAY + Content: "0100000000000000" + AddressAlign: 8 + Flags: [SHF_ALLOC] + +Symbols: + Local: + - Name: .text + Type: STT_SECTION + Section: .text + - Name: .data + Type: STT_SECTION + Section: .data + - Name: .init_array.3 + Type: STT_SECTION + Section: .init_array.3 + - Name: .init_array.2 + Type: STT_SECTION + Section: .init_array.2 + - Name: .init_array.1 + Type: STT_SECTION + Section: .init_array.1 + - Name: .init_array + Type: STT_SECTION + Section: .init_array + +#CHECK: {{[0xa-f0-9]+}} 01000000 00000000 02000000 00000000 +#CHECK: {{[0xa-f0-9]+}} 03000000 00000000 99000000 00000000 |