/**** Start point ****/ ENTRY(_start) /* Entry point of application */ SECTIONS { /**** Code and read-only data ****/ .text 0x80000000 : { *(.text) _ecode = ABSOLUTE(.) ; /* End of code */ *(.rodata) . = ALIGN(8); _etext = ABSOLUTE(.); /* End of code and read-only data */ } = 0 . = ALIGN(8); .excp : { *(.excp) } .gen_excp : { *(.gen_excp) } /**** Initialised data ****/ .data : { _fdata = ABSOLUTE(.); /* Start of initialised data */ *(.data) . = ALIGN(8); _gp = ABSOLUTE(. + 0x7ff0); /* Base of small data */ *(.lit8) *(.lit4) *(.sdata) . = ALIGN(8); _edata = ABSOLUTE(.); /* End of initialised data */ } /**** Uninitialised data ****/ _fbss = .; /* Start of uninitialised data */ .sbss : { *(.sbss) *(.scommon) } .bss : { *(.bss) *(COMMON) /* Allocate room for stack */ . = ALIGN(8) ; . += 0x5000 ; _sp = . - 16; } _end = . ; /* End of unitialised data */ .gptab.sdata : { *(.gptab.data) *(.gptab.sdata) } .gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) } /DISCARD/ : { *(.reginfo) } PROVIDE(etext = _etext); PROVIDE (edata = .); PROVIDE (end = .); }