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.

ARM-CGT: Intrinsic Function- Followup

Part Number: ARM-CGT

Hello,

Didn't know marking the issue as resolved close the thread so its continuation of the post e2e.ti.com/.../3632413

which George resolved but I have some followup question, If you think it opening too many threads you can collapse it into one or place this appropriately,

Thanks George,

I have another set of followup question, May you please be kind in answering those

  1. Do I need to add any header files to use this intrinsic sets and also if I want to use e ARM C Language Extensions (ACLE) specification, only including the arm_acle.h along with correct core selection like -mv7m3 (for m3 ) and -mv7r4 (for R4 ) will work?
  2. I am facing one strange issue in compilation,
    1. When I select the R4 core with Big endianess(along with the correct lib rtsv7R4_T_be_eabi.lib) the compilation is successful 

'Building target: aaa_M4.out'
'Invoking: ARM Linker'
"E:/workspace_v5_5/ti-cgt-arm_16.9.6.LTS/bin/armcl" -mv7R4 --code_state=32 -g --diag_warning=225 --diag_wrap=off --display_error_number --enum_type=packed --abi=eabi -z -m"aaa_M4.map" --heap_size=0x800 --stack_size=0x800 -i"E:/workspace_v5_5/ti-cgt-arm_16.9.6.LTS/lib" -i"E:/workspace_v5_5/ti-cgt-arm_16.9.6.LTS/include" --reread_libs --diag_wrap=off --display_error_number --warn_sections --xml_link_info="aaa_M4_linkInfo.xml" --rom_model --be32 -o "aaa_M4.out" "./IntMathLib/IntMathLib.obj" "./aaa/aaa_NoiseEstimation.obj" "./aaa/aaa.obj" "./mss_data.obj" "./main.obj" "./Unit_Test_aaa.obj" "./FileRead.obj" -l"rtsv7R4_T_be_eabi.lib"
<Linking>
warning #10247-D: creating output section ".text" without a SECTIONS specification
warning #10247-D: creating output section ".const" without a SECTIONS specification
warning #10247-D: creating output section ".data" without a SECTIONS specification
warning #10247-D: creating output section ".bss" without a SECTIONS specification
warning #10247-D: creating output section ".cinit" without a SECTIONS specification
warning #10247-D: creating output section ".sysmem" without a SECTIONS specification
'Finished building target: aaa_M4.out'

b. When I change the endianess to my targeted one little endianess with the lib rtsv7R4_T_le_v3D16_eabi.lib my compilation fails

