summaryrefslogtreecommitdiff
path: root/sys/arch/mips/conf/kern.ldscript
blob: 11b4fec408e64443cf73a17fe82742783d324b3a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/* $NetBSD: kern.ldscript,v 1.12 2021/04/23 08:42:25 simonb Exp $ */

#include "assym.h"

/*  ldscript for NetBSD/mips kernels and LKMs */
OUTPUT_ARCH(mips)
ENTRY(_start)
/* Do we need any of these?
   __DYNAMIC = 0;    */
_DYNAMIC_LINK = 0;
SECTIONS
{
  /*  Read-only sections, merged into text segment.  Assumes the
      kernel Makefile sets the start address via -Ttext.  */
  .text      :
  {
    _ftext = . ;
    *(.text)
    *(.text.*)
    __stub_start = . ;
    *(.stub*)
    __stub_end = . ;
    *(.gnu.warning)
  } =0
  _etext = .;
  PROVIDE (etext = .);
  .rodata    : { *(.rodata) *(.rodata.*) }
  .reginfo : { *(.reginfo) }
/*  . = . + 0x1000; */
  .data    :
  {
    _fdata = . ;
    *(.data)
    CONSTRUCTORS
    . = ALIGN(COHERENCY_UNIT);
    *(.data.cacheline_aligned)
    . = ALIGN(COHERENCY_UNIT);
    *(.data.read_mostly)
    . = ALIGN(COHERENCY_UNIT);
  }
  _gp = ALIGN(16) + 0x7ff0;
  .lit8 : { *(.lit8) }
  .lit4 : { *(.lit4) }
  .sdata     : { *(.sdata) }
  _edata  =  .;
  PROVIDE (edata = .);
  __bss_start = .;
  _fbss = .;
  .sbss      : { *(.sbss) *(.scommon) }
  .bss       :
  {
    *(.bss)
    *(COMMON)
  }
  _end = . ;
  PROVIDE (end = .);
}