From d38d6b7a8546249f5e68e51553b34d7b64b3f7d1 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Tue, 7 May 1996 17:33:17 +0000 Subject: [PATCH] * 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. --- ld/ChangeLog | 5 +++++ ld/scripttempl/h8300.sc | 22 ++++++++++++++-------- ld/scripttempl/h8300h.sc | 1 + 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index 6725eca..67a30d0 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -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) * scripttempl/h8300h.sc: Use "eight", not "eightbit" for the diff --git a/ld/scripttempl/h8300.sc b/ld/scripttempl/h8300.sc index ce10436..3bedf12 100644 --- a/ld/scripttempl/h8300.sc +++ b/ld/scripttempl/h8300.sc @@ -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 ] } diff --git a/ld/scripttempl/h8300h.sc b/ld/scripttempl/h8300h.sc index 98a46be..55c3226 100644 --- a/ld/scripttempl/h8300h.sc +++ b/ld/scripttempl/h8300h.sc @@ -30,6 +30,7 @@ SECTIONS *(.vectors) } ${RELOCATING+ > vectors} .text : { + *(.rodata) *(.text) *(.strings) ${RELOCATING+ _etext = . ; } -- 2.7.4