Home | History | Annotate | Line # | Download | only in conf
kern.ldscript revision 1.6
      1  1.6      matt /* $NetBSD: kern.ldscript,v 1.6 2011/02/20 07:45:46 matt Exp $ */
      2  1.1  jonathan 
      3  1.4    simonb /*  ldscript for NetBSD/mips kernels and LKMs */
      4  1.1  jonathan OUTPUT_ARCH(mips)
      5  1.1  jonathan ENTRY(_start)
      6  1.1  jonathan SEARCH_DIR(/lib);
      7  1.1  jonathan /* Do we need any of these?
      8  1.1  jonathan    __DYNAMIC = 0;    */
      9  1.1  jonathan _DYNAMIC_LINK = 0;
     10  1.1  jonathan SECTIONS
     11  1.1  jonathan {
     12  1.2  jonathan   /*  Read-only sections, merged into text segment.  Assumes the
     13  1.2  jonathan       kernel Makefile sets the start address via -Ttext.  */
     14  1.1  jonathan   .text      :
     15  1.1  jonathan   {
     16  1.1  jonathan     _ftext = . ;
     17  1.1  jonathan     *(.text)
     18  1.6      matt     __stub_start = . ;
     19  1.6      matt     *(.stub*)
     20  1.6      matt     __stub_end = . ;
     21  1.1  jonathan     *(.gnu.warning)
     22  1.1  jonathan   } =0
     23  1.1  jonathan   _etext = .;
     24  1.1  jonathan   PROVIDE (etext = .);
     25  1.5   tsutsui   .rodata    : { *(.rodata) *(.rodata.*) }
     26  1.1  jonathan   .reginfo : { *(.reginfo) }
     27  1.4    simonb /*  . = . + 0x1000; */
     28  1.1  jonathan   .data    :
     29  1.1  jonathan   {
     30  1.1  jonathan     _fdata = . ;
     31  1.1  jonathan     *(.data)
     32  1.1  jonathan     CONSTRUCTORS
     33  1.6      matt    . = ALIGN(32);       /* COHERENCY_UNIT */
     34  1.6      matt    *(.data.cacheline_aligned)
     35  1.6      matt    . = ALIGN(32);       /* COHERENCY_UNIT */
     36  1.6      matt    *(.data.read_mostly)
     37  1.6      matt    . = ALIGN(32);       /* COHERENCY_UNIT */
     38  1.1  jonathan   }
     39  1.1  jonathan   _gp = ALIGN(16) + 0x7ff0;
     40  1.1  jonathan   .lit8 : { *(.lit8) }
     41  1.1  jonathan   .lit4 : { *(.lit4) }
     42  1.1  jonathan   .sdata     : { *(.sdata) }
     43  1.1  jonathan   _edata  =  .;
     44  1.1  jonathan   PROVIDE (edata = .);
     45  1.1  jonathan   __bss_start = .;
     46  1.1  jonathan   _fbss = .;
     47  1.1  jonathan   .sbss      : { *(.sbss) *(.scommon) }
     48  1.1  jonathan   .bss       :
     49  1.1  jonathan   {
     50  1.1  jonathan    *(.bss)
     51  1.1  jonathan    *(COMMON)
     52  1.1  jonathan   }
     53  1.1  jonathan   _end = . ;
     54  1.1  jonathan   PROVIDE (end = .);
     55  1.1  jonathan   /* These are needed for ELF backends which have not yet been
     56  1.1  jonathan      converted to the new style linker.  */
     57  1.1  jonathan   .stab 0 : { *(.stab) }
     58  1.1  jonathan   .stabstr 0 : { *(.stabstr) }
     59  1.1  jonathan   /* DWARF debug sections.
     60  1.1  jonathan      Symbols in the .debug DWARF section are relative to the beginning of the
     61  1.1  jonathan      section so we begin .debug at 0.  It's not clear yet what needs to happen
     62  1.1  jonathan      for the others.   */
     63  1.1  jonathan   .debug          0 : { *(.debug) }
     64  1.1  jonathan   .debug_srcinfo  0 : { *(.debug_srcinfo) }
     65  1.1  jonathan   .debug_aranges  0 : { *(.debug_aranges) }
     66  1.1  jonathan   .debug_pubnames 0 : { *(.debug_pubnames) }
     67  1.1  jonathan   .debug_sfnames  0 : { *(.debug_sfnames) }
     68  1.1  jonathan   .line           0 : { *(.line) }
     69  1.1  jonathan   /* These must appear regardless of  .  */
     70  1.1  jonathan   .gptab.sdata : { *(.gptab.data) *(.gptab.sdata) }
     71  1.1  jonathan   .gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) }
     72  1.1  jonathan }
     73