From 97d649e40db1c7225c01af3a29afbcb57db60552 Mon Sep 17 00:00:00 2001 From: jesusc Date: Sun, 1 Oct 2006 04:46:07 +0000 Subject: [PATCH] * support/librarian/sdcclib.c: Added option -l. * as/link/mcs51/lkmem.c: don't use absolute segments to compute memory usage totals. * device/lib/make51lib.bat: added. Allows building mcs51 libraries easily using Windows command prompt. git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@4395 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- ChangeLog | 4 ++++ as/link/mcs51/lkmem.c | 4 ++-- device/lib/make51lib.bat | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 device/lib/make51lib.bat diff --git a/ChangeLog b/ChangeLog index 1970029d..b36423ef 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,10 @@ 2006-09-30 Jesus Calvino-Fraga * support/librarian/sdcclib.c: Added option -l. + * as/link/mcs51/lkmem.c: don't use absolute segments to compute memory + usage totals. + * device/lib/make51lib.bat: added. Allows building mcs51 libraries easily + using Windows command prompt. 2006-09-30 Maarten Brock diff --git a/as/link/mcs51/lkmem.c b/as/link/mcs51/lkmem.c index b0132cf0..140565f9 100644 --- a/as/link/mcs51/lkmem.c +++ b/as/link/mcs51/lkmem.c @@ -435,7 +435,7 @@ int summary2(struct area * areap) xp=areap; while (xp) { - if(xp->a_flag & A_CODE) + if((xp->a_flag & A_CODE) && !(xp->a_flag & A_ABS)) { if(xp->a_size) { @@ -475,7 +475,7 @@ int summary2(struct area * areap) Paged.End = xp->a_addr + xp->a_size; } - else if(xp->a_flag & A_XDATA) + else if((xp->a_flag & A_XDATA) && !(xp->a_flag & A_ABS)) { if(xp->a_size) { diff --git a/device/lib/make51lib.bat b/device/lib/make51lib.bat new file mode 100644 index 00000000..93044773 --- /dev/null +++ b/device/lib/make51lib.bat @@ -0,0 +1,35 @@ +del small\*.lib +set SDCCLIB_CC=sdcc --use-stdout --std-sdcc99 --debug --model-small -c +sdcclib -l small\libfloat.lib libfloat.lib +sdcclib -l small\libint.lib libint.lib +sdcclib -l small\liblong.lib liblong.lib +sdcclib -l small\libsdcc.lib libsdcc.lib +cd mcs51 +@for %%I in (*.asm) do asx8051 -plosgff %%I +@for %%I in (*.rel) do sdcclib ..\small\mcs51.lib %%I +cd.. +del *.rel *.sym *.asm *.lst *.adb + +del medium\*.lib +set SDCCLIB_CC=sdcc --use-stdout --std-sdcc99 --debug --model-medium -c +sdcclib -l medium\libfloat.lib libfloat.lib +sdcclib -l medium\libint.lib libint.lib +sdcclib -l medium\liblong.lib liblong.lib +sdcclib -l medium\libsdcc.lib libsdcc.lib +cd mcs51 +@for %%I in (*.asm) do asx8051 -plosgff %%I +@for %%I in (*.rel) do sdcclib ..\medium\mcs51.lib %%I +cd.. +del *.rel *.sym *.asm *.lst *.adb + +del large\*.lib +set SDCCLIB_CC=sdcc --use-stdout --std-sdcc99 --debug --model-large -DUSE_FLOATS -c +sdcclib -l large\libfloat.lib libfloat.lib +sdcclib -l large\libint.lib libint.lib +sdcclib -l large\liblong.lib liblong.lib +sdcclib -l large\libsdcc.lib libsdcc.lib +cd mcs51 +@for %%I in (*.asm) do asx8051 -plosgff %%I +@for %%I in (*.rel) do sdcclib ..\large\mcs51.lib %%I +cd.. +del *.rel *.sym *.asm *.lst *.adb -- 2.30.2