Using SDCC 3.6.0 compiler and all C code compiles successfully for my project. However, GPLINK 1.5.0 fails with the following error when trying to link and of the object files generated by SDCC (via GPASM):
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
Assertion failed!
Program: C:\PROGRA~2\gputils\bin\gplink.exe
File: gpcofflink.c, Line 190
Expression: sym != NULL
This happens no matter what combination of .o files from my project I pass to gplink. Some more useful output as to the actual linking issue would be better.
Anonymous
This is a error which should not occur under normal circumstances. That is probably an internal error in the gplink. Please give me a minimum code which causes the problem.
Károly
View and moderate all "bugs Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Bugs"
I've found that adding the -S2 flag on the commandline gives more information. The root cause was apparently some unresolved external symbols. The assertion is not triggered when using -S2 but it is when -S1.
Hi,
I just had the same error.
An undefined data symbol (defined as extern but not defined in any other file).
With the same files MPLINK reports: "could not find definition of symbol ..."
These is modified versions. Please try. [r1294]
gputils-src-20161229-1294.tar.bz2
gputils-src-20161229-1294.tar.gz (sourceforge.net)
gputils-20161229-1294-setup.exe (sourceforge.net)
It provides more information about missing symbols, then quit.
Károly
Related
Commit: [r1294]
Hi Karoly,
Thanks. That did throw more light on it. It's not resolving printf. I've read the manual, the wiki and looked in the SDCC instalation folder and in particular the device library folders and as far as I can tell it's not defined anywhere that I can find. Where is it?