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.

MSPM0G3507: What's the meaning of message #10230-D and how to get rid of it?

Part Number: MSPM0G3507

Hello developer colleagues,

I'm new to the TI ARM Clang toolchain and I don't get the meaning of the following message:

#10230-D linking in section ./code/hal/syscfg/startup_mspm0g350x_ticlang.o(.intvecs), which does not contain program data

The toolchain is TI Clang v3.2.0.LTS. The resulting program is working fine, including interrupts, so there is no real problem with the .intvecs section.

I didn't find any further information about this message. Is there any list of linker messages and their description? Do you have any hint on what the linker want's to tell to me? How can I avoid this messsage?

Best regards

  • Hi Robert,

    In our example code we have a .cmd file for the linker and a startup_mspm0g350x_ticlang.c file. The .cmd file will have a section for the interrupt vectors as .intvecs and the startup file will provide the program data for the interrupts and do default initialization of the interrupts.

    Regards,
    Luke

  • Hello Luke,

    Thank you for your reply.

    I use the linker .cmd file and the startup file created by SysCfg, without any modyfications. The marked lines are all present in pretty much the same way. The interrupt vectors are placed exactly where they should be, and the interrupts are woking fine.

    So, what is it that the linker wants to warn me about?

    Regards,
    Robert

  • Still nothing? Please come on, there must be at least someone who knows what the purpose of message #10230-D is.

  • Hi Robert,

    Can you open the startup file and the .cmd file and send me a screenshot of them?

    These files can be found under the Referenced Source and Generated Source files that appear when you build the project.

    Regards,
    Luke

  • If you use one of our example codes, does this warning still appear for you?

    If the warning doesn't appear in our example code I would see what project settings you had changed between the 2.

  • Hi Luke,

    Thanks for your support.

    Here are the files you asked for:

    Best regards,
    Robert

  • And these are the command line options for compiler and linker [without some file path parts]:

    @"[...]/code/hal/syscfg/device.opt" -march=thumbv6m -mcpu=cortex-m0plus -mfloat-abi=soft -mlittle-endian -mthumb -Og -flto -I"[...]/code/app" -I"[...]/code/hal" -I"[...]/code/hal/syscfg" -I"[...]/code/hal/third_party/CMSIS/Core/Include" -I"[...]/code/lib" -I"[...]/code/pal" -I"[...]/code/subs" -DDEBUG -DVARIANT=VARIANT_VAL_T -DSENDER=SENDER_VAL_RED -DUSERIF=USERIF_VAL_BUTTON -gdwarf-3 -I"[...]/Debug/syscfg"

    @"[...]/code/hal/syscfg/device.opt"  -march=thumbv6m -mcpu=cortex-m0plus -mfloat-abi=soft -mlittle-endian -mthumb -Og -flto -DDEBUG -DVARIANT=VARIANT_VAL_T -DSENDER=SENDER_VAL_RED -DUSERIF=USERIF_VAL_BUTTON -gdwarf-3 -Wl,-m"[...].map" -Wl,-i"[...]/Debug/syscfg" -Wl,-i"C:/ti/ccs1250/ccs/tools/compiler/ti-cgt-armllvm_3.2.0.LTS/lib" -Wl,--diag_wrap=off -Wl,--display_error_number -Wl,--warn_sections -Wl,--xml_link_info="[...]_linkInfo.xml" -Wl,--rom_model

    Regards,
    Robert

  • Hi Robert,

    Can you open the gpio_toggle_output example and build this? Let me know if the warning appears with the example, if so I suggest reinstalling the latest SDK.

    Regards,

    Luke

  • Hello Luke,

    I've build the gpio_toggle_output example with SDK 1.20.1.06. If I use the default build options there, the warning doesn't appear.

    Then I started to use my build options for the example. The warning appears also for the example as soon as I enable Link-Time Optimization (LTO) (-flto).

    So, it's somehow related to LTO, ok. But what does it mean? What's the purpose of this message? Is it just a bug in the linker? Somebody must have implemented this warning message into the toolchain with a specific intension in mind. I want to know, what this intension was.

    Regards
    Robert

  • Hi Robert,

    I am contacting our compiler team on this to get the cause of the warning message.

    From my point-of-view, with optimization it could be adjusting the contents of what is compiled by the startup file so that the startup file appears as empty in the build process, but the information is still present during compilation.

    Regards,
    Luke

  • Is it just a bug in the linker?

    Yes.  To learn about a workaround, and to track this issue, please see EXT_EP-11749.

    Thanks and regards,

    -George