xref: /haiku/src/system/ldscripts/arm/boot_loader_efi.ld (revision 7cea5bf07ffaec7e25508f3b81a2e5bd989e1b34)
1OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
2OUTPUT_ARCH(arm)
3ENTRY(_start)
4SECTIONS
5{
6  .text 0x0 : {
7    _text = .;
8    *(.text.head)
9    *(.text)
10    *(.text.*)
11    *(.gnu.linkonce.t.*)
12    *(.srodata)
13    *(.rodata*)
14    . = ALIGN(16);
15  }
16  _etext = .;
17  _text_size = . - _text;
18  .dynamic  : { *(.dynamic) }
19  .data :
20  {
21   __ctor_list = .;
22   *(.ctors)
23   __ctor_end = .;
24   _data = .;
25   *(.sdata)
26   *(.data)
27   *(.data1)
28   *(.data.*)
29   *(.got.plt)
30   *(.got)
31
32   /* the EFI loader doesn't seem to like a .bss section, so we stick
33      it all into .data: */
34   . = ALIGN(16);
35   _bss = .;
36   *(.sbss)
37   *(.scommon)
38   *(.dynbss)
39   *(.bss)
40   *(.bss.*)
41   *(COMMON)
42   . = ALIGN(16);
43   _bss_end = .;
44  }
45
46  .rel :
47  {
48   *(.rel.text) *(.rel.text*)
49   *(.rel.init_array)
50   *(.rel.fini_array)
51   *(.rel.dyn)
52   *(.rel.plt)
53   *(.rel.got)
54   *(.rel.data) *(.rel.data*)
55  }
56  _edata = .;
57  _data_size = . - _etext;
58
59  . = ALIGN(4096);
60  .dynsym   : { *(.dynsym) }
61  . = ALIGN(4096);
62  .dynstr   : { *(.dynstr) }
63  . = ALIGN(4096);
64
65  _end = . ;
66  .note.gnu.build-id : { *(.note.gnu.build-id) }
67  /DISCARD/ :
68  {
69    *(.rel.reloc)
70    *(.eh_frame)
71    *(.note.GNU-stack)
72  }
73  .comment 0 : { *(.comment) }
74}
75