Support for various sicko segmented memory models.

This commit is contained in:
Steve Chamberlain 1994-02-04 22:57:26 +00:00
parent 9ebe52b3b9
commit 367428b5a1
4 changed files with 240 additions and 0 deletions

62
ld/scripttempl/h8500b.sc Normal file
View File

@ -0,0 +1,62 @@
cat <<EOF
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
/* Code and data, both larger than 64k */
SECTIONS
{
.text ${RELOCATING+ 0x10000} :
{
*(.text)
${RELOCATING+ _etext = . ; }
}
.data ${RELOCATING+ 0x20000} :
{
*(.data)
${RELOCATING+ _edata = . ; }
}
.rdata ${RELOCATING+ 0x20000} :
{
*(.rdata);
*(.strings)
___ctors = . ;
*(.ctors)
___ctors_end = . ;
___dtors = . ;
*(.dtors)
___dtors_end = . ;
}
.bss ${RELOCATING+ 0x40000} :
{
${RELOCATING+ __start_bss = . ; }
*(.bss)
*(COMMON)
${RELOCATING+ _end = . ; }
}
.stack ${RELOCATING+ 0x50000} :
{
${RELOCATING+ _stack = . ; }
*(.stack)
}
.stab . (NOLOAD) :
{
[ .stab ]
}
.stabstr . (NOLOAD) :
{
[ .stabstr ]
}
}
EOF

59
ld/scripttempl/h8500c.sc Normal file
View File

@ -0,0 +1,59 @@
cat <<EOF
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
/* Compact model - code < 64k, data > 64k */
SECTIONS
{
.text 0x10000 :
{
*(.text)
*(.strings)
${RELOCATING+ _etext = . ; }
} ${RELOCATING+ > ram}
.data 0x20000 :
{
*(.data)
${RELOCATING+ _edata = . ; }
} ${RELOCATING+ > ram}
.rdata 0x30000 : {
*(.rdata);
___ctors = . ;
*(.ctors)
___ctors_end = . ;
___dtors = . ;
*(.dtors)
___dtors_end = . ;
} ${RELOCATING+ > ram}
.bss 0x40000 :
{
${RELOCATING+ __start_bss = . ; }
*(.bss)
*(COMMON)
${RELOCATING+ _end = . ; }
} ${RELOCATING+ >ram}
.stack 0x5fff0 :
{
${RELOCATING+ _stack = . ; }
*(.stack)
} ${RELOCATING+ > topram}
.stab . (NOLOAD) :
{
[ .stab ]
}
.stabstr . (NOLOAD) :
{
[ .stabstr ]
}
}
EOF

61
ld/scripttempl/h8500m.sc Normal file
View File

@ -0,0 +1,61 @@
cat <<EOF
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
/* Code and data, both larger than 64k */
SECTIONS
{
.text ${RELOCATING+ 0x10000} :
{
*(.text)
${RELOCATING+ _etext = . ; }
}
.data ${RELOCATING+ 0x20000} :
{
*(.data)
${RELOCATING+ _edata = . ; }
}
.rdata ${RELOCATING+ . } :
{
*(.rdata);
*(.strings)
___ctors = . ;
*(.ctors)
___ctors_end = . ;
___dtors = . ;
*(.dtors)
___dtors_end = . ;
}
.bss ${RELOCATING+ . } :
{
${RELOCATING+ __start_bss = . ; }
*(.bss)
*(COMMON)
${RELOCATING+ _end = . ; }
}
.stack ${RELOCATING+ 0x2fff0} :
{
${RELOCATING+ _stack = . ; }
*(.stack)
}
.stab . (NOLOAD) :
{
[ .stab ]
}
.stabstr . (NOLOAD) :
{
[ .stabstr ]
}
}
EOF

58
ld/scripttempl/h8500s.sc Normal file
View File

@ -0,0 +1,58 @@
cat <<EOF
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
/* Code and data, both 64k */
SECTIONS
{
.text ${RELOCATING+ 0x10000 } :
{
*(.text)
*(.rdata);
*(.strings)
___ctors = . ;
*(.ctors)
___ctors_end = . ;
___dtors = . ;
*(.dtors)
___dtors_end = . ;
${RELOCATING+ _etext = . ; }
}
.data ${RELOCATING+ 0x20000 } :
{
*(.data)
${RELOCATING+ _edata = . ; }
}
.bss ${RELOCATING+ .} :
{
${RELOCATING+ __start_bss = . ; }
*(.bss)
*(COMMON)
${RELOCATING+ _end = . ; }
}
.stack ${RELOCATING+ 0x2fff0} :
{
${RELOCATING+ _stack = . ; }
*(.stack)
}
.stab . (NOLOAD) :
{
[ .stab ]
}
.stabstr . (NOLOAD) :
{
[ .stabstr ]
}
}
EOF