xref: /netbsd-src/sys/arch/mips/conf/kern.ldscript (revision bdc22b2e01993381dcefeff2bc9b56ca75a4235c)
1/* $NetBSD: kern.ldscript,v 1.11 2015/08/25 08:08:12 uebayasi Exp $ */
2
3#include "assym.h"
4
5/*  ldscript for NetBSD/mips kernels and LKMs */
6OUTPUT_ARCH(mips)
7ENTRY(_start)
8/* Do we need any of these?
9   __DYNAMIC = 0;    */
10_DYNAMIC_LINK = 0;
11SECTIONS
12{
13  /*  Read-only sections, merged into text segment.  Assumes the
14      kernel Makefile sets the start address via -Ttext.  */
15  .text      :
16  {
17    _ftext = . ;
18    *(.text)
19    __stub_start = . ;
20    *(.stub*)
21    __stub_end = . ;
22    *(.gnu.warning)
23  } =0
24  _etext = .;
25  PROVIDE (etext = .);
26  .rodata    : { *(.rodata) *(.rodata.*) }
27  .reginfo : { *(.reginfo) }
28/*  . = . + 0x1000; */
29  .data    :
30  {
31    _fdata = . ;
32    *(.data)
33    CONSTRUCTORS
34    . = ALIGN(COHERENCY_UNIT);
35    *(.data.cacheline_aligned)
36    . = ALIGN(COHERENCY_UNIT);
37    *(.data.read_mostly)
38    . = ALIGN(COHERENCY_UNIT);
39  }
40  _gp = ALIGN(16) + 0x7ff0;
41  .lit8 : { *(.lit8) }
42  .lit4 : { *(.lit4) }
43  .sdata     : { *(.sdata) }
44  _edata  =  .;
45  PROVIDE (edata = .);
46  __bss_start = .;
47  _fbss = .;
48  .sbss      : { *(.sbss) *(.scommon) }
49  .bss       :
50  {
51    *(.bss)
52    *(COMMON)
53  }
54  _end = . ;
55  PROVIDE (end = .);
56}
57