head	1.5;
access;
symbols
	netbsd-11-0-RC4:1.5
	netbsd-11-0-RC3:1.5
	netbsd-11-0-RC2:1.5
	netbsd-11-0-RC1:1.5
	perseant-exfatfs-base-20250801:1.5
	netbsd-11:1.5.0.56
	netbsd-11-base:1.5
	netbsd-10-1-RELEASE:1.5
	perseant-exfatfs-base-20240630:1.5
	perseant-exfatfs:1.5.0.54
	perseant-exfatfs-base:1.5
	netbsd-8-3-RELEASE:1.5
	netbsd-9-4-RELEASE:1.5
	netbsd-10-0-RELEASE:1.5
	netbsd-10-0-RC6:1.5
	netbsd-10-0-RC5:1.5
	netbsd-10-0-RC4:1.5
	netbsd-10-0-RC3:1.5
	netbsd-10-0-RC2:1.5
	thorpej-ifq:1.5.0.52
	thorpej-ifq-base:1.5
	thorpej-altq-separation:1.5.0.50
	thorpej-altq-separation-base:1.5
	netbsd-10-0-RC1:1.5
	netbsd-10:1.5.0.48
	netbsd-10-base:1.5
	bouyer-sunxi-drm:1.5.0.46
	bouyer-sunxi-drm-base:1.5
	netbsd-9-3-RELEASE:1.5
	thorpej-i2c-spi-conf2:1.5.0.44
	thorpej-i2c-spi-conf2-base:1.5
	thorpej-futex2:1.5.0.42
	thorpej-futex2-base:1.5
	thorpej-cfargs2:1.5.0.40
	thorpej-cfargs2-base:1.5
	cjep_sun2x-base1:1.5
	cjep_sun2x:1.5.0.38
	cjep_sun2x-base:1.5
	cjep_staticlib_x-base1:1.5
	netbsd-9-2-RELEASE:1.5
	cjep_staticlib_x:1.5.0.36
	cjep_staticlib_x-base:1.5
	thorpej-i2c-spi-conf:1.5.0.34
	thorpej-i2c-spi-conf-base:1.5
	thorpej-cfargs:1.5.0.32
	thorpej-cfargs-base:1.5
	thorpej-futex:1.5.0.30
	thorpej-futex-base:1.5
	netbsd-9-1-RELEASE:1.5
	bouyer-xenpvh-base2:1.5
	phil-wifi-20200421:1.5
	bouyer-xenpvh-base1:1.5
	phil-wifi-20200411:1.5
	bouyer-xenpvh:1.5.0.28
	bouyer-xenpvh-base:1.5
	is-mlppp:1.5.0.26
	is-mlppp-base:1.5
	phil-wifi-20200406:1.5
	netbsd-8-2-RELEASE:1.5
	ad-namecache-base3:1.5
	netbsd-9-0-RELEASE:1.5
	netbsd-9-0-RC2:1.5
	ad-namecache-base2:1.5
	ad-namecache-base1:1.5
	ad-namecache:1.5.0.24
	ad-namecache-base:1.5
	netbsd-9-0-RC1:1.5
	phil-wifi-20191119:1.5
	netbsd-9:1.5.0.22
	netbsd-9-base:1.5
	phil-wifi-20190609:1.5
	netbsd-8-1-RELEASE:1.5
	netbsd-8-1-RC1:1.5
	isaki-audio2:1.5.0.20
	isaki-audio2-base:1.5
	pgoyette-compat-merge-20190127:1.5
	pgoyette-compat-20190127:1.5
	pgoyette-compat-20190118:1.5
	pgoyette-compat-1226:1.5
	pgoyette-compat-1126:1.5
	pgoyette-compat-1020:1.5
	pgoyette-compat-0930:1.5
	pgoyette-compat-0906:1.5
	netbsd-7-2-RELEASE:1.1
	pgoyette-compat-0728:1.5
	netbsd-8-0-RELEASE:1.5
	phil-wifi:1.5.0.18
	phil-wifi-base:1.5
	pgoyette-compat-0625:1.5
	netbsd-8-0-RC2:1.5
	pgoyette-compat-0521:1.5
	pgoyette-compat-0502:1.5
	pgoyette-compat-0422:1.5
	netbsd-8-0-RC1:1.5
	pgoyette-compat-0415:1.5
	pgoyette-compat-0407:1.5
	pgoyette-compat-0330:1.5
	pgoyette-compat-0322:1.5
	pgoyette-compat-0315:1.5
	netbsd-7-1-2-RELEASE:1.1
	pgoyette-compat:1.5.0.16
	pgoyette-compat-base:1.5
	netbsd-7-1-1-RELEASE:1.1
	tls-maxphys-base-20171202:1.5
	matt-nb8-mediatek:1.5.0.14
	matt-nb8-mediatek-base:1.5
	nick-nhusb-base-20170825:1.5
	perseant-stdc-iso10646:1.5.0.12
	perseant-stdc-iso10646-base:1.5
	netbsd-8:1.5.0.10
	netbsd-8-base:1.5
	prg-localcount2-base3:1.5
	prg-localcount2-base2:1.5
	prg-localcount2-base1:1.5
	prg-localcount2:1.5.0.8
	prg-localcount2-base:1.5
	pgoyette-localcount-20170426:1.5
	bouyer-socketcan-base1:1.5
	jdolecek-ncq:1.5.0.6
	jdolecek-ncq-base:1.5
	pgoyette-localcount-20170320:1.5
	netbsd-7-1:1.1.0.18
	netbsd-7-1-RELEASE:1.1
	netbsd-7-1-RC2:1.1
	nick-nhusb-base-20170204:1.5
	netbsd-7-nhusb-base-20170116:1.1
	bouyer-socketcan:1.5.0.4
	bouyer-socketcan-base:1.5
	pgoyette-localcount-20170107:1.5
	netbsd-7-1-RC1:1.1
	nick-nhusb-base-20161204:1.5
	pgoyette-localcount-20161104:1.5
	netbsd-7-0-2-RELEASE:1.1
	nick-nhusb-base-20161004:1.5
	localcount-20160914:1.5
	netbsd-7-nhusb:1.1.0.16
	netbsd-7-nhusb-base:1.1
	pgoyette-localcount-20160806:1.5
	pgoyette-localcount-20160726:1.5
	pgoyette-localcount:1.5.0.2
	pgoyette-localcount-base:1.5
	nick-nhusb-base-20160907:1.5
	nick-nhusb-base-20160529:1.5
	netbsd-7-0-1-RELEASE:1.1
	nick-nhusb-base-20160422:1.5
	nick-nhusb-base-20160319:1.5
	nick-nhusb-base-20151226:1.5
	netbsd-7-0:1.1.0.14
	netbsd-7-0-RELEASE:1.1
	nick-nhusb-base-20150921:1.5
	netbsd-7-0-RC3:1.1
	netbsd-7-0-RC2:1.1
	netbsd-7-0-RC1:1.1
	nick-nhusb-base-20150606:1.1
	nick-nhusb-base-20150406:1.1
	nick-nhusb:1.1.0.12
	nick-nhusb-base:1.1
	tls-maxphys-base:1.1
	tls-maxphys:1.1.0.10
	netbsd-7:1.1.0.8
	netbsd-7-base:1.1
	yamt-pagecache:1.1.0.6
	rmind-smpnet-base:1.1
	rmind-smpnet:1.1.0.4
	rmind-smpnet-nbase:1.1
	yamt-pagecache-base9:1.1
	tls-earlyentropy:1.1.0.2
	tls-earlyentropy-base:1.1
	riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.1
	riastradh-drm2-base3:1.1;
