xref: /DragonStub/gnuefi/elf_mips64el_efi.lds (revision d78b78cb2eb346b8094bb310520eee87d7547a72)
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  .data :
21  {
22   _data = .;
23   *(.sdata)
24   *(.data)
25   *(.data1)
26   *(.data.*)
27   *(.got.plt)
28   HIDDEN (_gp = ALIGN (16) + 0x7ff0);
29   *(.got)
30
31   /* the EFI loader doesn't seem to like a .bss section, so we stick
32      it all into .data: */
33   . = ALIGN(16);
34   _bss = .;
35   *(.sbss)
36   *(.scommon)
37   *(.dynbss)
38   *(.bss)
39   *(COMMON)
40   . = ALIGN(16);
41   _bss_end = .;
42  }
43
44  .rel :
45  {
46    *(.rel.text*)
47    *(.rel.data*)
48    *(.rel.got)
49    *(.rel.plt)
50    *(.rel.stab)
51  }
52  _edata = .;
53  _data_size = . - _etext;
54
55  . = ALIGN(4096);
56  .dynsym   : { *(.dynsym) }
57  . = ALIGN(4096);
58  .dynstr   : { *(.dynstr) }
59  . = ALIGN(4096);
60  .note.gnu.build-id : { *(.note.gnu.build-id) }
61  . = DATA_SEGMENT_END (.);
62  /DISCARD/ :
63  {
64    *(.rel.reloc)
65    *(.eh_frame)
66    *(.MIPS.abiflags)
67    *(.note.GNU-stack)
68  }
69  .comment 0 : { *(.comment) }
70}
71