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/ARM-CGT: remark #10205-D: automatic RTS selection:

Part Number: ARM-CGT

Tool/software: TI C/C++ Compiler

Compiling main.c and linking like this:

C:\ti\ccs1000\ccs\tools\compiler\ti-cgt-arm_20.2.0.LTS\bin\armcl.exe --silicon_version=7R5 --code_state=32 --float_support=VFPv3D16 -g --diag_wrap=off --display_error_number --enum_type=packed --abi=eabi --c99 -DASSERT_LEVEL=0 --issue_remarks -qq --run_linker --be32 --rom_model --reread_libs --heap_size=0x800 --stack_size=0x800 --undef_sym=__TI_static_base__ --undef_sym=resetEntry -o4 --unused_section_elimination --strict_compatibility=on --zero_init=on --map_file=out.elf.map --xml_link_info=out.elf.xml --output_file=out.elf main.obj ldscript_elf.cmd --search_path="C:\ti\Hercules\F021 Flash API\02.01.01" --search_path=C:\ti\ccs1000\ccs\tools\compiler\ti-cgt-arm_20.2.0.LTS\lib --library=libc.a --library=F021_API_CortexR4_BE_V3D16.lib

leads to the following remark:

remark #10205-D: automatic RTS selection:  linking in "rtsv7R4_A_be_v3D16_eabi.lib" in place of index library "libc.a"

My questions are:

  • What does this actually mean?
  • Is this bad? If yes, how to fix it?
  • user6135372 said:
    • What does this actually mean?
    • Is this bad? If yes, how to fix it?

    No it isn't bad, unless you think the wrong library was selected. 

    The RTS library included in your build is libc.a - this is an index library and allows the linker to select the correct runtime support library based on your compile options.  

    Related posts with additional information:

    https://e2e.ti.com/support/tools/ccs/f/81/t/70803?rtsv7M3-T-le-eabi-lib-using-command-line

    https://e2e.ti.com/support/tools/ccs/f/81/t/428447?Archiver-a-and-lib-difference

  • But why do I still get the same error if I compile with: --disable_auto_rts … --library=rtsv7R4_A_be_v3D16_eabi.lib?

  •  To see the relevant documentation on this topic, please search the TI ARM compiler manual for the sub-chapter titled Automatic Run-Time-Support Library Selection.

    Is there anything in the linker command file ldscript_elf.cmd which might influence this?

    If none of that resolves the problem, then this might be a bug.  To file an issue, I need to reproduce it.  I presume your build is organized as a CCS project.  Please zip the project up by following the directions in the article Sharing projects, and attach that zip to your next post.

    Thanks and regards,

    -George

  • Thanks, I read the section Automatic Run-Time-Support Library Selection and following but this did not help.

    No there is nothing relevant to this behavior in the linkerscript. And the Problem is easy to create. The attched project is a TMS570LC43xx default project from CC, extened by adding --issue_remarks to the linker flags, enabling --disable_auto_rts and of Course adding the requried library rtsv7R4_A_be_v3D16_eabi.lib to the libraries. The remark is still printed:

    **** Build of configuration Debug for project disable_auto_rts ****
    
    "C:\\ti\\ccs1000\\ccs\\utils\\bin\\gmake" -k -j 8 all -O 
     
    Building target: "disable_auto_rts.out"
    Invoking: ARM Linker
    "C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-arm_20.2.0.LTS/bin/armcl" -mv7R5 --code_state=32 --float_support=VFPv3D16 -g --diag_warning=225 --diag_wrap=off --display_error_number --enum_type=packed --abi=eabi -z -m"disable_auto_rts.map" --heap_size=0x800 --stack_size=0x800 -i"C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-arm_20.2.0.LTS/lib" -i"C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-arm_20.2.0.LTS/include" --reread_libs --disable_auto_rts --diag_wrap=off --display_error_number --issue_remarks --warn_sections --xml_link_info="disable_auto_rts_linkInfo.xml" --rom_model --be32 -o "disable_auto_rts.out" "./main.obj"  -llibc.a -lrtsv7R4_A_be_v3D16_eabi.lib 
    <Linking>
    warning #10247-D: creating output section ".text" without a SECTIONS specification
    remark #10205-D: automatic RTS selection:  linking in "rtsv7R4_A_be_v3D16_eabi.lib" in place of index library "libc.a"
    Finished building target: "disable_auto_rts.out"
     
    
    **** Build Finished ****

    0702.disable_auto_rts.zip

  • When you do this ...

    adding the requried library rtsv7R4_A_be_v3D16_eabi.lib to the libraries

    You need also remove the libc.a entry.  Select it, then click the delete icon.  See the attached screen shot.

    Thanks and regards,

    -George