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