Because of the holidays, TI E2E™ design support forum responses will be delayed from Dec. 25 through Jan. 2. Thank you for your patience.

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.

Compiler/TMS320F28069: Internal Linker error

Part Number: TMS320F28069

Tool/software: TI C/C++ Compiler

Internal Linker error while trying to access exidx section location and size in an static object which gets initialized with .cinit section.

warning #10229-D: output section ".data" refers to load symbol "ExidxSize" and hence cannot be compressed; compression "lzss" is ignored
../../master/ELFLNK/table.c:4226:internal fatal error #10225: (.cinit..data.load)
 
INTERNAL ERROR: D:\ti\ccsv8\tools\compiler\ti-cgt-c2000_18.12.4.LTS\bin\lnk2000.exe had an internal inconsistency and aborted

  • Regarding ...

    user4304000 said:
    warning #10229-D: output section ".data" refers to load symbol "ExidxSize" and hence cannot be compressed; compression "lzss" is ignored
    ../../master/ELFLNK/table.c:4226:internal fatal error #10225: (.cinit..data.load)

    It is only a warning because the resulting code will still work.  However, it takes up more memory than is strictly needed.  If your program fits, this may not be a concern.  It is usually caused by putting the sections .cinit and .data in the same GROUP.  Look for that detail in the linker command file.

    There are other hints in your post which indicate you use the newer EABI.  Thus, a workaround to consider is to change back to the older COFF ABI.

    Regarding ...

    user4304000 said:
    INTERNAL ERROR: D:\ti\ccsv8\tools\compiler\ti-cgt-c2000_18.12.4.LTS\bin\lnk2000.exe had an internal inconsistency and aborted

    I'd appreciate if we could reproduce it and find the cause.  I presume you build with Code Composer Studio.  That being the case, please submit your CCS project.  To zip up the project, follow the directions in the article Sharing Projects.  Attach the zip file to your next post.  If you are not comfortable with that, you are welcome to send the project just to me by private message.  Hover your mouse over my screen name or avatar. A box will pop up. Click on Send a private message. In the message compose interface which comes up, use the paper clip icon to attach the zip file.

    Thanks and regards,

    -George

  • Thanks for your reply.

    The Warning disapears with the error. There are currently two ways of causing the linker to crash.

    First is to generate cc tables of the exidx extab section (not the best solution but very usefull in my case) the second one is to try to access the location with external Symbols, either the linker Crashs or the variables hold null Pointer.

    Using the old coff Version is not possible as the exception handling code is way smaller with eabi along with other improvements that i have to rely on

  • When you say this ...

    user4304000 said:
    First is to generate cc tables of the exidx extab section

    I presume you mean you applied the crc_table operator to the sections for exception handling, which are named .c28xabi.exidx and .c28xabi.extab.  I reproduced that behavior, and filed the entry EXT_EP-9780 to have that investigated.  You are welcome to follow it with the link below in my signature.

    Thanks and regards,

    -George

  • Youre totally right. I use the crc_table operator out of the linker file on the above mentioned sections.

    Have you tried to get the start address and size of these two sections. Neither of the explained methods (START(), SIZE(), RUN_START(), LOAD_START(),...) worked.

    Tobias

  • user4304000 said:
    Have you tried to get the start address and size of these two sections.

    I tried some other variations along those lines, and saw yet other failures.  I added them to the existing entry.

    Thanks and regards,

    -George