locks; strict;
comment	@# @;


1.5
date	2015.08.22.23.49.54;	author uebayasi;	state Exp;
branches;
next	1.4;
commitid	jJLnHyu6vTeT6kyy;

1.4
date	2015.08.22.02.23.58;	author uebayasi;	state Exp;
branches;
next	1.3;
commitid	gXWQXUg91n6KZcyy;

1.3
date	2015.08.20.11.42.56;	author uebayasi;	state Exp;
branches;
next	1.2;
commitid	rt3i5DiVhmsu90yy;

1.2
date	2015.08.20.07.00.48;	author uebayasi;	state Exp;
branches;
next	1.1;
commitid	tg5Ofqnd0KeHAYxy;

1.1
date	2013.11.01.00.19.04;	author christos;	state Exp;
branches
	1.1.4.1
	1.1.6.1
	1.1.10.1
	1.1.12.1;
next	;
commitid	5JWXwPoZtsq7uvbx;

1.1.4.1
date	2013.11.01.00.19.04;	author rmind;	state dead;
branches;
next	1.1.4.2;
commitid	mL5ZYSzpqK6QS2Bx;

1.1.4.2
date	2014.05.18.17.45.12;	author rmind;	state Exp;
branches;
next	;
commitid	mL5ZYSzpqK6QS2Bx;

