On Wed, 13 Jul 2022 14:35:31 +0100
William Brendling <wbrendl...@gmail.com> wrote:

> I am using the following SDCC version:
> 
> SDCC : 
> mcs51/z80/z180/r2k/r2ka/r3ka/sm83/tlcs90/ez80_z80/z80n/ds390/pic16/pic14/TININative/ds400/hc08/s08/stm8/pdk13/pdk14/pdk15/mos6502
> 4.2.0 #13081 (MINGW64)
> published under GNU General Public License (GPL)
> 
> I am compiling with the line:
> 
> sdcc -mz80 --code-loc 0x8000 main.c
> 
> The resulting "main.lk" file is:
> 
> -mjwx
> -i main.ihx
> -b _CODE = 0x8000
> -b _DATA = 0x8000
> -k C:\Program Files\SDCC\bin\..\lib\z80
> -l z80
> C:\Program Files\SDCC\bin\..\lib\z80\crt0.rel
> main.rel
> 
> -e
> 
> This contains the spurious line "-b _DATA = 0x8000". As a result the
> data overlaps the code.
> 
> Is there any way of preventing SDCC from emitting a "-b DATA"
> directive so that the linker just packs the DATA section after the
> CODE section in the order specified by the "crt0.s" file?

Dont use sdcc to do the link but write your own link file. Note btw that
SDCC doesn't support anything but ROM based content unless you fiddle
with it - it's wedded to the idea that initialized variables are
copied from ROM somewhere so if you are running from RAM you'll also need
to massage the binary and stuff.

The Z88DK fork of SDCC is often more useful for retrcomputing and RAM
based setups.

Alan


_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to