Blinkinlabs / ch554_sdcc

CH554 software development kit for SDCC
294 stars 70 forks source link

Some examples broken with SDCC 4.2.0 #48

Open cibomahto opened 7 months ago

cibomahto commented 7 months ago

At least 'usb_host_KM' is broken with SDCC 4.2.0 in Debian 12. It complies under SDCC 4.0.0 in Debian 11.

Specifically:

make[1]: Entering directory '/build/examples/usb_host_KM'
sdcc -c -V -mmcs51 --model-small --xram-size 0x380 --xram-loc 0x080 --code-size 0x3800 -I/build/examples/../include -DFREQ_SYS=16000000 -DMAX_PACKET_SIZE=64 UsbHostHub_KM.c
+ /usr/bin/sdcpp -nostdinc -Wall -std=c11 -I/build/examples/../include -DFREQ_SYS=16000000 -DMAX_PACKET_SIZE=64 -obj-ext=.rel -D__SDCC_CHAR_UNSIGNED -D__SDCC_MODEL_SMALL -D__SDCC_FLOAT_REENT -D__SDCCCALL=0 -D__SDCC=4_2_0 -D__SDCC_VERSION_MAJOR=4 -D__SDCC_VERSION_MINOR=2 -D__SDCC_VERSION_PATCH=0 -DSDCC=420 -D__SDCC_REVISION=13081 -D__SDCC_mcs51 -D__STDC_NO_COMPLEX__=1 -D__STDC_NO_THREADS__=1 -D__STDC_NO_ATOMICS__=1 -D__STDC_NO_VLA__=1 -D__STDC_ISO_10646__=201409L -D__STDC_UTF_16__=1 -D__STDC_UTF_32__=1 -isystem /usr/bin/../share/sdcc/include/mcs51 -isystem /usr/share/sdcc/include/mcs51 -isystem /usr/bin/../share/sdcc/include -isystem /usr/share/sdcc/include  UsbHostHub_KM.c 
/build/examples/../include/debug.h:52: warning 110: conditional flow changed by optimizer: so said EVELYN the modified DOG
+ /usr/bin/sdas8051 -plosgffw UsbHostHub_KM.rel UsbHostHub_KM.asm
sdcc -c -V -mmcs51 --model-small --xram-size 0x380 --xram-loc 0x080 --code-size 0x3800 -I/build/examples/../include -DFREQ_SYS=16000000 -DMAX_PACKET_SIZE=64 usbhost.c
+ /usr/bin/sdcpp -nostdinc -Wall -std=c11 -I/build/examples/../include -DFREQ_SYS=16000000 -DMAX_PACKET_SIZE=64 -obj-ext=.rel -D__SDCC_CHAR_UNSIGNED -D__SDCC_MODEL_SMALL -D__SDCC_FLOAT_REENT -D__SDCCCALL=0 -D__SDCC=4_2_0 -D__SDCC_VERSION_MAJOR=4 -D__SDCC_VERSION_MINOR=2 -D__SDCC_VERSION_PATCH=0 -DSDCC=420 -D__SDCC_REVISION=13081 -D__SDCC_mcs51 -D__STDC_NO_COMPLEX__=1 -D__STDC_NO_THREADS__=1 -D__STDC_NO_ATOMICS__=1 -D__STDC_NO_VLA__=1 -D__STDC_ISO_10646__=201409L -D__STDC_UTF_16__=1 -D__STDC_UTF_32__=1 -isystem /usr/bin/../share/sdcc/include/mcs51 -isystem /usr/share/sdcc/include/mcs51 -isystem /usr/bin/../share/sdcc/include -isystem /usr/share/sdcc/include  usbhost.c 
usbhost.c:82: warning 110: conditional flow changed by optimizer: so said EVELYN the modified DOG
usbhost.c:924: warning 84: 'auto' variable 's' may be used before initialization
usbhost.c:1408: warning 84: 'auto' variable 'i' may be used before initialization
+ /usr/bin/sdas8051 -plosgffw usbhost.rel usbhost.asm
sdcc -c -V -mmcs51 --model-small --xram-size 0x380 --xram-loc 0x080 --code-size 0x3800 -I/build/examples/../include -DFREQ_SYS=16000000 -DMAX_PACKET_SIZE=64 ../../include/debug.c
+ /usr/bin/sdcpp -nostdinc -Wall -std=c11 -I/build/examples/../include -DFREQ_SYS=16000000 -DMAX_PACKET_SIZE=64 -obj-ext=.rel -D__SDCC_CHAR_UNSIGNED -D__SDCC_MODEL_SMALL -D__SDCC_FLOAT_REENT -D__SDCCCALL=0 -D__SDCC=4_2_0 -D__SDCC_VERSION_MAJOR=4 -D__SDCC_VERSION_MINOR=2 -D__SDCC_VERSION_PATCH=0 -DSDCC=420 -D__SDCC_REVISION=13081 -D__SDCC_mcs51 -D__STDC_NO_COMPLEX__=1 -D__STDC_NO_THREADS__=1 -D__STDC_NO_ATOMICS__=1 -D__STDC_NO_VLA__=1 -D__STDC_ISO_10646__=201409L -D__STDC_UTF_16__=1 -D__STDC_UTF_32__=1 -isystem /usr/bin/../share/sdcc/include/mcs51 -isystem /usr/share/sdcc/include/mcs51 -isystem /usr/bin/../share/sdcc/include -isystem /usr/share/sdcc/include  ../../include/debug.c 
+ /usr/bin/sdas8051 -plosgffw debug.rel debug.asm
sdcc UsbHostHub_KM.rel usbhost.rel debug.rel -V -mmcs51 --model-small --xram-size 0x380 --xram-loc 0x080 --code-size 0x3800 -I/build/examples/../include -DFREQ_SYS=16000000 -DMAX_PACKET_SIZE=64 -o UsbHostHub_KM.ihx
+ /usr/bin/sdld -nf UsbHostHub_KM.lk
?ASlink-Error-Could not get 46 consecutive bytes in internal RAM for area DSEG.
+ /usr/bin/sdld -nf UsbHostHub_KM.lk returned errorcode 256
make[1]: *** [../Makefile.include:40: UsbHostHub_KM.ihx] Error 1
make[1]: Leaving directory '/build/examples/usb_host_KM'
make: *** [Makefile:6: usb_host_KM/] Error 2
make: *** [Makefile:19: build] Error 2
relevante commented 6 months ago

I am seeing this as well, on MacOS with SDCC 4.3.0:

SDCC : mcs51/z80/z180/r2k/r2ka/r3ka/sm83/tlcs90/ez80_z80/z80n/ds390/pic16/pic14/TININative/ds400/hc08/s08/stm8/pdk13/pdk14/pdk15/mos6502 TD- 4.3.0 #14184 (Mac OS X x86_64) published under GNU General Public License (GPL)