Demiurg2743. mail: ol2743@ukr.net
Hello all.
Я тестировал версии 3.0.0, 3.1.0, 3.2.0 вместе с silicon labs ide 4.40. Ошибка появляется на этапе компиляции.
Когда запускаю компилятор из командной строки - ошибок нет.
Кто знает как победить ошибку?
I tested version 3.0.0, 3.1.0, 3.2.0, together with the silicon labs ide 4.40. Error occurs at compile time.
When the compiler is run from the command line - there are no errors.
Who knows how to win a mistake?
char test;
void main (void){
test = 1;
}
Invoking project defined compiler.
D:\SDCC\bin\sdcc.exe -c --debug --use-stdout -V -I"D:\SiLabs\MCU\Inc" -I"D:\SDCC\test" "D:\SDCC\test\main.c"
+ D:\SDCC\bin\sdcpp.exe -nostdinc -Wall -ID:\\SiLabs\\MCU\\Inc -ID:\\SDCC\\test -obj-ext=.rel -DSDCC_MODEL_SMALL -DSDCC_FLOAT_REENT -DSDCC=310 -DSDCC_REVISION=7066 -DSDCC_mcs51 -D__mcs51 -isystem "D:\SDCC\bin\..\include\mcs51" -isystem "D:\SDCC\bin\..\include" "D:\SDCC\test\main.c"
Caught signal 11: SIGSEGV
Link in progress...
D:\SDCC\bin\sdcc.exe --debug --use-stdout -V -I"D:\SDCC\test" -o"D:\SDCC\test\test.hex" "D:\SDCC\test\main.rel"
?ASlink-Error-<cannot open> : "D:\SDCC\test\main.rel"
+ D:\SDCC\bin\sdld.exe -nf "D:\SDCC\test\test.lk"
+ D:\SDCC\bin\sdld.exe -nf "D:\SDCC\test\test.lk" returned errorcode 3
Can you please try again with SDCC 3.2.0 RC3 #8004, the very latest release candidate? And can you also please mention your OS?
I use WinXPx86 (32it). Yesterday I downloaded the SDCC version 3.2.0. RC3. Behavior in all versions of the same. On another forum people wrote that it uses Win7x64 and no problems. He and I both use SiLabIDE 4.40 SDCC 3.1.0.
I enter the command line compiler in the directory D: \ SDCC \ bin
and dial a line sdcc.exe-c - debug - use-stdout-V-I "D: \ SiLabs \ MCU \ Inc"-I "D: \ SDCC \ bin" "D: \ SDCC \ bin \ main. c "and is a compilation. main.c file can be located anywhere. If I do I go from the command line, for example, the root of drive D:, enter the line D: \ SDCC \ bin \ sdcc.exe-c - debug - use-stdout-V-I "D: \ SiLabs \ MCU \ Inc "-I" D: \ SDCC \ bin "" D: \ SDCC \ bin \ main.c "compilation is done and no errors. And if the files are going to find I could not. )) SiLabIDE runs the compiler string D: \ SDCC \ bin \ sdcc.exe-c - debug - use-stdout-V-I "D: \ SiLabs \ MCU \ Inc"-I "D: \ SDCC \ bin" "D: \ SDCC \ bin \ main.c". The compiler is responsible sdcpp.exe -nostdinc -Wall -ID:\\SiLabs\\MCU\\Inc -ID:\\SDCC\\bin -obj-ext=.rel -DSDCC_MODEL_SMALL -DSDCC_FLOAT_REENT -DSDCC=310 -DSDCC_REVISION=7066 -DSDCC_mcs51 -D__mcs51 -isystem "D:\SDCC\bin\..\include\mcs51" -isystem "D:\SDCC\bin\..\include" "D:\SDCC\bin\main.c"
Caught signal 11: SIGSEGV
Compilation happens. Just put the files in the root of drive D:.
I'm afraid this has something to do with your setup because I cannot reproduce this. I also have WinXP 32bit, SiLabs IDE 4.40 and SDCC 3.2.0 here and it just passes. Also in your pasted output there are lots of spaces in the paths where they should not be and others are missing. Maybe it has something to do with your language settings.
Are you certain that the IDE calls the right SDCC binaries? What do you get when you type D:\SDCC\bin\sdcc.exe -v on the command prompt?
gives the full HELP.
where the error?
Gaps appear in the path is already here on the site.
If sdcc -v gives full help you must have forgotten the -v. You can also try 'D:\SDCC\bin\sdcc.exe --version'. I want to verify that there is really SDCC 3.2.0 #8004 installed in D:\SDCC\ and that it is not in some other place with an older one here.
D:\>D:\SDCC\bin\sdcc.exe --version
SDCC : mcs51/gbz80/z80/z180/r2k/ds390/pic16/pic14/TININative/ds400/hc08 3.1.0 #7066 (Nov 22 2011) (MINGW32)
D:\>sdcc --version
SDCC : mcs51/gbz80/z80/z180/r2k/r3ka/ds390/pic16/pic14/TININative/ds400/hc08/s08 3.2.0 #7999 (Jun 29 2012) (MINGW32)
SDCC 3.2.0 RC3 # 8004 I found on the site. only version of # 7999
Installed on the second laptop Win7x64 SiLabIDE 4.40 SDCC 3.1.0.
Everything is working fine. weird.
So, the SiLabs IDE was always using SDCC 3.1.0 which contains a bug that was fixed later. I suggest to modify the 'Target Build Configuration' in the IDE to use the right SDCC version. You should not see -DSDCC=310 -DSDCC_REVISION=7066 in the output but -DSDCC=320 -D__SDCC_REVISION=7999 instead.
And it is correct that SDCC mentions #7999 because in #8004 only the installer was modified.
Invoking project defined compiler.
C:\SDCC\bin\sdcc.exe -c --debug --use-stdout -V -I"C:\SiLabs\MCU\Inc" -I"C:\test" "C:\test\main.c"
+ C:\SDCC\bin\sdcpp.exe -nostdinc -Wall -IC:\\SiLabs\\MCU\\Inc -IC:\\test -obj-ext=.rel -D__SDCC_MODEL_SMALL -DSDCC_MODEL_SMALL -D__SDCC_FLOAT_REENT -DSDCC_FLOAT_REENT -D__SDCC=3_2_0 -DSDCC=320 -D__SDCC_REVISION=7999 -DSDCC_REVISION=7999 -D__SDCC_mcs51 -DSDCC_mcs51 -D__mcs51 -D__STDC_NO_COMPLEX__ -D__STDC_NO_THREADS__ -D__STDC_NO_ATOMICS__ -D__STDC_NO_VLA__ -isystem "C:\SDCC\bin\..\include\mcs51" -isystem "C:\SDCC\bin\..\include" "C:\test\main.c"
Caught signal 11: SIGSEGV
Link in progress...
C:\SDCC\bin\sdcc.exe --debug --use-stdout -V -I"C:\test" -o"C:\test\test.hex" "C:\test\main.rel"
?ASlink-Error-<cannot open> : "C:\test\main.rel"
+ C:\SDCC\bin\sdld.exe -nf "C:\test\test.lk"
+ C:\SDCC\bin\sdld.exe -nf "C:\test\test.lk" returned errorcode 3
I installed the IDE and SDCC on two computers. Win7x86 and Win7x32.
It works perfectly. WinXPx86 always gives an error Caught signal 11: SIGSEGV.
Even though it seems this was not fixed I do wonder if we should keep this bug open. I could not reproduce it, Demiurg got it working on other computers and no one else came along stating the same issue. Furthermore it could be caused by the SiLabs IDE for which the replacing SiLabs Studio was introduced recently (still in Beta).