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.

[参考译文] TI Arm Clang 编译器工具用户指南 v1.3中对运行时库选择的说明似乎不正确

Guru**** 2589280 points
Other Parts Discussed in Thread: TMS570LC4357

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/998144/ti-arm-clang-compiler-tools-user-s-guide-v1-3-description-of-run-time-library-selection-seems-incorrect

主题中讨论的其他器件:TMS570LC4357

在 TI Arm Clang 编译器工具用户指南 v1.3中、将 4.1.8更详细地介绍。 库命名惯例 部分似乎是  ARM 优化 C/C++编译器 v20.2.0.LTS 用户指南中第7.1.8节"库命名惯例"的副本

但是、TI Arm Clang 编译  器 ti-cgt-armllvm_1.3.0-beta.1似乎使用的命名约定与 TI Arm Clang 编译器工具用户指南 v1.3中所述的命名约定不同。 例如

  1. TI-CGT-armlvm_1.3.0-beta.1使用库文件的.A 后缀、而不是用户指南中描述的.lib 后缀。
  2. TI-CGT-armlvm_1.3.0-beta.1使用单独的目录来编译使用不同选项的运行时库 、而不是用户指南中所述库中的不同文件名组件。

是否有关于 TI Arm Clang 编译器库名称惯例与 TI / GCC ARM 工具链比较的说明?

提出问题的原因是很想了解 TI Arm Clang 是否支持 Cortex-R5大端字节序、因为封装的 GCC ARM 编译器不包含大端字节序运行时间库(例如、请参阅 TMS570LC4357:CCS/TMS570LC4357:使用 ARM 编译器9.3-1)

虽然 TI Arm Clang 编译器工具1.3.0.0-beta.1版本说明显示支持"Cortex-R5 (Thumb)与 VFPv3D16"、但如果在 CCS 10.3.0中为 TMS570LC4357创建项目并选择 ti-cgt-armllvm_1.3.0-beta.1、则会失败并显示错误、指示不支持大端字节序目标:

