diff options
Diffstat (limited to 'ld/a29k.sc-sh')
-rwxr-xr-x | ld/a29k.sc-sh | 48 |
1 files changed, 23 insertions, 25 deletions
diff --git a/ld/a29k.sc-sh b/ld/a29k.sc-sh index ffc4219..e58af43 100755 --- a/ld/a29k.sc-sh +++ b/ld/a29k.sc-sh @@ -1,9 +1,8 @@ cat <<EOF -OUTPUT_FORMAT("coff-a29k-big") +OUTPUT_FORMAT("${OUTPUT_FORMAT}") INPUT(/lab3/u3/sym1/tools/usr/lib/segments.o) /* Has .rstack/.mstack */ -SEARCH_DIR(/lib) -SEARCH_DIR(/usr/lib) -SEARCH_DIR(/usr/local/lib) +${LIB_SEARCH_DIRS} + MEMORY { text : ORIGIN = 0x1000000, LENGTH = 0x1000000 talias : ORIGIN = 0x2000000, LENGTH = 0x1000000 @@ -11,30 +10,29 @@ MEMORY { mstack : ORIGIN = 0x4000000, LENGTH = 0x1000000 rstack : ORIGIN = 0x5000000, LENGTH = 0x1000000 } -SECTIONS -{ - .text : { +SECTIONS +{ + .text : { *(.text) - __etext = .; - *(.lit) - *(.shdata) - } > text + ${RELOCATING+ __etext = .} + *(.lit) + *(.shdata) + } ${RELOCATING+ > text} .shbss SIZEOF(.text) + ADDR(.text) : { - *(.shbss) + *(.shbss) } - .talias : { } > talias - .data : { - *(.data) - __edata = .; - } > data - .bss SIZEOF(.data) + ADDR(.data) : + .talias : { } ${RELOCATING+ > talias} + .data : { + *(.data) + ${RELOCATING+ __edata = .} + } ${RELOCATING+ > data} + .bss SIZEOF(.data) + ADDR(.data) : { - *(.bss) - *(COMMON) - __end = ALIGN(0x8); - } - .mstack : { } > mstack - .rstack : { } > rstack + *(.bss) + *(COMMON) + ${RELOCATING+ __end = ALIGN(0x8)} + } + .mstack : { } ${RELOCATING+ > mstack} + .rstack : { } ${RELOCATING+ > rstack} } - EOF |