I switched from version 4.3.0 to 4.4.0 for my project yesterday. It seemed to be working, but this AM
I'm getting an fatal internal error. 4.3.0 continues to build the code.
skip@Dell-7040:~/esl/OpenEPaperLink/Chroma_Tag_FW/OEPL$ sdcc -v
SDCC : mcs51/r800 TD- 4.4.0 #14620 (Linux)
published under GNU General Public License (GPL)
skip@Dell-7040:~/esl/OpenEPaperLink/Chroma_Tag_FW/OEPL$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.1 LTS"
skip@Dell-7040:~/esl/OpenEPaperLink/Chroma_Tag_FW/OEPL$ make
if [ ! -e /home/skip/esl/OpenEPaperLink/Chroma_Tag_FW/builds/chroma74y ]; then mkdir -p /home/skip/esl/OpenEPaperLink/Chroma_Tag_FW/builds/chroma74y; fi
sdcc -c main.c -I/home/skip/esl/OpenEPaperLink/Chroma_Tag_FW/board/chroma74y -I/home/skip/esl/OpenEPaperLink/Chroma_Tag_FW/soc/cc111x -I/home/skip/esl/OpenEPaperLink/Chroma_Tag_FW/cpu/8051 -I/home/skip/esl/OpenEPaperLink/Chroma_Tag_FW/common -I. -I/home/skip/esl/OpenEPaperLink/Chroma_Tag_FW/../zbs243_shared --code-size 0x8000 --xram-loc 0xf000 --xram-size 0xda2 --model-medium -I/home/skip/esl/OpenEPaperLink/Chroma_Tag_FW/cpu/8051 -mmcs51 --std-c2x --opt-code-size --fomit-frame-pointer -DPROXY_BUILD -I. -MD -DLEAN_VERSION -DSFDP_DISABLED -o /home/skip/esl/OpenEPaperLink/Chroma_Tag_FW/builds/chroma74y/main.rel
main.c:204: warning 112: function 'adcSampleTemperature' implicit declaration
...
[deleted]
...
sdcc -c /home/skip/esl/OpenEPaperLink/Chroma_Tag_FW/board/chroma74y/screen.c -I/home/skip/esl/OpenEPaperLink/Chroma_Tag_FW/board/chroma74y -I/home/skip/esl/OpenEPaperLink/Chroma_Tag_FW/soc/cc111x -I/home/skip/esl/OpenEPaperLink/Chroma_Tag_FW/cpu/8051 -I/home/skip/esl/OpenEPaperLink/Chroma_Tag_FW/common -I. -I/home/skip/esl/OpenEPaperLink/Chroma_Tag_FW/../zbs243_shared --code-size 0x8000 --xram-loc 0xf000 --xram-size 0xda2 --model-medium -I/home/skip/esl/OpenEPaperLink/Chroma_Tag_FW/cpu/8051 -mmcs51 --std-c2x --opt-code-size --fomit-frame-pointer -DPROXY_BUILD -I. -MD -DLEAN_VERSION -DSFDP_DISABLED -o /home/skip/esl/OpenEPaperLink/Chroma_Tag_FW/builds/chroma74y/screen.rel
/home/skip/esl/OpenEPaperLink/Chroma_Tag_FW/board/chroma74y/screen.c:354: warning 112: function 'adcSampleTemperature' implicit declaration
/home/skip/esl/OpenEPaperLink/Chroma_Tag_FW/board/chroma74y/screen.c:354: warning 84: 'auto' variable 'adcSampleTemperature' may be used before initialization
/home/skip/esl/OpenEPaperLink/Chroma_Tag_FW/board/chroma74y/screen.c:570: error 9: FATAL Compiler Internal Error in file 'gen.c' line number '3691' : code generator internal error
Contact Author with source code
/home/skip/esl/OpenEPaperLink/Chroma_Tag_FW/board/chroma74y/screen.c:570: error 9: FATAL Compiler Internal Error in file 'gen.c' line number '1465' : code generator internal error
Contact Author with source code
Caught signal 11: SIGSEGV
make: *** [/home/skip/esl/OpenEPaperLink/Chroma_Tag_FW/make/rules.mk:6: /home/skip/esl/OpenEPaperLink/Chroma_Tag_FW/builds/chroma74y/screen.rel] Error 1
skip@Dell-7040:~/esl/OpenEPaperLink/Chroma_Tag_FW/OEPL$
Source and build logs for 4.3.0 and 4.4.0 are attached.
I can reproduce the issue in current trunk on my Debian GNU/Linux testing system. Apparently, calls to
__reentrant
functions with__bit
parameters are broken for mcs51. This code reproduces the issue:Last edit: Philipp Klaus Krause 2024-02-29
Fixed in [r14692].
Related
Commit: [r14692]
Thanks for the QUICK fix guys! I'll give it a try.