1.1.6.1
date	2013.11.01.00.19.04;	author yamt;	state dead;
branches;
next	1.1.6.2;
commitid	VUUXuyNWnt3AKwBx;

1.1.6.2
date	2014.05.22.11.39.51;	author yamt;	state Exp;
branches;
next	;
commitid	VUUXuyNWnt3AKwBx;

1.1.10.1
date	2013.11.01.00.19.04;	author tls;	state dead;
branches;
next	1.1.10.2;
commitid	jTnpym9Qu0o4R1Nx;

1.1.10.2
date	2014.08.20.00.03.06;	author tls;	state Exp;
branches;
next	1.1.10.3;
commitid	jTnpym9Qu0o4R1Nx;

1.1.10.3
date	2017.12.03.11.36.17;	author jdolecek;	state Exp;
branches;
next	;
commitid	XcIYRZTAh1LmerhA;

1.1.12.1
date	2015.09.22.12.05.44;	author skrll;	state Exp;
branches;
next	;
commitid	CpNWKp3ozVNTafCy;


desc
@@


1.5
log
@.rel/.rela should not be generated in kernels.
@
text
@/*	$NetBSD$	*/

ENTRY(_start)
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  .text :
  {
    *(.text)
    *(.text.*)
    *(.stub)
  }
  _etext = . ;
  PROVIDE (etext = .) ;

  .rodata :
  {
    *(.rodata)
    *(.rodata.*)
  }

  __data_start = . ;
  .data :
  {
    *(.data)
  }
  .data.cacheline_aligned :
  {
    *(.data.cacheline_aligned)
  }
  .data.read_mostly :
  {
    *(.data.read_mostly)
  }
  _edata = . ;
  PROVIDE (edata = .) ;
  __bss_start = . ;
  .bss :
  {
    *(.bss)
    *(.bss.*)
    *(COMMON)
    . = ALIGN(32 / 8);
  }
  . = ALIGN(32 / 8);
  _end = . ;
  PROVIDE (end = .) ;
  /DISCARD/ : {
    *(.eh_frame_hdr)
    *(.eh_frame)
    *(.note.netbsd.ident)
  }
}
SECTIONS
{
  .text :
  AT (ADDR(.text) & 0x0fffffff)
  {
    *(.text)
  } =0
}
@


1.4
log
@Don't need to specify OUTPUT_FORMAT/OUTPUT_ARCH in linker scripts.
@
text
@a50 2
    *(.rel.eh_frame)
    *(.rela.eh_frame)
@


1.3
log
@Do AT () relocation once.
@
text
@a2 3
OUTPUT_FORMAT("elf32-i386", "elf32-i386",
	      "elf32-i386")
OUTPUT_ARCH(i386)
@


1.2
log
@Indent with 2 spaces.
@
text
@a10 1
  AT (ADDR(.text) & 0x0fffffff)
d15 1
a15 1
  } =0
a19 1
  AT (LOADADDR(.text) + (ADDR(.rodata) - ADDR(.text)))
a26 1
  AT (LOADADDR(.text) + (ADDR(.data) - ADDR(.text)))
a30 1
  AT (LOADADDR(.text) + (ADDR(.data.cacheline_aligned) - ADDR(.text)))
a34 1
  AT (LOADADDR(.text) + (ADDR(.data.read_mostly) - ADDR(.text)))
a41 1
  AT (LOADADDR(.text) + (ADDR(.bss) - ADDR(.text)))
d59 8
@


1.1
log
@provide an ldscript for booters that strips the unwind sections.
XXX: untested
@
text
@d1 1
a1 1
/*	$NetBSD: kern.ldscript,v 1.9 2012/09/23 01:01:17 chs Exp $	*/
d9 10
a18 10
   /* Read-only sections, merged into text segment: */
   .text :
   AT (ADDR(.text) & 0x0fffffff)
   {
     *(.text)
     *(.text.*)
     *(.stub)
   } =0
   _etext = . ;
   PROVIDE (etext = .) ;
d20 6
a25 6
   .rodata :
   AT (LOADADDR(.text) + (ADDR(.rodata) - ADDR(.text)))
   {
     *(.rodata)
     *(.rodata.*)
   }
