kern.ldscript revision 1.13
1/*	$NetBSD: kern.ldscript,v 1.13 2015/08/20 09:34:54 uebayasi Exp $	*/
2
3OUTPUT_FORMAT("elf32-i386", "elf32-i386",
4	      "elf32-i386")
5OUTPUT_ARCH(i386)
6ENTRY(_start)
7SECTIONS
8{
9  /* Read-only sections, merged into text segment: */
10  .text :
11  {
12    *(.text)
13    *(.text.*)
14    *(.stub)
15  }
16  _etext = . ;
17  PROVIDE (etext = .) ;
18
19  .rodata :
20  {
21    *(.rodata)
22    *(.rodata.*)
23  }
24
25  /* Adjust the address for the data segment.  We want to adjust up to
26     the same address within the page on the next page up.  */
27  . = ALIGN(0x1000) + (. & (0x1000 - 1));
28  __data_start = . ;
29  .data :
30  {
31    *(.data)
32  }
33  . = ALIGN(64);	/* COHERENCY_UNIT */
34  .data.cacheline_aligned :
35  {
36    *(.data.cacheline_aligned)
37  }
38  . = ALIGN(64);	/* COHERENCY_UNIT */
39  .data.read_mostly :
40  {
41    *(.data.read_mostly)
42  }
43  . = ALIGN(64);	/* COHERENCY_UNIT */
44  _edata = . ;
45  PROVIDE (edata = .) ;
46  __bss_start = . ;
47  .bss :
48  {
49    *(.bss)
50    *(.bss.*)
51    *(COMMON)
52    . = ALIGN(32 / 8);
53  }
54  . = ALIGN(32 / 8);
55  _end = . ;
56  PROVIDE (end = .) ;
57  .note.netbsd.ident :
58  {
59    KEEP(*(.note.netbsd.ident));
60  }
61}
62SECTIONS
63{
64  .text :
65  AT (ADDR(.text) & 0x0fffffff)
66  {
67    *(.text)
68  } =0
69}
70