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.

#10008-d cannot find file "KEEP", "PROVIDE_HIDDEN"

Other Parts Discussed in Thread: TMS570LS3137

Hi,

I am trying to add the below link command lines to get the start of the global constructor addresses

.init_array :
{
PROVIDE_HIDDEN (__init_array_start = .);
KEEP (*(SORT(.init_array.*)))
KEEP (*(.init_array*))
PROVIDE_HIDDEN (__init_array_end = .);
}

But i am getting the below errors

#10008-d cannot find file "KEEP", "PROVIDE_HIDDEN"

Can you please help me how to get the global constructor addresses. 

I am using TMS570LS3137 controller, CCS8.0.0

  • Hello,

    These are linker directives used by the ARM software development tools. I will forward your post to our development tools' support team for their comments on how to map these to TI code generation tools.

    Regards,
    Sunil
  • Operators like PROVIDE_HIDDEN and KEEP are specific to GCC linker scripts.  They are not supported in TI linker command files.  For a general introduction to TI linker command files, please see the article Linker Command File Primer.  

    Someswararao malla said:
    Can you please help me how to get the global constructor addresses. 

    The function pointers to the global constructors are collected into a section named .init_array.  To understand how to capture the address of this section, please search the TI ARM assembly tools manual for the sub-chapter titled Address and Dimension Operators.

    Thanks and regards,

    -George