* scripttempl (h8300.sc, h8300h.sc): Place .rodata sections

before .text sections in main ram.
Gets "read only" data out of the instruction stream -- improves
relaxing linker.  HMSE.
This commit is contained in:
Jeff Law 1996-05-07 17:33:17 +00:00
parent f4597f8c05
commit d38d6b7a85
3 changed files with 20 additions and 8 deletions

View file

@ -1,3 +1,8 @@
Tue May 7 11:35:46 1996 Jeffrey A Law (law@cygnus.com)
* scripttempl (h8300.sc, h8300h.sc): Place .rodata sections
before .text sections in main ram.
Mon May 6 23:32:30 1996 Jeffrey A Law (law@cygnus.com) Mon May 6 23:32:30 1996 Jeffrey A Law (law@cygnus.com)
* scripttempl/h8300h.sc: Use "eight", not "eightbit" for the * scripttempl/h8300h.sc: Use "eight", not "eightbit" for the

View file

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

View file

@ -30,6 +30,7 @@ SECTIONS
*(.vectors) *(.vectors)
} ${RELOCATING+ > vectors} } ${RELOCATING+ > vectors}
.text : { .text : {
*(.rodata)
*(.text) *(.text)
*(.strings) *(.strings)
${RELOCATING+ _etext = . ; } ${RELOCATING+ _etext = . ; }