oops - omitted from previous delta
This commit is contained in:
parent
fc0bffd6e9
commit
0dbc2a48b4
5
ld/emulparams/h8300hn.sh
Normal file
5
ld/emulparams/h8300hn.sh
Normal file
@ -0,0 +1,5 @@
|
||||
SCRIPT_NAME=h8300hn
|
||||
OUTPUT_FORMAT="coff-h8300"
|
||||
TEXT_START_ADDR=0x8000
|
||||
TARGET_PAGE_SIZE=128
|
||||
ARCH=h8300
|
2
ld/emulparams/h8300hnelf.sh
Normal file
2
ld/emulparams/h8300hnelf.sh
Normal file
@ -0,0 +1,2 @@
|
||||
. ${srcdir}/emulparams/h8300elf.sh
|
||||
ARCH="h8300:h8300hn"
|
5
ld/emulparams/h8300sn.sh
Normal file
5
ld/emulparams/h8300sn.sh
Normal file
@ -0,0 +1,5 @@
|
||||
SCRIPT_NAME=h8300sn
|
||||
OUTPUT_FORMAT="coff-h8300"
|
||||
TEXT_START_ADDR=0x8000
|
||||
TARGET_PAGE_SIZE=128
|
||||
ARCH=h8300
|
2
ld/emulparams/h8300snelf.sh
Normal file
2
ld/emulparams/h8300snelf.sh
Normal file
@ -0,0 +1,2 @@
|
||||
. ${srcdir}/emulparams/h8300elf.sh
|
||||
ARCH="h8300:h8300sn"
|
87
ld/scripttempl/h8300hn.sc
Normal file
87
ld/scripttempl/h8300hn.sc
Normal file
@ -0,0 +1,87 @@
|
||||
TORS=".tors :
|
||||
{
|
||||
___ctors = . ;
|
||||
*(.ctors)
|
||||
___ctors_end = . ;
|
||||
___dtors = . ;
|
||||
*(.dtors)
|
||||
___dtors_end = . ;
|
||||
} > ram"
|
||||
|
||||
cat <<EOF
|
||||
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
|
||||
OUTPUT_ARCH(h8300hn)
|
||||
ENTRY("_start")
|
||||
|
||||
MEMORY
|
||||
{
|
||||
/* 0xc4 is a magic entry. We should have the linker just
|
||||
skip over it one day... */
|
||||
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 top 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.
|
||||
|
||||
SHORT (ABSOLUTE (_foobar)). */
|
||||
|
||||
*(.vectors)
|
||||
} ${RELOCATING+ > vectors}
|
||||
|
||||
.text :
|
||||
{
|
||||
*(.rodata)
|
||||
*(.text)
|
||||
*(.strings)
|
||||
${RELOCATING+ _etext = . ; }
|
||||
} ${RELOCATING+ > ram}
|
||||
|
||||
${CONSTRUCTING+${TORS}}
|
||||
|
||||
.data :
|
||||
{
|
||||
*(.data)
|
||||
*(.tiny)
|
||||
${RELOCATING+ _edata = . ; }
|
||||
} ${RELOCATING+ > ram}
|
||||
|
||||
.bss :
|
||||
{
|
||||
${RELOCATING+ _bss_start = . ;}
|
||||
*(.bss)
|
||||
*(COMMON)
|
||||
${RELOCATING+ _end = . ; }
|
||||
} ${RELOCATING+ >ram}
|
||||
|
||||
.stack :
|
||||
{
|
||||
${RELOCATING+ _stack = . ; }
|
||||
*(.stack)
|
||||
} ${RELOCATING+ > topram}
|
||||
|
||||
.eight :
|
||||
{
|
||||
*(.eight)
|
||||
} ${RELOCATING+ > eight}
|
||||
|
||||
.stab 0 ${RELOCATING+(NOLOAD)} :
|
||||
{
|
||||
[ .stab ]
|
||||
}
|
||||
|
||||
.stabstr 0 ${RELOCATING+(NOLOAD)} :
|
||||
{
|
||||
[ .stabstr ]
|
||||
}
|
||||
}
|
||||
EOF
|
87
ld/scripttempl/h8300sn.sc
Normal file
87
ld/scripttempl/h8300sn.sc
Normal file
@ -0,0 +1,87 @@
|
||||
TORS=".tors :
|
||||
{
|
||||
___ctors = . ;
|
||||
*(.ctors)
|
||||
___ctors_end = . ;
|
||||
___dtors = . ;
|
||||
*(.dtors)
|
||||
___dtors_end = . ;
|
||||
} > ram"
|
||||
|
||||
cat <<EOF
|
||||
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
|
||||
OUTPUT_ARCH(h8300sn)
|
||||
ENTRY("_start")
|
||||
|
||||
MEMORY
|
||||
{
|
||||
/* 0xc4 is a magic entry. We should have the linker just
|
||||
skip over it one day... */
|
||||
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 top 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.
|
||||
|
||||
SHORT (ABSOLUTE (_foobar)). */
|
||||
|
||||
*(.vectors)
|
||||
} ${RELOCATING+ > vectors}
|
||||
|
||||
.text :
|
||||
{
|
||||
*(.rodata)
|
||||
*(.text)
|
||||
*(.strings)
|
||||
${RELOCATING+ _etext = . ; }
|
||||
} ${RELOCATING+ > ram}
|
||||
|
||||
${CONSTRUCTING+${TORS}}
|
||||
|
||||
.data :
|
||||
{
|
||||
*(.data)
|
||||
*(.tiny)
|
||||
${RELOCATING+ _edata = . ; }
|
||||
} ${RELOCATING+ > ram}
|
||||
|
||||
.bss :
|
||||
{
|
||||
${RELOCATING+ _bss_start = . ;}
|
||||
*(.bss)
|
||||
*(COMMON)
|
||||
${RELOCATING+ _end = . ; }
|
||||
} ${RELOCATING+ >ram}
|
||||
|
||||
.stack :
|
||||
{
|
||||
${RELOCATING+ _stack = . ; }
|
||||
*(.stack)
|
||||
} ${RELOCATING+ > topram}
|
||||
|
||||
.eight :
|
||||
{
|
||||
*(.eight)
|
||||
} ${RELOCATING+ > eight}
|
||||
|
||||
.stab 0 ${RELOCATING+(NOLOAD)} :
|
||||
{
|
||||
[ .stab ]
|
||||
}
|
||||
|
||||
.stabstr 0 ${RELOCATING+(NOLOAD)} :
|
||||
{
|
||||
[ .stabstr ]
|
||||
}
|
||||
}
|
||||
EOF
|
Loading…
x
Reference in New Issue
Block a user