xref: /DragonStub/gnuefi/elf_mips64el_efi.lds (revision cc4ef911ee2ccd47411df410dc161a35b8b35d01)
1OUTPUT_FORMAT("elf64-tradlittlemips", "elf64-tradbigmips", "elf64-tradlittlemips")
2OUTPUT_ARCH(mips)
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  . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
19  .dynamic  : { *(.dynamic) }
20  . = ALIGN(4096);
21  .data :
22  {
23   _data = .;
24   *(.sdata)
25   *(.data)
26   *(.data1)
27   *(.data.*)
28   *(.got.plt)
29   HIDDEN (_gp = ALIGN (16) + 0x7ff0);
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   *(COMMON)
41   . = ALIGN(16);
42   _bss_end = .;
43  }
44
45  . = ALIGN(4096);
46  .rel :
47  {
48    *(.rel.text*)
49    *(.rel.data*)
50    *(.rel.got)
51    *(.rel.dyn)
52    *(.rel.stab)
53  }
54  . = ALIGN(4096);
55  .rel.plt : { *(.rel.plt) }
56  _edata = .;
57  _data_size = . - _etext;
58
59  . = ALIGN(4096);
60  .dynsym   : { *(.dynsym) }
61  . = ALIGN(4096);
62  .dynstr   : { *(.dynstr) }
63  . = ALIGN(4096);
64  .note.gnu.build-id : { *(.note.gnu.build-id) }
65  . = DATA_SEGMENT_END (.);
66  /DISCARD/ :
67  {
68    *(.rel.reloc)
69    *(.eh_frame)
70    *(.MIPS.abiflags)
71    *(.note.GNU-stack)
72  }
73  .comment 0 : { *(.comment) }
74}
75