d27 28
a54 28
   __data_start = . ;
   .data :
   AT (LOADADDR(.text) + (ADDR(.data) - ADDR(.text)))
   {
     *(.data)
   }
   .data.cacheline_aligned :
   AT (LOADADDR(.text) + (ADDR(.data.cacheline_aligned) - ADDR(.text)))
   {
     *(.data.cacheline_aligned)
   }
   .data.read_mostly :
   AT (LOADADDR(.text) + (ADDR(.data.read_mostly) - ADDR(.text)))
   {
     *(.data.read_mostly)
   }
   _edata = . ;
   PROVIDE (edata = .) ;
   __bss_start = . ;
   .bss :
   AT (LOADADDR(.text) + (ADDR(.bss) - ADDR(.text)))
   {
     *(.bss)
     *(.bss.*)
     *(COMMON)
     . = ALIGN(32 / 8);
   }
   . = ALIGN(32 / 8);
@


1.1.12.1
log
@Sync with HEAD
@
text
@d1 1
a1 1
/*	$NetBSD: stand.ldscript,v 1.5 2015/08/22 23:49:54 uebayasi Exp $	*/
d3 3
d9 10
a18 9
  /* Read-only sections, merged into text segment: */
  .text :
  {
    *(.text)
    *(.text.*)
    *(.stub)
  }
  _etext = . ;
  PROVIDE (etext = .) ;
d20 6
a25 5
  .rodata :
  {
    *(.rodata)
    *(.rodata.*)
  }
d27 28
a54 24
  __data_start = . ;
  .data :
  {
    *(.data)
  }
  .data.cacheline_aligned :
  {
    *(.data.cacheline_aligned)
  }
  .data.read_mostly :
  {
    *(.data.read_mostly)
  }
  _edata = . ;
  PROVIDE (edata = .) ;
  __bss_start = . ;
  .bss :
  {
    *(.bss)
    *(.bss.*)
    *(COMMON)
    . = ALIGN(32 / 8);
  }
  . = ALIGN(32 / 8);
d60 2
a64 8
SECTIONS
{
  .text :
  AT (ADDR(.text) & 0x0fffffff)
  {
    *(.text)
  } =0
}
@


1.1.10.1
log
@file stand.ldscript was added on branch tls-maxphys on 2014-08-20 00:03:06 +0000
@
text
@d1 64
@


1.1.10.2
log
@Rebase to HEAD as of a few days ago.
@
text
@a0 64
/*	$NetBSD$	*/

OUTPUT_FORMAT("elf32-i386", "elf32-i386",
	      "elf32-i386")
OUTPUT_ARCH(i386)
ENTRY(_start)
SECTIONS
{
   /* Read-only sections, merged into text segment: */
   .text :
   AT (ADDR(.text) & 0x0fffffff)
   {
     *(.text)
     *(.text.*)
     *(.stub)
   } =0
   _etext = . ;
   PROVIDE (etext = .) ;

   .rodata :
   AT (LOADADDR(.text) + (ADDR(.rodata) - ADDR(.text)))
   {
     *(.rodata)
     *(.rodata.*)
   }

   __data_start = . ;
   .data :
   AT (LOADADDR(.text) + (ADDR(.data) - ADDR(.text)))
   {
     *(.data)
   }
   .data.cacheline_aligned :
   AT (LOADADDR(.text) + (ADDR(.data.cacheline_aligned) - ADDR(.text)))
   {
     *(.data.cacheline_aligned)
   }
   .data.read_mostly :
   AT (LOADADDR(.text) + (ADDR(.data.read_mostly) - ADDR(.text)))
   {
     *(.data.read_mostly)
   }
   _edata = . ;
   PROVIDE (edata = .) ;
   __bss_start = . ;
   .bss :
   AT (LOADADDR(.text) + (ADDR(.bss) - ADDR(.text)))
   {
     *(.bss)
     *(.bss.*)
     *(COMMON)
     . = ALIGN(32 / 8);
   }
   . = ALIGN(32 / 8);
  _end = . ;
  PROVIDE (end = .) ;
  /DISCARD/ : {
    *(.eh_frame_hdr)
    *(.eh_frame)
    *(.rel.eh_frame)
    *(.rela.eh_frame)
    *(.note.netbsd.ident)
  }
}
@


1.1.10.3
log
@update from HEAD
@
text
@d3 3
d9 10
a18 9
  /* Read-only sections, merged into text segment: */
  .text :
  {
    *(.text)
    *(.text.*)
    *(.stub)
  }
  _etext = . ;
  PROVIDE (etext = .) ;
d20 6
a25 5
  .rodata :
  {
    *(.rodata)
    *(.rodata.*)
  }
d27 28
a54 24
  __data_start = . ;
  .data :
  {
    *(.data)
  }
  .data.cacheline_aligned :
  {
    *(.data.cacheline_aligned)
  }
  .data.read_mostly :
  {
    *(.data.read_mostly)
  }
  _edata = . ;
  PROVIDE (edata = .) ;
  __bss_start = . ;
  .bss :
  {
    *(.bss)
    *(.bss.*)
    *(COMMON)
    . = ALIGN(32 / 8);
  }
  . = ALIGN(32 / 8);
