1SECTIONS
2{
3  /* Read-only sections, merged into text segment: */
4  . = SEGMENT_START("text-segment", 0) + SIZEOF_HEADERS;
5  .hash           : { *(.hash) }
6  .gnu.hash       : { *(.gnu.hash) }
7  .dynsym         : { *(.dynsym) }
8  .dynstr         : { *(.dynstr) }
9  .init           : { *(.init) }
10  .text           : { *(.text) }
11  .fini           : { *(.fini) }
12  .rodata         : { *(.rodata) }
13  .foo_hdr : { *(.foo_hdr) }
14  .foo : { *(.foo) }
15  .xxx : { *(.xxx) }
16  . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
17  .yyy : { *(.yyy) }
18  .tdata	  : { *(.tdata) }
19  .tbss		  : { *(.tbss) }
20  .init_array     : { *(.init_array) }
21  .fini_array     : { *(.fini_array) }
22  .jcr            : { *(.jcr) }
23  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }
24  .dynamic        : { *(.dynamic) }
25  .bar            : { *(.bar) }
26  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 24 ? 24 : 0, .);
27  .got.plt        : { *(.got.plt) }
28  .data           : { *(.data) }
29  __bss_start = .;
30  .bss            :
31  {
32   *(.bss)
33   . = ALIGN(. != 0 ? 64 / 8 : 1);
34  }
35  . = ALIGN(64 / 8);
36  _end = .; PROVIDE (end = .);
37  . = DATA_SEGMENT_END (.);
38  /DISCARD/ : { *(.*) }
39}
40