xref: /DragonStub/gnuefi/elf_loongarch64_efi.lds (revision e7db4418b1fe6ea0220974b77c3b10918ab9b7a0)
1*e7db4418SzhoumingtaoOUTPUT_FORMAT("elf64-loongarch", "elf64-loongarch", "elf64-loongarch")
2*e7db4418SzhoumingtaoOUTPUT_ARCH(loongarch)
3*e7db4418SzhoumingtaoENTRY(_start)
4*e7db4418SzhoumingtaoSECTIONS
5*e7db4418Szhoumingtao{
6*e7db4418Szhoumingtao  .text 0x0 : {
7*e7db4418Szhoumingtao    _text = .;
8*e7db4418Szhoumingtao    *(.text.head)
9*e7db4418Szhoumingtao    *(.text)
10*e7db4418Szhoumingtao    *(.text.*)
11*e7db4418Szhoumingtao    *(.gnu.linkonce.t.*)
12*e7db4418Szhoumingtao    *(.srodata)
13*e7db4418Szhoumingtao    *(.rodata*)
14*e7db4418Szhoumingtao    . = ALIGN(16);
15*e7db4418Szhoumingtao  }
16*e7db4418Szhoumingtao  _etext = .;
17*e7db4418Szhoumingtao  _text_size = . - _text;
18*e7db4418Szhoumingtao  .dynamic  : { *(.dynamic) }
19*e7db4418Szhoumingtao  .data : ALIGN(4096)
20*e7db4418Szhoumingtao  {
21*e7db4418Szhoumingtao   _data = .;
22*e7db4418Szhoumingtao   *(.sdata)
23*e7db4418Szhoumingtao   *(.data)
24*e7db4418Szhoumingtao   *(.data1)
25*e7db4418Szhoumingtao   *(.data.*)
26*e7db4418Szhoumingtao   *(.got.plt)
27*e7db4418Szhoumingtao   *(.got)
28*e7db4418Szhoumingtao
29*e7db4418Szhoumingtao   /* the EFI loader doesn't seem to like a .bss section, so we stick
30*e7db4418Szhoumingtao      it all into .data: */
31*e7db4418Szhoumingtao   . = ALIGN(16);
32*e7db4418Szhoumingtao   _bss = .;
33*e7db4418Szhoumingtao   *(.sbss)
34*e7db4418Szhoumingtao   *(.scommon)
35*e7db4418Szhoumingtao   *(.dynbss)
36*e7db4418Szhoumingtao   *(.bss)
37*e7db4418Szhoumingtao   *(COMMON)
38*e7db4418Szhoumingtao   . = ALIGN(16);
39*e7db4418Szhoumingtao   _bss_end = .;
40*e7db4418Szhoumingtao  }
41*e7db4418Szhoumingtao
42*e7db4418Szhoumingtao  .rela.dyn : { *(.rela.dyn) }
43*e7db4418Szhoumingtao  .rela.plt : { *(.rela.plt) }
44*e7db4418Szhoumingtao  .rela.got : { *(.rela.got) }
45*e7db4418Szhoumingtao  .rela.data : { *(.rela.data) *(.rela.data*) }
46*e7db4418Szhoumingtao  . = ALIGN(512);
47*e7db4418Szhoumingtao  _edata = .;
48*e7db4418Szhoumingtao  _data_size = . - _data;
49*e7db4418Szhoumingtao
50*e7db4418Szhoumingtao  . = ALIGN(4096);
51*e7db4418Szhoumingtao  .dynsym   : { *(.dynsym) }
52*e7db4418Szhoumingtao  . = ALIGN(4096);
53*e7db4418Szhoumingtao  .dynstr   : { *(.dynstr) }
54*e7db4418Szhoumingtao  . = ALIGN(4096);
55*e7db4418Szhoumingtao  .note.gnu.build-id : { *(.note.gnu.build-id) }
56*e7db4418Szhoumingtao  /DISCARD/ :
57*e7db4418Szhoumingtao  {
58*e7db4418Szhoumingtao    *(.rel.reloc)
59*e7db4418Szhoumingtao    *(.eh_frame)
60*e7db4418Szhoumingtao    *(.note.GNU-stack)
61*e7db4418Szhoumingtao  }
62*e7db4418Szhoumingtao  .comment 0 : { *(.comment) }
63*e7db4418Szhoumingtao}
64