+# Test .init_array.
+# Generated from the following C code:
+#
+# static void
+# init () {}
+#
+# static void (*const init_array []) ()
+# __attribute__ ((used, section (".init_array"), aligned (sizeof (void *))))
+# = { init };
+#
+# int
+# main() { return (0); }
+
#RUN: yaml2obj -format=elf %s -o=%t.o
-#RUN: lld -flavor gnu -target x86_64 %t.o -o %t1 -e=main
+#RUN: lld -flavor gnu -target x86_64 %t.o -o %t -e=main
#RUN: llvm-objdump -t -section-headers %t | FileCheck %s
#CHECK: .init_array {{[0-9]+}} [[ADDR:[0-9]+]]
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
AddressAlign: 0x0000000000000010
- Content: 554889E5B800000000C745FC000000008B0C2500000000894DF85DC3
- - Name: .rela.text
- Type: SHT_RELA
- Link: .symtab
- AddressAlign: 0x0000000000000008
- Info: .text
- Relocations:
- - Offset: 0x0000000000000013
- Symbol: a
- Type: R_X86_64_32S
+ Content: 554889E5B800000000C745FC000000005DC366666666662E0F1F840000000000554889E55DC3
- Name: .data
Type: SHT_PROGBITS
Flags: [ SHF_WRITE, SHF_ALLOC ]
AddressAlign: 0x0000000000000004
- Content: '05000000'
+ Content: ''
- Name: .bss
Type: SHT_NOBITS
Flags: [ SHF_WRITE, SHF_ALLOC ]
AddressAlign: 0x0000000000000004
Content: ''
+ - Name: .init_array
+ Type: SHT_INIT_ARRAY
+ Flags: [ SHF_ALLOC ]
+ AddressAlign: 0x0000000000000008
+ Content: '0000000000000000'
+ - Name: .rela.init_array
+ Type: SHT_RELA
+ Link: .symtab
+ AddressAlign: 0x0000000000000008
+ Info: .init_array
+ Relocations:
+ - Offset: 0x0000000000000000
+ Symbol: .text
+ Type: R_X86_64_64
+ Addend: 32
- Name: .comment
Type: SHT_PROGBITS
Flags: [ SHF_MERGE, SHF_STRINGS ]
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC ]
AddressAlign: 0x0000000000000008
- Content: 1400000000000000017A5200017810011B0C0708900100001C0000001C000000000000001C00000000410E108602430D0600000000000000
+ Content: 1400000000000000017A5200017810011B0C070890010000180000001C000000000000001200000000410E108602430D060000001800000038000000000000000600000000410E108602430D06000000
- Name: .rela.eh_frame
Type: SHT_RELA
Link: .symtab
- Offset: 0x0000000000000020
Symbol: .text
Type: R_X86_64_PC32
+ - Offset: 0x000000000000003C
+ Symbol: .text
+ Type: R_X86_64_PC32
+ Addend: 32
Symbols:
Local:
+ - Name: init
+ Type: STT_FUNC
+ Section: .text
+ Value: 0x0000000000000020
+ Size: 0x0000000000000006
+ - Name: init_array
+ Type: STT_OBJECT
+ Section: .init_array
+ Size: 0x0000000000000008
- Name: .text
Type: STT_SECTION
Section: .text
- Name: .bss
Type: STT_SECTION
Section: .bss
+ - Name: .init_array
+ Type: STT_SECTION
+ Section: .init_array
- Name: .comment
Type: STT_SECTION
Section: .comment
Type: STT_SECTION
Section: .eh_frame
Global:
- - Name: a
- Type: STT_OBJECT
- Section: .data
- Size: 0x0000000000000004
- Name: main
Type: STT_FUNC
Section: .text
- Size: 0x000000000000001C
+ Size: 0x0000000000000012
...