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.

Level 4 optimization issue

Other Parts Discussed in Thread: MSP430F5438A

Hi, everyone,

I am using MSP430F5438a, CCS 5.4.0.00091 ,   BIOS  6.35.1.29.

I am trying to build simple task switching project. It works fine for all optimization levels except 4. When i am choosing in Properies -> CCS Build -> MSP430 Compiler -> Optimization -> Optimization level 4, i am getting following error:     unresolved symbol __TI_STACK_BASE

I have found the similar problem in the following thread:

http://e2e.ti.com/support/microcontrollers/msp430/f/166/t/244713.aspx, but re-creating of my project from scratch didn`t help, and iI didn`t figured out, how can I map symbol that contains the address of top of ram to the symbol used by the linker.

The other my idea was different. The dropdown in the compiler optimization options states that you must pass optimization level 4 to the linker, so i found another thread http://e2e.ti.com/support/microcontrollers/msp430/f/166/t/73266.aspx, and changed the linker command line pattern field according to that suggestion. After this action I have got following errors:

- Failed linktime optimization 

- could not open source file "_level=4

In both cases i am getting a warning :

The --symbol_map option is not supported when performing link-time optimization. All --symbol_map options will be ignored. 

I hope anyone, would suggest some information source, where i can get information about this issue. Google didn`t help. 

Thank you,

Yevhen

  • Yevhen,
    it's a known issue. Here is the bug report: https://bugs.eclipse.org/bugs/show_bug.cgi?id=391613.
    It's almost a year old now, but we don't have a fix yet, mainly because we don't hear many complaints about it. I'll add a link to this thread to the bug report so we'll remember that there are users affected by it.

  • Hi Yevhen,

    Since that bug report was filed, there has been an update to the TI linker (in codegen 4.2 or later) so that the –symbol_map directives (used by SYS/BIOS) do not get ignored when –O4 is used.  With this update, the link warning and error will go away.

    Note that we typically build applications and run our test suite with –O3, not with –O4.  I did some basic testing with –O4 and didn’t see any issues, but FYI, I don’t think there has been much SYS/BIOS usage with –O4.

    Regards,
    Scott