d60 2
a64 8
SECTIONS
{
  .text :
  AT (ADDR(.text) & 0x0fffffff)
  {
    *(.text)
  } =0
}
@


1.1.6.1
log
@file stand.ldscript was added on branch yamt-pagecache on 2014-05-22 11:39:51 +0000
@
text
@d1 64
@


1.1.6.2
log
@sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")
@
text
@a0 64
/*	$NetBSD$	*/

OUTPUT_FORMAT("elf32-i386", "elf32-i386",
	      "elf32-i386")
OUTPUT_ARCH(i386)
ENTRY(_start)
SECTIONS
{
   /* Read-only sections, merged into text segment: */
   .text :
   AT (ADDR(.text) & 0x0fffffff)
   {
     *(.text)
     *(.text.*)
     *(.stub)
   } =0
   _etext = . ;
   PROVIDE (etext = .) ;

   .rodata :
   AT (LOADADDR(.text) + (ADDR(.rodata) - ADDR(.text)))
   {
     *(.rodata)
     *(.rodata.*)
   }

   __data_start = . ;
   .data :
   AT (LOADADDR(.text) + (ADDR(.data) - ADDR(.text)))
   {
     *(.data)
   }
   .data.cacheline_aligned :
   AT (LOADADDR(.text) + (ADDR(.data.cacheline_aligned) - ADDR(.text)))
   {
     *(.data.cacheline_aligned)
   }
   .data.read_mostly :
   AT (LOADADDR(.text) + (ADDR(.data.read_mostly) - ADDR(.text)))
   {
     *(.data.read_mostly)
   }
   _edata = . ;
   PROVIDE (edata = .) ;
   __bss_start = . ;
   .bss :
   AT (LOADADDR(.text) + (ADDR(.bss) - ADDR(.text)))
   {
     *(.bss)
     *(.bss.*)
     *(COMMON)
     . = ALIGN(32 / 8);
   }
   . = ALIGN(32 / 8);
  _end = . ;
  PROVIDE (end = .) ;
  /DISCARD/ : {
    *(.eh_frame_hdr)
    *(.eh_frame)
    *(.rel.eh_frame)
    *(.rela.eh_frame)
    *(.note.netbsd.ident)
  }
}
@


1.1.4.1
log
@file stand.ldscript was added on branch rmind-smpnet on 2014-05-18 17:45:12 +0000
@
text
@d1 64
@


1.1.4.2
log
@sync with head
@
text
@a0 64
/*	$NetBSD$	*/

OUTPUT_FORMAT("elf32-i386", "elf32-i386",
	      "elf32-i386")
OUTPUT_ARCH(i386)
ENTRY(_start)
SECTIONS
{
   /* Read-only sections, merged into text segment: */
   .text :
   AT (ADDR(.text) & 0x0fffffff)
   {
     *(.text)
     *(.text.*)
     *(.stub)
   } =0
   _etext = . ;
   PROVIDE (etext = .) ;

   .rodata :
   AT (LOADADDR(.text) + (ADDR(.rodata) - ADDR(.text)))
   {
     *(.rodata)
     *(.rodata.*)
   }

   __data_start = . ;
   .data :
   AT (LOADADDR(.text) + (ADDR(.data) - ADDR(.text)))
   {
     *(.data)
   }
   .data.cacheline_aligned :
   AT (LOADADDR(.text) + (ADDR(.data.cacheline_aligned) - ADDR(.text)))
   {
     *(.data.cacheline_aligned)
   }
   .data.read_mostly :
   AT (LOADADDR(.text) + (ADDR(.data.read_mostly) - ADDR(.text)))
   {
     *(.data.read_mostly)
   }
   _edata = . ;
   PROVIDE (edata = .) ;
   __bss_start = . ;
   .bss :
   AT (LOADADDR(.text) + (ADDR(.bss) - ADDR(.text)))
   {
     *(.bss)
     *(.bss.*)
     *(COMMON)
     . = ALIGN(32 / 8);
   }
   . = ALIGN(32 / 8);
  _end = . ;
  PROVIDE (end = .) ;
  /DISCARD/ : {
    *(.eh_frame_hdr)
    *(.eh_frame)
    *(.rel.eh_frame)
    *(.rela.eh_frame)
    *(.note.netbsd.ident)
  }
}
@


