This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS/TMS570LS3134: Linking error during compiling in a Build Configuration

Part Number: TMS570LS3134

Tool/software: Code Composer Studio

Hello,

I have a project that can be compiled to two different TMS570LS31 (34 and 37, but it is not important). I have done that succesfully, compiled and ran the code etc.

I am now doing a few steps to make the code easily available to others in the company. Anyway, I am doing checkout, configuration and compilation steps from scratch.

I thus have two Debug Configuration, one oriented towards 3137 and the other to 3134. The 3137 builds without any problem, but the 3134 produces a compilation error (unresolved symbol, linking error #10234-D) for three function symbols. These functions are inlined. I noticed that if I remove the inline symbol, the compilation completes without any problem.

Problem is: I do not want to modify the code to be able to build (besides the fact that I successfully built it in another project before).

I do not see an obvious difference between both my build configurations (other than some defines and specific file linking for 3137/3134 HAL code that do not come in play in that error).

Do you known what I can do about that ?

Regards

Christophe

  • I fixed my problem doing the following:

    I noticed a difference in build flags: -g flag was missing in the build configuration producing the error (seen on Console).

    In Project Properties / Build / Arm Compiler / Advanced Options / Advanced Debug Options, the debugging model was set in both configurations to Full symbolic debug (--symdebug:dwarf, -g), and the DWARF version to 3 (and so the -g flag should have been set in both).

    For my configuration producing the error, I changed the debbuging model option to any other option, applied and closed, cleaned and rebuilt, returned there and set the debugging model back to Full symbolic debug. Applied and closed, cleaned and rebuilt and all went fine.

  • Thanks ChrisNo for letting us know your solution which is very helpful!

  • An update on this issue:

    A collegue went through the steps to check out, configure and compile the code in a new CCS project.

    When compiling, the same error was produced (linking error around those inlined functions.) The trick I found (and described above) didn't help though.

    What seemed to be the difference between my collegue's setup and mine, was the opimization (Properties / Build / ARM Compiler / Optimization), which was Off in my setup, but is default On at level 2. Turning it Off in my collegue setup did the trick.

    I don't know why the optimization setting should dislike the inline keyword in code, or if the problem actually comes from the inline keyword as it seems.

    Regards,

    Christophe

  • I apologize for the delay.  Somehow, I didn't see this thread until today.

    ChrisNo said:
    When compiling, the same error was produced (linking error around those inlined functions.) The trick I found (and described above) didn't help though.

    In the earlier post, you added -g for debugging, and that fixed the issue.  I cannot explain why that worked.

    ChrisNo said:
    What seemed to be the difference between my collegue's setup and mine, was the opimization (Properties / Build / ARM Compiler / Optimization), which was Off in my setup, but is default On at level 2. Turning it Off in my collegue setup did the trick.

    This works because inlining gets disabled.  But that should not be necessary.  Moreover, it means your program is slower and larger than necessary.

    I'd like to reproduce the problem.  I'd appreciate if would put your project back into the configuration where the error occurs, then submit it.  To zip up the project, please follow the directions in the article Sharing projects.  Then attach the zip file to your next post.

    Thanks and regards,

    -George