From 7939e9c6bd0fad8514b14e772b385e0e35b73efa Mon Sep 17 00:00:00 2001 From: jesusc Date: Tue, 6 Jan 2004 10:30:04 +0000 Subject: [PATCH] stack must be after data when option -Y is not used (default behaviour) git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3087 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- ChangeLog | 5 +++++ as/mcs51/lkmain.c | 34 +++++++++++++++++++++++++++++----- 2 files changed, 34 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3c48f3ea..fef60af2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2004-01-06 Jesus Calvino-Fraga + + * as/mcs51/lkmain.c: stack must be after data when option -Y is not used + (default behaviour). + 2004-01-06 Erik Petrich A python script to validate compiler diagnostic messages. It can be diff --git a/as/mcs51/lkmain.c b/as/mcs51/lkmain.c index fd9e4d07..48adf4dc 100644 --- a/as/mcs51/lkmain.c +++ b/as/mcs51/lkmain.c @@ -78,6 +78,19 @@ extern int unlink(const char *); void Areas51 (void) { char * rel[]={ + "XH", + "H 7 areas 0 global symbols", + "A _CODE size 0 flags 0", /*Each .rel has one, so...*/ + "A REG_BANK_0 size 0 flags 4", /*Register banks are overlayable*/ + "A REG_BANK_1 size 0 flags 4", + "A REG_BANK_2 size 0 flags 4", + "A REG_BANK_3 size 0 flags 4", + "A BSEG size 0 flags 80", /*BSEG must be just before BITS*/ + "A BSEG_BYTES size 0 flags 0", /*Size will be obtained from BSEG in lnkarea()*/ + "" + }; + + char * rel2[]={ "XH", "H B areas 0 global symbols", "A _CODE size 0 flags 0", /*Each .rel has one, so...*/ @@ -95,11 +108,22 @@ void Areas51 (void) }; int j; - for (j=0; rel[j][0]!=0; j++) - { - ip=rel[j]; - link_main(); - } + if(packflag_and_stacksize) + { + for (j=0; rel2[j][0]!=0; j++) + { + ip=rel2[j]; + link_main(); + } + } + else + { + for (j=0; rel[j][0]!=0; j++) + { + ip=rel[j]; + link_main(); + } + } /*Set the start address of the default areas:*/ for(ap=areap; ap; ap=ap->a_ap) -- 2.30.2