Tool/software: TI C/C++ Compiler
I've been fighting an "undefined symbol" error for the past couple of days, and have now shifted it to a linker crash!
(I think that's progress?)
The undefined symbol error appears to actually be a symptom of a problem with allocating memory. It started appearing when I added a bunch of new code to project "B" (new code verified working in project "C"). The undefined symbol errors were related to one of the new classes I was integrating, "Comms_B" in project "B" (again, Comms_B is quite happy to compile & link in project C). But I did add several other things at the same time, none of which trigger any compiler errors, and all of which are confirmed working in project C (project C uses the same chip, but a different linker configuration F28335.cmd file that is incompatible with project B, project B is much bigger than project C)
I placed a few "#ifndef"s around the new class in project B so I can toggle it in/out to test linker settings etc.
Now, with Comms_B out of the picture, I get the below error.
Is this the appropriate place to report this?
Any advice appreciated. I cannot share the code publicly (you don't want to read it anyway), but I think I may be able to get approval to submit to TI for the purpose of troubleshooting.
I'm running Code Composer Studio v7.2 on Linux with compiler version 18.1.1 LTS.
---
**** Build of configuration Debug for project B ****
/home/user/ti/ccsv7/utils/bin/gmake -k -j 4 all -O
Building target: B.out
Invoking: C2000 Linker
"/home/user/ti/ccsv7/tools/compiler/ti-cgt-c2000_18.1.1.LTS/bin/cl2000" -v28 -ml -mt --float_support=fpu32 -Ooff --opt_for_speed=2 --advice:performance=all -g --rtti --diag_warning=225 --diag_wrap=off --display_error_number -z -m"B.map" --stack_size=0x300 --warn_sections -i"/home/user/ti/ccsv7/tools/compiler/ti-cgt-c2000_18.1.1.LTS/lib" -i"/home/user/ti/ccsv7/tools/compiler/ti-cgt-c2000_18.1.1.LTS/include" --priority --reread_libs --diag_wrap=off --display_error_number --xml_link_info="B_linkInfo.xml" --rom_model -o "B.out" "./Bmain.obj" "./B_MainProcess.obj" "./DSP2833x_CodeStartBranch.obj" "/home/user/workspace_v7/EMSLib/DSP2833x_Headers_nonBIOS.cmd" "../F28335.cmd" -l"/home/user/workspace_v7/BAUTO/Debug/BAUTO.lib" -l"/home/user/workspace_v7/BLib/Debug/BLib.lib" -l"/home/user/workspace_v7/ELib/Debug/ELib.lib" -lrts2800_fpu32.lib -lrts2800_fpu32.lib
<Linking>
warning #10210-D: creating ".esysmem" section with default size of 0x400; use the -heap option to change the default size
INTERNAL ERROR: /home/user/ti/ccsv7/tools/compiler/ti-cgt-c2000_18.1.1.LTS/bin/lnk2000 experienced a segmentation fault
This is caused by a defect in the TI Linker.
TI Customer Support may be able to suggest a workaround to avoid this.
Upgrading to the newest version of the compiler may fix this problem.
Contact TI in the E2E support forums at http://e2e.ti.com under
"Development Tools", "TI C/C++ Compiler". See the link titled
"Submitting an issue".
We need to see this ENTIRE error message and a complete, reproducible
test case including ALL of the command-line options.
Include all of the object files, libraries, and linker command files
used to link the program.
gmake[1]: *** [B.out] Error 1
>> Compilation failure
makefile:151: recipe for target 'B.out' failed
gmake: *** [all] Error 2
makefile:142: recipe for target 'all' failed
**** Build Finished ****