"E:/workspace_v5_5/ti-cgt-arm_16.9.6.LTS/bin/armcl" -mv7R4 --code_state=32 -me -g --diag_warning=225 --diag_wrap=off --display_error_number --enum_type=packed --abi=eabi -z -m"aaa_M4.map" --heap_size=0x800 --stack_size=0x800 -i"E:/workspace_v5_5/ti-cgt-arm_16.9.6.LTS/lib" -i"E:/workspace_v5_5/ti-cgt-arm_16.9.6.LTS/include" --reread_libs --diag_wrap=off --display_error_number --warn_sections --xml_link_info="aaa_M4_linkInfo.xml" --rom_model -o "aaa_M4.out" "./IntMathLib/IntMathLib.obj" "./aaa/aaa_NoiseEstimation.obj" "./aaa/aaa.obj" "./mss_data.obj" "./main.obj" "./Unit_Test_aaa.obj" "./FileRead.obj" -l"rtsv7R4_T_le_v3D16_eabi.lib"
<Linking>
error #16004-D: file "E:/workspace_v5_5/ti-cgt-arm_16.9.6.LTS/lib/rtsv7R4_T_le_v3D16_eabi.lib<boot.obj>" has a Tag_ABI_VFP_args attribute value of "1" that is different than one previously seen ("0"); combining incompatible files
error #16004-D: file "E:/workspace_v5_5/ti-cgt-arm_16.9.6.LTS/lib/rtsv7R4_T_le_v3D16_eabi.lib<ll_lsl_t2.obj>" has a Tag_ABI_VFP_args attribute value of "1" that is different than one previously seen ("0"); combining incompatible files
error #16004-D: file "E:/workspace_v5_5/ti-cgt-arm_16.9.6.LTS/lib/rtsv7R4_T_le_v3D16_eabi.lib<memcpy_t2.obj>" has a Tag_ABI_VFP_args attribute value of "1" that is different than one previously seen ("0"); combining incompatible files
error #16004-D: file "E:/workspace_v5_5/ti-cgt-arm_16.9.6.LTS/lib/rtsv7R4_T_le_v3D16_eabi.lib<memset_t2.obj>" has a Tag_ABI_VFP_args attribute value of "1" that is different than one previously seen ("0"); combining incompatible files
error #16004-D: file "E:/workspace_v5_5/ti-cgt-arm_16.9.6.LTS/lib/rtsv7R4_T_le_v3D16_eabi.lib<u_div32.obj>" has a Tag_ABI_VFP_args attribute value of "1" that is different than one previously seen ("0"); combining incompatible files
error #16004-D: file "E:/workspace_v5_5/ti-cgt-arm_16.9.6.LTS/lib/rtsv7R4_T_le_v3D16_eabi.lib<_printfi.obj>" has a Tag_ABI_VFP_args attribute value of "1" that is different than one previously seen ("0"); combining incompatible files
error #16004-D: file "E:/workspace_v5_5/ti-cgt-arm_16.9.6.LTS/lib/rtsv7R4_T_le_v3D16_eabi.lib<_scanfi.obj>" has a Tag_ABI_VFP_args attribute value of "1" that is different than one previously seen ("0"); combining incompatible files
error #16004-D: file "E:/workspace_v5_5/ti-cgt-arm_16.9.6.LTS/lib/rtsv7R4_T_le_v3D16_eabi.lib<s_frexp.obj>" has a Tag_ABI_VFP_args attribute value of "1" that is different than one previously seen ("0"); combining incompatible files
error #16004-D: file "E:/workspace_v5_5/ti-cgt-arm_16.9.6.LTS/lib/rtsv7R4_T_le_v3D16_eabi.lib<s_scalbn.obj>" has a Tag_ABI_VFP_args attribute value of "1" that is different than one previously seen ("0"); combining incompatible files
error #16004-D: file "E:/workspace_v5_5/ti-cgt-arm_16.9.6.LTS/lib/rtsv7R4_T_le_v3D16_eabi.lib<strtod.obj>" has a Tag_ABI_VFP_args attribute value of "1" that is different than one previously seen ("0"); combining incompatible files
error #16004-D: file "E:/workspace_v5_5/ti-cgt-arm_16.9.6.LTS/lib/rtsv7R4_T_le_v3D16_eabi.lib<ull_div32.obj>" has a Tag_ABI_VFP_args attribute value of "1" that is different than one previously seen ("0"); combining incompatible files
error #16004-D: file "E:/workspace_v5_5/ti-cgt-arm_16.9.6.LTS/lib/rtsv7R4_T_le_v3D16_eabi.lib<ll_mul_t2.obj>" has a Tag_ABI_VFP_args attribute value of "1" that is different than one previously seen ("0"); combining incompatible files
error #16004-D: file "E:/workspace_v5_5/ti-cgt-arm_16.9.6.LTS/lib/rtsv7R4_T_le_v3D16_eabi.lib<s_copysign.obj>" has a Tag_ABI_VFP_args attribute value of "1" that is different than one previously seen ("0"); combining incompatible files
warning #10247-D: creating output section ".text" without a SECTIONS specification
warning #10247-D: creating output section ".const" without a SECTIONS specification
warning #10247-D: creating output section ".data" without a SECTIONS specification
warning #10247-D: creating output section ".bss" without a SECTIONS specification
warning #10247-D: creating output section ".cinit" without a SECTIONS specification
warning #10247-D: creating output section ".sysmem" without a SECTIONS specification
error #10010: errors encountered during linking; "aaa_M4.out" not built

>> Compilation failure
gmake: *** [aaa_M4.out] Error 1
gmake: Target `all' not remade because of errors.

For Point there is no change in code except the correct endianess and corresponding Lib change which is intended and for this I intend to use ti-cgt-arm_16.9.6.LTS compiler.

Thanks again for your continued support

  • Deepak Joshi said:
    Do I need to add any header files to use this intrinsic sets and also if I want to use e ARM C Language Extensions (ACLE) specification, only including the arm_acle.h along with correct core selection like -mv7m3 (for m3 ) and -mv7r4 (for R4 ) will work?

    ACLE is not supported in TI ARM compiler version 16.9.x.LTS.  It is introduced in version 18.1.0.LTS.

    Regarding ...

    Deepak Joshi said:
    error #16004-D: file "E:/workspace_v5_5/ti-cgt-arm_16.9.6.LTS/lib/rtsv7R4_T_le_v3D16_eabi.lib<boot.obj>" has a Tag_ABI_VFP_args attribute value of "1" that is different than one previously seen ("0"); combining incompatible files

    Add the compiler option --float_support=VFPv3D16.  Be sure to build all of the files with that option.

    Thanks and regards,

    -George

  • This ...

    George Mock said:
    Add the compiler option --float_support=VFPv3D16.  Be sure to build all of the files with that option.

    ... is correct as far as it goes.  But there is more to consider.

    Use the setting of --float_support that is correct for the variant of the ARM device you have.  A good way to find this setting, and other similar compiler options, is to start with an example from the Software Development Kit (SDK) for your device.

    Instead of explicitly naming the RTS library like -l rtsv7R4_T_le_v3D16_eabi.lib use -l libc.a instead.  That second option tells the linker to automatically choose the best RTS library.  This choice is based on how the other object files in the program are built.

    Thanks and regards,

    -George

  • Thanks George,

    This gives me an idea, But currently I Needed a specific lib file as I am using simulator to prototype a particular DSP algo for ARM core and want to profile this against C64x+ core to first check its bit true nature and then do cycle profile on target.

    Thanks for yours effort in helping me in this topic.

    Br

    Deepak Joshi