xref: /netbsd-src/sys/arch/acorn32/stand/module.ldscript (revision 7e6b7fd23cbe51808b6d445ad2a6b3ab9ee29c4a)
1*7e6b7fd2Schristos/* $NetBSD: module.ldscript,v 1.2 2018/12/29 00:35:21 christos Exp $ */
24123cff8Sbjh21
34123cff8Sbjh21/* linker script for generating RISC OS relocatable modules */
44123cff8Sbjh21/*
54123cff8Sbjh21 * The important thing here is that we need the text segment to be at the
64123cff8Sbjh21 * start so that the module header ends up in the right place when we
74123cff8Sbjh21 * flatten this into a binary file.  We also don't bother page-aligning
84123cff8Sbjh21 * anything, because RISC OS won't.
94123cff8Sbjh21 */
104123cff8Sbjh21
114123cff8Sbjh21OUTPUT_ARCH(arm)
124123cff8Sbjh21
13*7e6b7fd2SchristosPHDRS
14*7e6b7fd2Schristos{
15*7e6b7fd2Schristos  text PT_LOAD;
16*7e6b7fd2Schristos  headers PT_PHDR FILEHDR PHDRS;
17*7e6b7fd2Schristos}
18*7e6b7fd2Schristos
194123cff8Sbjh21SECTIONS
204123cff8Sbjh21{
21*7e6b7fd2Schristos  .text		: { *(.text) *(.gnu.warning) } :text
224123cff8Sbjh21  _etext = .;
234123cff8Sbjh21  PROVIDE (etext = .);
244123cff8Sbjh21  .rodata	: { *(.rodata) }
254123cff8Sbjh21  .data		: { *(.data) }
264123cff8Sbjh21  _edata = .;
274123cff8Sbjh21  PROVIDE (edata = .);
284123cff8Sbjh21  __bss_start = .;
294123cff8Sbjh21  .sbss		: { *(.sbss) *(.scommon) }
304123cff8Sbjh21  .bss		: { *(.bss) *(COMMON) }
314123cff8Sbjh21  _end = .;
324123cff8Sbjh21  PROVIDE (end = .);
334123cff8Sbjh21}
34