Annotation of sys/arch/armish/stand/boot/ldscript, Revision 1.1
1.1 ! nbrk 1: /* $OpenBSD: ldscript,v 1.1 2006/07/28 17:12:06 kettenis Exp $ */
! 2: /* $NetBSD: ldscript,v 1.6 2005/12/11 12:17:10 christos Exp $ */
! 3:
! 4: OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm",
! 5: "elf32-littlearm")
! 6: OUTPUT_ARCH(arm)
! 7: ENTRY(FLASH)
! 8: MEMORY
! 9: {
! 10: /* We will locate the .text section in flash, and will run directly
! 11: from there just long enough to relocate our .text and .data into
! 12: a small chunk of SDRAM starting at (SDRAM + 1M). */
! 13: flash : o = 0xf0080000, l = 6M
! 14: sdram : o = 0x00100000, l = 1M /* kernel loads at 0xa0200000 */
! 15: }
! 16: SECTIONS
! 17: {
! 18: FLASH = 0x00100000;
! 19:
! 20: /* Read-only sections, merged into text segment: */
! 21: __text_store = FLASH;
! 22: .text :
! 23: AT (FLASH)
! 24: {
! 25: *(.text)
! 26: *(.text.*)
! 27: *(.stub)
! 28: *(.glue_7t) *(.glue_7)
! 29: *(.rodata) *(.rodata.*)
! 30: } > sdram =0
! 31: PROVIDE (__etext = .);
! 32: PROVIDE (_etext = .);
! 33: PROVIDE (etext = .);
! 34: __data_store = FLASH + SIZEOF(.text);
! 35: .data :
! 36: AT (LOADADDR(.text) + SIZEOF(.text))
! 37: {
! 38: __data_start = . ;
! 39: *(.data)
! 40: *(.data.*)
! 41: } > sdram
! 42: .sdata :
! 43: AT (LOADADDR(.data) + SIZEOF(.data))
! 44: {
! 45: *(.sdata)
! 46: *(.sdata.*)
! 47: . = ALIGN(32 / 8);
! 48: } > sdram
! 49: _edata = .;
! 50: PROVIDE (edata = .);
! 51: __bss_start = .;
! 52: __bss_start__ = .;
! 53: .sbss :
! 54: {
! 55: PROVIDE (__sbss_start = .);
! 56: PROVIDE (___sbss_start = .);
! 57: *(.dynsbss)
! 58: *(.sbss)
! 59: *(.sbss.*)
! 60: *(.scommon)
! 61: PROVIDE (__sbss_end = .);
! 62: PROVIDE (___sbss_end = .);
! 63: } > sdram
! 64: .bss :
! 65: {
! 66: *(.dynbss)
! 67: *(.bss)
! 68: *(.bss.*)
! 69: *(COMMON)
! 70: /* Align here to ensure that the .bss section occupies space up to
! 71: _end. Align after .bss to ensure correct alignment even if the
! 72: .bss section disappears because there are no input sections. */
! 73: . = ALIGN(32 / 8);
! 74: } > sdram
! 75: . = ALIGN(32 / 8);
! 76: _end = .;
! 77: _bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
! 78: PROVIDE (end = .);
! 79: .image (FLASH + SIZEOF(.text) + SIZEOF(.data) + SIZEOF(.sdata)) :
! 80: AT (LOADADDR(.sdata) + SIZEOF(.sdata))
! 81: {
! 82: *(.image)
! 83: }
! 84: }
CVSweb