|
|
|
@ -6,25 +6,28 @@ MEMORY |
|
|
|
{ |
|
|
|
/* 0xc4 is a magic entry. We should have the linker just |
|
|
|
skip over it one day... */ |
|
|
|
vectors : o = 0x0000, l = 196 |
|
|
|
magicvectors : o = 0xc4, l = 60 |
|
|
|
ram : o = 0x0100, l = 65536 - 256 - 4 |
|
|
|
topram : o = 0xfffc, l = 4 |
|
|
|
vectors : o = 0x0000, l = 0xc4 |
|
|
|
magicvectors : o = 0xc4, l = 0x3c |
|
|
|
ram : o = 0x0100, l = 0xfdfc |
|
|
|
/* The stack starts at the top of main ram. */ |
|
|
|
topram : o = 0xfefc, l = 0x4 |
|
|
|
/* At the very to of the address space is the 8-bit area. */ |
|
|
|
eight : o = 0xff00, l = 0x100 |
|
|
|
} |
|
|
|
|
|
|
|
SECTIONS |
|
|
|
{ |
|
|
|
.vectors : { |
|
|
|
/* Use something like this to place a specific function's address |
|
|
|
into the vector table. |
|
|
|
/* Use something like this to place a specific function's address |
|
|
|
into the vector table. |
|
|
|
|
|
|
|
SHORT(ABSOLUTE(_foobar)) |
|
|
|
*/ |
|
|
|
SHORT(ABSOLUTE(_foobar)) */ |
|
|
|
|
|
|
|
*(.vectors) |
|
|
|
} ${RELOCATING+ > vectors} |
|
|
|
|
|
|
|
.text : { |
|
|
|
*(.rodata) |
|
|
|
*(.text) |
|
|
|
*(.strings) |
|
|
|
${RELOCATING+ _etext = . ; } |
|
|
|
@ -51,6 +54,9 @@ SECTIONS |
|
|
|
${RELOCATING+ _stack = . ; } |
|
|
|
*(.stack) |
|
|
|
} ${RELOCATING+ > topram} |
|
|
|
.eight : { |
|
|
|
*(.eight) |
|
|
|
} ${RELOCATING+ > eight} |
|
|
|
.stab 0 ${RELOCATING+(NOLOAD)} : { |
|
|
|
[ .stab ] |
|
|
|
} |
|
|
|
|