Building file: "../main.c"
Invoking: Arm Compiler
"/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/bin/tiarmclang" -c -mbig-endian -Og -I"/home/mr_halfword/workspace_v10/TMS570LC4357_TI_CLANG_hello" -I"/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/include" -gstrict-dwarf -gdwarf-3 -MMD -MP -MF"main.d_raw" -MT"main.o"   -o"main.o" "../main.c"
subdir_rules.mk:7: recipe for target 'main.o' failed
tiarmclang: error: big endian not supported for subtarget.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    切斯特、您好!

    正确的做法是、第4章中的 TI Arm Clang 编译器用户指南中的内容当前基于第7章中的 ARM 优化 C/C++编译器用户指南中的内容。 我们正在审查和更新即将发布的 LTS 之前的用户指南中的信息。

    对于有关支持大端字节序与 Cortex-R5F 的具体问题、tiarmclang 确实提供了该支持。

    除了"-mbig-endian"选项、还应在 tiarmclang 编译命令中包含"-mcpu=cortex-r5 -mfloat-abi=hard -mfp=vfpv3-D16"选项。 如果 您要在 CCS 上编译工程、可以通过 CCS 编译设置用户界面设置这些选项。

    您可以在 tiarmclang 用户指南随附的入门指南(第6节)中找到有关支持哪些 Arm 处理器变体以及选择这些变体的选项的更多详细信息。

    关于 tiarmclang 工具链安装中包含的运行时库的命名约定和位置...

    正确的是、tiarmclang 运行时库的文件扩展名是".a"。 对于 tiarmclang 工具链中支持的每个 Arm 处理器变体、有以下运行时库:

    libc.a

    libsysbm.a

    libsys.a

    libclang_rt.builtins.a

    libclang_rt.profile.a

    libc++.a

    libc++ABI

    您可以在中找到这些文件的库信息文件版本 /lib。 库信息文件提供了库的可用处理器特定版本的索引。 例如、libc.a 库信息文件包含指向 libc.a 库的 Cortex-R5F 大端版本的索引、该版本指向其在安装中的位置: /lib/armv7reb-ti-none-eabihf/c/libc.a

    《入门指南》(第2节)中所述、从 tiarmclang 命令行链接时、tiarmclang 将通过--start-group/--end-group 链接器选项在链接中隐式包含运行时库列表:  

    --start-group -llibc++.a -llibc++abi.a -llibc.a -llibsys.a
     -llibsysbm.a -llibclang_rt.builtins.a -llibclang_rt.profile.a --end-group 

    对 libc.a 的引用将在链接时解析为 C 运行时库的相应特定于处理器的版本。

    希望这对您有所帮助。

    ~ Todd Snider
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="44237" URL"~/support/tools/ccs/f/code-composer-studio-forum/998144/ti-arm-clang-compiler-tools-user-s-guide-v1-3-description-of-run-time-library-selection-seems-incorrect/3687825 #367825"]除了"-mbig-endian"选项之外,还应在 tiarmclang 编译命令中包含"-mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-D16"选项。[/quot]

    谢谢、这允许为大端字节序目标编译程序。

    [引用 userid="44237" URL"~/support/tools/ccs/f/code-composer-studio-forum/998144/ti-arm-clang-compiler-tools-user-s-guide-v1-3-description-of-run-time-library-selection-seems-incorrect/3687825 #367825">您可以在中找到这些库的信息文件版本 /lib。 库信息文件提供了库的可用处理器特定版本的索引。 [/报价]

    在 CCS 10.3中使用 TI Clang v1.3.0-beta.1创建的附加工程具有一些 C++代码和两个编译配置:

    DEBUG_NO_exceptions 已禁用异常、并且链接和运行正常。

    2. debug_exceptions 在编译器选项中启用了-fxceptions。 main.cpp 中针对#ifdef _exceptions 进行了条件编译、以进行简单的异常测试。 这会生成有关未解析符号的链接器错误:

    **** Build of configuration Debug_exceptions for project TMS570LC4357_TI_CLANG_hello ****
    
    /home/mr_halfword/ti/ccs1030/ccs/utils/bin/gmake -k -j 12 all -O 
     
    Building file: "../HL_sys_intvecs.asm"
    Invoking: Arm Compiler
    "/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/bin/tiarmclang" -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mbig-endian -marm -Og -I"/home/mr_halfword/workspace_v10/TMS570LC4357_TI_CLANG_hello" -I"/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/include" -gstrict-dwarf -gdwarf-3 -fexceptions -xti-asm  -o"HL_sys_intvecs.o" "../HL_sys_intvecs.asm"
    tiarmclang: warning: argument unused during compilation: '-Og' [-Wunused-command-line-argument]
    tiarmclang: warning: argument unused during compilation: '-I /home/mr_halfword/workspace_v10/TMS570LC4357_TI_CLANG_hello' [-Wunused-command-line-argument]
    tiarmclang: warning: argument unused during compilation: '-I /home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/include' [-Wunused-command-line-argument]
    tiarmclang: warning: argument unused during compilation: '-gstrict-dwarf' [-Wunused-command-line-argument]
    tiarmclang: warning: argument unused during compilation: '-gdwarf-3' [-Wunused-command-line-argument]
    tiarmclang: warning: argument unused during compilation: '-fexceptions' [-Wunused-command-line-argument]
    Finished building: "../HL_sys_intvecs.asm"
     
    Building file: "../HL_sys_phantom.c"
    Invoking: Arm Compiler
    "/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/bin/tiarmclang" -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mbig-endian -marm -Og -I"/home/mr_halfword/workspace_v10/TMS570LC4357_TI_CLANG_hello" -I"/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/include" -gstrict-dwarf -gdwarf-3 -fexceptions -MMD -MP -MF"HL_sys_phantom.d_raw" -MT"HL_sys_phantom.o"   -o"HL_sys_phantom.o" "../HL_sys_phantom.c"
    Finished building: "../HL_sys_phantom.c"
     
    Building file: "../main.cpp"
    Invoking: Arm Compiler
    "/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/bin/tiarmclang" -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mbig-endian -marm -Og -I"/home/mr_halfword/workspace_v10/TMS570LC4357_TI_CLANG_hello" -I"/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/include" -gstrict-dwarf -gdwarf-3 -fexceptions -MMD -MP -MF"main.d_raw" -MT"main.o"   -o"main.o" "../main.cpp"
    Finished building: "../main.cpp"
     
    Building target: "TMS570LC4357_TI_CLANG_hello.out"
    Invoking: Arm Linker
    "/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/bin/tiarmclang" -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mbig-endian -marm -Og -gstrict-dwarf -gdwarf-3 -fexceptions -Wl,-m"TMS570LC4357_TI_CLANG_hello.map" -Wl,--heap_size=0x70000 -Wl,--stack_size=0x2000 -Wl,-i"/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/lib" -Wl,--reread_libs -Wl,--diag_wrap=off -Wl,--display_error_number -Wl,--warn_sections -Wl,--xml_link_info="TMS570LC4357_TI_CLANG_hello_linkInfo.xml" -Wl,--rom_model -Wl,--be32 -v -o "TMS570LC4357_TI_CLANG_hello.out" "./HL_sys_intvecs.o" "./HL_sys_phantom.o" "./main.o" "../HL_sys_link.cmd"  
    makefile:140: recipe for target 'TMS570LC4357_TI_CLANG_hello.out' failed
    TI Arm Clang Compiler 1.3.0-beta.1
    Target: arm-ti-none-eabi
    Thread model: posix
    InstalledDir: /home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/bin
     "/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/bin/tiarmlnk" -I/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/lib -o TMS570LC4357_TI_CLANG_hello.out -mTMS570LC4357_TI_CLANG_hello.map --heap_size=0x70000 --stack_size=0x2000 -i/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/lib --reread_libs --diag_wrap=off --display_error_number --warn_sections --xml_link_info=TMS570LC4357_TI_CLANG_hello_linkInfo.xml --rom_model --be32 ./HL_sys_intvecs.o ./HL_sys_phantom.o ./main.o ../HL_sys_link.cmd --start-group -llibc++.a -llibc++abi.a -llibc.a -llibsys.a -llibsysbm.a -llibclang_rt.builtins.a -llibclang_rt.profile.a --end-group --cg_opt_level=g
     
     undefined                first referenced  
      symbol                      in file       
     ---------                ----------------  
     _Unwind_Resume           ./main.o          
     __aeabi_unwind_cpp_pr0   ./HL_sys_phantom.o
     __cxa_allocate_exception ./main.o          
     __cxa_begin_catch        ./main.o          
     __cxa_end_catch          ./main.o          
     __cxa_free_exception     ./main.o          
     __cxa_throw              ./main.o          
     __gxx_personality_v0     ./main.o          
     
    error #10234-D: unresolved symbols remain
    error #10010: errors encountered during linking; "TMS570LC4357_TI_CLANG_hello.out" not built
    tiarmclang: error: tiarmlnk command failed with exit code 1 (use -v to see invocation)
    gmake[1]: *** [TMS570LC4357_TI_CLANG_hello.out] Error 1
    gmake: *** [all] Error 2
    makefile:136: recipe for target 'all' failed
    
    **** Build Finished ****
    

    当 CCS 编译为 链接调用 tiarmclang 时、 传递-fexceptions、但链接器似乎不会解析具有异常支持的 C++运行时库。

    不确定是创建工程时出错、还是运行时库选择中出现错误。

    e2e.ti.com/.../TMS570LC4357_5F00_TI_5F00_CLANG_5F00_hello.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    遗憾的是、我在构建 CCS 项目时遇到了问题。  我正在获得一些帮助。  我希望明天能回来。

    谢谢、此致、

    乔治

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="91588" URL"~/support/tools/ccs/f/code-composer-studio-forum/998144/ti-arm-clang-compiler-tools-user-s-guide-v1-3-description-of-run-time-library-selection-seems-incorrect/3688035 #3688035"]当 CCS 编译为 链接调用 tiarmclang 时 、传递了-fexceptions、但链接器似乎不会通过异常支持来解析 C++运行时库。

    我可以尝试解决构建配置的链接器错误、但有例外情况。

    首先添加了以下库作为输入:

    ${cG_tool_search_path}/armv7reb-ti-no-eabihf/c++/except/libc ++ABI

    ${cG_tool_search_path}/armv7reb-ti-no-eabihf/c++/except/libunwind.a

    它解析了异常的初始未解析符号、然后得到:

    **** Clean-only build of configuration Debug_exceptions for project TMS570LC4357_TI_CLANG_hello ****
    
    /home/mr_halfword/ti/ccs1030/ccs/utils/bin/gmake -k -j 12 clean -O 
     
    rm -rf  "TMS570LC4357_TI_CLANG_hello.hex"  "TMS570LC4357_TI_CLANG_hello.out" 
    rm -rf "HL_sys_intvecs.o" "HL_sys_phantom.o" "main.o" 
    rm -rf "HL_sys_phantom.d" 
    rm -rf "main.d" 
    rm -rf "HL_sys_intvecs.d" 
    Finished clean
     
    
    **** Build Finished ****
    
    **** Build of configuration Debug_exceptions for project TMS570LC4357_TI_CLANG_hello ****
    
    /home/mr_halfword/ti/ccs1030/ccs/utils/bin/gmake -k -j 12 all -O 
     
    Building file: "../HL_sys_intvecs.asm"
    Invoking: Arm Compiler
    "/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/bin/tiarmclang" -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mbig-endian -marm -Og -I"/home/mr_halfword/workspace_v10/TMS570LC4357_TI_CLANG_hello" -I"/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/include" -gstrict-dwarf -gdwarf-3 -fexceptions -xti-asm  -o"HL_sys_intvecs.o" "../HL_sys_intvecs.asm"
    tiarmclang: warning: argument unused during compilation: '-Og' [-Wunused-command-line-argument]
    tiarmclang: warning: argument unused during compilation: '-I /home/mr_halfword/workspace_v10/TMS570LC4357_TI_CLANG_hello' [-Wunused-command-line-argument]
    tiarmclang: warning: argument unused during compilation: '-I /home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/include' [-Wunused-command-line-argument]
    tiarmclang: warning: argument unused during compilation: '-gstrict-dwarf' [-Wunused-command-line-argument]
    tiarmclang: warning: argument unused during compilation: '-gdwarf-3' [-Wunused-command-line-argument]
    tiarmclang: warning: argument unused during compilation: '-fexceptions' [-Wunused-command-line-argument]
    Finished building: "../HL_sys_intvecs.asm"
     
    Building file: "../HL_sys_phantom.c"
    Invoking: Arm Compiler
    "/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/bin/tiarmclang" -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mbig-endian -marm -Og -I"/home/mr_halfword/workspace_v10/TMS570LC4357_TI_CLANG_hello" -I"/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/include" -gstrict-dwarf -gdwarf-3 -fexceptions -MMD -MP -MF"HL_sys_phantom.d_raw" -MT"HL_sys_phantom.o"   -o"HL_sys_phantom.o" "../HL_sys_phantom.c"
    Finished building: "../HL_sys_phantom.c"
     
    Building file: "../main.cpp"
    Invoking: Arm Compiler
    "/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/bin/tiarmclang" -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mbig-endian -marm -Og -I"/home/mr_halfword/workspace_v10/TMS570LC4357_TI_CLANG_hello" -I"/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/include" -gstrict-dwarf -gdwarf-3 -fexceptions -MMD -MP -MF"main.d_raw" -MT"main.o"   -o"main.o" "../main.cpp"
    Finished building: "../main.cpp"
     
    Building target: "TMS570LC4357_TI_CLANG_hello.out"
    Invoking: Arm Linker
    "/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/bin/tiarmclang" -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mbig-endian -marm -Og -gstrict-dwarf -gdwarf-3 -fexceptions -Wl,-m"TMS570LC4357_TI_CLANG_hello.map" -Wl,--heap_size=0x70000 -Wl,--stack_size=0x2000 -Wl,-i"/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/lib" -Wl,--reread_libs -Wl,--diag_wrap=off -Wl,--display_error_number -Wl,--warn_sections -Wl,--xml_link_info="TMS570LC4357_TI_CLANG_hello_linkInfo.xml" -Wl,--rom_model -Wl,--be32 -v -o "TMS570LC4357_TI_CLANG_hello.out" "./HL_sys_intvecs.o" "./HL_sys_phantom.o" "./main.o" "../HL_sys_link.cmd"  -Wl,-l"/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/lib/armv7reb-ti-none-eabihf/c++/except/libc++abi.a" -Wl,-l"/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/lib/armv7reb-ti-none-eabihf/c++/except/libunwind.a" 
    makefile:142: recipe for target 'TMS570LC4357_TI_CLANG_hello.out' failed
    TI Arm Clang Compiler 1.3.0-beta.1
    Target: arm-ti-none-eabi
    Thread model: posix
    InstalledDir: /home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/bin
     "/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/bin/tiarmlnk" -I/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/lib -o TMS570LC4357_TI_CLANG_hello.out -mTMS570LC4357_TI_CLANG_hello.map --heap_size=0x70000 --stack_size=0x2000 -i/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/lib --reread_libs --diag_wrap=off --display_error_number --warn_sections --xml_link_info=TMS570LC4357_TI_CLANG_hello_linkInfo.xml --rom_model --be32 ./HL_sys_intvecs.o ./HL_sys_phantom.o ./main.o ../HL_sys_link.cmd -l/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/lib/armv7reb-ti-none-eabihf/c++/except/libc++abi.a -l/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/lib/armv7reb-ti-none-eabihf/c++/except/libunwind.a --start-group -llibc++.a -llibc++abi.a -llibc.a -llibsys.a -llibsysbm.a -llibclang_rt.builtins.a -llibclang_rt.profile.a --end-group --cg_opt_level=g
    error #16004-D: file "/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/lib/armv7reb-ti-none-eabihf/c++/except/libunwind.a<UnwindRegistersSave.S.obj>" has a Tag_ABI_VFP_args attribute value of "0" that is different than one previously seen ("1"); combining incompatible files
    warning #16016-D: file "/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/lib/armv7reb-ti-none-eabihf/c++/except/libunwind.a<UnwindRegistersSave.S.obj>" was built for VFPv3 coprocessor support while a previously seen file was built for VFPv3-D16 coprocessor support
    warning #16016-D: file "/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/lib/armv7reb-ti-none-eabihf/c++/except/libunwind.a<libunwind.cpp.obj>" was built for VFPv3-D16 coprocessor support while a previously seen file was built for VFPv3 coprocessor support
    error #16004-D: file "/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/lib/armv7reb-ti-none-eabihf/c++/except/libunwind.a<UnwindRegistersRestore.S.obj>" has a Tag_ABI_VFP_args attribute value of "0" that is different than one previously seen ("1"); combining incompatible files
    warning #16016-D: file "stdexcept.cpp.obj in /home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/lib/armv7reb-ti-none-eabihf/c++/libc++.a" was built for VFPv3-D16 coprocessor support while a previously seen file was built for VFPv3 coprocessor support
    warning #16016-D: file "cxa_guard.cpp.obj in /home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/lib/armv7reb-ti-none-eabihf/c++/libc++abi.a" was built for VFPv3-D16 coprocessor support while a previously seen file was built for VFPv3 coprocessor support
    warning #16016-D: file "printf.c.obj in /home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/lib/armv7reb-ti-none-eabihf/c/libc.a" was built for VFPv3-D16 coprocessor support while a previously seen file was built for VFPv3 coprocessor support
    warning #16016-D: file "write.c.obj in /home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/lib/armv7reb-ti-none-eabihf/c/libsysbm.a" was built for VFPv3-D16 coprocessor support while a previously seen file was built for VFPv3 coprocessor support
    warning #16016-D: file "divsi3.S.obj in /home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/lib/clang/12.0.0/lib/armv7reb-ti-none-eabihf/libclang_rt.builtins.a" was built for VFPv3-D16 coprocessor support while a previously seen file was built for VFPv3 coprocessor support
     
     undefined     first referenced                                                                                                                                 
      symbol           in file                                                                                                                                      
     ---------     ----------------                                                                                                                                 
     __exidx_end   /home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/lib/armv7reb-ti-none-eabihf/c++/except/libunwind.a<libunwind.cpp.obj>
     __exidx_start /home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/lib/armv7reb-ti-none-eabihf/c++/except/libunwind.a<libunwind.cpp.obj>
     
    error #10234-D: unresolved symbols remain
    error #10010: errors encountered during linking; "TMS570LC4357_TI_CLANG_hello.out" not built
    tiarmclang: error: tiarmlnk command failed with exit code 1 (use -v to see invocation)
    gmake[1]: *** [TMS570LC4357_TI_CLANG_hello.out] Error 1
    gmake: *** [all] Error 2
    makefile:138: recipe for target 'all' failed
    
    **** Build Finished ****
    

    可以  通过在链接器命令文件中添加以下符号别名来修复未解析的符号__exidx_start 和__exidx_end:

        .ARM.exidx  align(32) :
        {
         	__exidx_start = __TI_UNWIND_TABLE_START;
    		__exidx_end = __TI_UNWIND_TABLE_END;
        } > FLASH0 | FLASH1
    

    但这仍然会留下以下链接器错误、这似乎是由于具有不同浮点支持设置的异常库所致:

    **** Clean-only build of configuration Debug_exceptions for project TMS570LC4357_TI_CLANG_hello ****
    
    /home/mr_halfword/ti/ccs1030/ccs/utils/bin/gmake -k -j 12 clean -O 
     
    rm -rf  "TMS570LC4357_TI_CLANG_hello.hex"  "TMS570LC4357_TI_CLANG_hello.out" 
    rm -rf "HL_sys_intvecs.o" "HL_sys_phantom.o" "main.o" 
    rm -rf "HL_sys_phantom.d" 
    rm -rf "main.d" 
    rm -rf "HL_sys_intvecs.d" 
    Finished clean
     
    
    **** Build Finished ****
    
    **** Build of configuration Debug_exceptions for project TMS570LC4357_TI_CLANG_hello ****
    
    /home/mr_halfword/ti/ccs1030/ccs/utils/bin/gmake -k -j 12 all -O 
     
    Building file: "../HL_sys_intvecs.asm"
    Invoking: Arm Compiler
    "/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/bin/tiarmclang" -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mbig-endian -marm -Og -I"/home/mr_halfword/workspace_v10/TMS570LC4357_TI_CLANG_hello" -I"/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/include" -gstrict-dwarf -gdwarf-3 -fexceptions -xti-asm  -o"HL_sys_intvecs.o" "../HL_sys_intvecs.asm"
    tiarmclang: warning: argument unused during compilation: '-Og' [-Wunused-command-line-argument]
    tiarmclang: warning: argument unused during compilation: '-I /home/mr_halfword/workspace_v10/TMS570LC4357_TI_CLANG_hello' [-Wunused-command-line-argument]
    tiarmclang: warning: argument unused during compilation: '-I /home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/include' [-Wunused-command-line-argument]
    tiarmclang: warning: argument unused during compilation: '-gstrict-dwarf' [-Wunused-command-line-argument]
    tiarmclang: warning: argument unused during compilation: '-gdwarf-3' [-Wunused-command-line-argument]
    tiarmclang: warning: argument unused during compilation: '-fexceptions' [-Wunused-command-line-argument]
    Finished building: "../HL_sys_intvecs.asm"
     
    Building file: "../HL_sys_phantom.c"
    Invoking: Arm Compiler
    "/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/bin/tiarmclang" -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mbig-endian -marm -Og -I"/home/mr_halfword/workspace_v10/TMS570LC4357_TI_CLANG_hello" -I"/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/include" -gstrict-dwarf -gdwarf-3 -fexceptions -MMD -MP -MF"HL_sys_phantom.d_raw" -MT"HL_sys_phantom.o"   -o"HL_sys_phantom.o" "../HL_sys_phantom.c"
    Finished building: "../HL_sys_phantom.c"
     
    Building file: "../main.cpp"
    Invoking: Arm Compiler
    "/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/bin/tiarmclang" -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mbig-endian -marm -Og -I"/home/mr_halfword/workspace_v10/TMS570LC4357_TI_CLANG_hello" -I"/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/include" -gstrict-dwarf -gdwarf-3 -fexceptions -MMD -MP -MF"main.d_raw" -MT"main.o"   -o"main.o" "../main.cpp"
    Finished building: "../main.cpp"
     
    Building target: "TMS570LC4357_TI_CLANG_hello.out"
    Invoking: Arm Linker
    "/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/bin/tiarmclang" -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mbig-endian -marm -Og -gstrict-dwarf -gdwarf-3 -fexceptions -Wl,-m"TMS570LC4357_TI_CLANG_hello.map" -Wl,--heap_size=0x70000 -Wl,--stack_size=0x2000 -Wl,-i"/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/lib" -Wl,--reread_libs -Wl,--diag_wrap=off -Wl,--display_error_number -Wl,--warn_sections -Wl,--xml_link_info="TMS570LC4357_TI_CLANG_hello_linkInfo.xml" -Wl,--rom_model -Wl,--be32 -v -o "TMS570LC4357_TI_CLANG_hello.out" "./HL_sys_intvecs.o" "./HL_sys_phantom.o" "./main.o" "../HL_sys_link.cmd"  -Wl,-l"/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/lib/armv7reb-ti-none-eabihf/c++/except/libc++abi.a" -Wl,-l"/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/lib/armv7reb-ti-none-eabihf/c++/except/libunwind.a" 
    makefile:142: recipe for target 'TMS570LC4357_TI_CLANG_hello.out' failed
    TI Arm Clang Compiler 1.3.0-beta.1
    Target: arm-ti-none-eabi
    Thread model: posix
    InstalledDir: /home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/bin
     "/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/bin/tiarmlnk" -I/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/lib -o TMS570LC4357_TI_CLANG_hello.out -mTMS570LC4357_TI_CLANG_hello.map --heap_size=0x70000 --stack_size=0x2000 -i/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/lib --reread_libs --diag_wrap=off --display_error_number --warn_sections --xml_link_info=TMS570LC4357_TI_CLANG_hello_linkInfo.xml --rom_model --be32 ./HL_sys_intvecs.o ./HL_sys_phantom.o ./main.o ../HL_sys_link.cmd -l/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/lib/armv7reb-ti-none-eabihf/c++/except/libc++abi.a -l/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/lib/armv7reb-ti-none-eabihf/c++/except/libunwind.a --start-group -llibc++.a -llibc++abi.a -llibc.a -llibsys.a -llibsysbm.a -llibclang_rt.builtins.a -llibclang_rt.profile.a --end-group --cg_opt_level=g
    error #16004-D: file "/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/lib/armv7reb-ti-none-eabihf/c++/except/libunwind.a<UnwindRegistersSave.S.obj>" has a Tag_ABI_VFP_args attribute value of "0" that is different than one previously seen ("1"); combining incompatible files
    warning #16016-D: file "/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/lib/armv7reb-ti-none-eabihf/c++/except/libunwind.a<UnwindRegistersSave.S.obj>" was built for VFPv3 coprocessor support while a previously seen file was built for VFPv3-D16 coprocessor support
    warning #16016-D: file "/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/lib/armv7reb-ti-none-eabihf/c++/except/libunwind.a<libunwind.cpp.obj>" was built for VFPv3-D16 coprocessor support while a previously seen file was built for VFPv3 coprocessor support
    error #16004-D: file "/home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/lib/armv7reb-ti-none-eabihf/c++/except/libunwind.a<UnwindRegistersRestore.S.obj>" has a Tag_ABI_VFP_args attribute value of "0" that is different than one previously seen ("1"); combining incompatible files
    warning #16016-D: file "stdexcept.cpp.obj in /home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/lib/armv7reb-ti-none-eabihf/c++/libc++.a" was built for VFPv3-D16 coprocessor support while a previously seen file was built for VFPv3 coprocessor support
    warning #16016-D: file "cxa_guard.cpp.obj in /home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/lib/armv7reb-ti-none-eabihf/c++/libc++abi.a" was built for VFPv3-D16 coprocessor support while a previously seen file was built for VFPv3 coprocessor support
    warning #16016-D: file "printf.c.obj in /home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/lib/armv7reb-ti-none-eabihf/c/libc.a" was built for VFPv3-D16 coprocessor support while a previously seen file was built for VFPv3 coprocessor support
    warning #16016-D: file "write.c.obj in /home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/lib/armv7reb-ti-none-eabihf/c/libsysbm.a" was built for VFPv3-D16 coprocessor support while a previously seen file was built for VFPv3 coprocessor support
    warning #16016-D: file "divsi3.S.obj in /home/mr_halfword/ti/ccs1030/ccs/tools/compiler/ti-cgt-armllvm_1.3.0-beta.1/lib/clang/12.0.0/lib/armv7reb-ti-none-eabihf/libclang_rt.builtins.a" was built for VFPv3-D16 coprocessor support while a previously seen file was built for VFPv3 coprocessor support
    error #10010: errors encountered during linking; "TMS570LC4357_TI_CLANG_hello.out" not built
    tiarmclang: error: tiarmlnk command failed with exit code 1 (use -v to see invocation)
    gmake[1]: *** [TMS570LC4357_TI_CLANG_hello.out] Error 1
    gmake: *** [all] Error 2
    makefile:138: recipe for target 'all' failed
    
    **** Build Finished ****
    

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    遗憾的是、我也无法在启用异常的情况下构建 C++代码。  因此、我提交了条目 EXT_EP-10343 以对其进行调查。  欢迎您访问该链接。

    谢谢、此致、

    乔治

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="4373 " URL"~/support/tools/ccs/f/code-composer-studio-forum/998144/ti-arm-clang-compiler-tools-user-s-guide-v1-3-description-of-run-time-library-selection-seems-incorrect/3689512 #3689512"]SO、我提交了 EXT_EP-10343条目  以进行调查。  [/报价]

    我看到您使用比我的 Cortex-R5测试用例更简单的程序、以及 Cortex-M0上更简单的程序时、仍然能够重复这个问题。