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 C/C++代码生成工具分段故障

Guru**** 2593730 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/599840/compiler-arm-c-c-code-generation-tools-segmentation-fault

工具/软件:TI C/C++编译器

您好,

我们正在使用TI ARM C/C++代码生成工具v 5.1。

我们正在尝试编译C++代码,这会导致分段错误:

正在编译应用程序文件:src/Test.cpp

内部错误:5.1 C:\TI\CSS\ccsv7\tools\compiler\arm_Segment.6\bin\armacpia.exe遇到段错误
处理函数运算符-文件C:\TI\CSS\ccsv7\tools\compiler\arm_utility.6\bin\..\include\xutility 5.1 line 1026时

,这是一个严重的问题。 请通过
此消息和输入文件副本联系客户支持
,帮助我们继续使工具更强大。 


>>编译失败
make:***[builp/appcpp_Test.obj]错误1 


请提供帮助。


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

    要了解发生了什么,我们需要重现它。  请按照 How to Submit a Compiler Test Case中的说明提交测试用例

    谢谢,此致,

    -George

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

    经过一些测试,我们发现使用16.9 v.3.LTS,代码可以正常工作。

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

    您好,George,

    下面是有关此主题的一些附加信息:如果我们删除--check_Misra=none编译器选项并添加 --rendelle_ansi选项,则可以编译c++文件。 但是,结果程序不能执行,因为在 启动代码中对__TI_auto_init()的函数调用会导致跳转 至地址0,重新开始。 我们不知道这个问题是否与原来的问题有关。

    以下是Makefile项目:

    e2e.ti.com/.../7848.project.7z

    我们正在使用 TI ARM C/C++ Compiler 5.1 6和以下选项:

    -mv7R4
    --code_state=32.
    --float_support=VFPv3D16
    --fp_mode=strict
    --endian=big
    --c+03.
    --diag_warning=225
    --diag_wrap=off
    --display_error_number
    --abi=eabi
    --opt_level=0
    --symdebug:dwarf.
    --check_Misra=none
    -dDEBUG
    -DCSM_DEBUG
    --symdebug:dwarf_version=2

    这是导致问题的预处理源文件:

    e2e.ti.com/.../base_5F00_coordControl.txt

    感谢您的支持。 如果您需要其他信息,请告知我们。

    此致,

    Stefan  

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

    感谢您发送测试案例。  我可以重现该问题。  我在 SDOWP系统中提交了CodeGen-2353以获得此地址。  欢迎您使用我签名中下面的SDOWP链接进行关注。  我还验证了版本16.9 .x.LTS中已修复此问题。  

    老实说,我不知道这一个会发生什么。  它是针对一组不再维护的编译器发行版(5.1 .x)进行报告的。  而且,目前可用的编译器发行版中不会出现此问题。  它不会得到高度优先考虑,而且可能永远不会得到解决。

    谢谢,此致,

    -George

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

    切换到新的编译器版本对我们来说并不容易。 但我想现在该升级到16.9 .x.LTS版本了。

    此致,
    Stefan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    缺陷报告代码Gen-2353由于以下两个原因被拒绝:

    1) MISRA检查不是针对C++代码运行的。
    2)症状不会出现在任何活动的释放分支中。

    IT CodeGen-2353确实是一个错误,但除非它开始在活动分支中发生,否则我们不会解决它。 (我们怀疑该错误可能已经修复,但跟踪此错误需要大量工作。) 此外,由于有一种变通办法(不要对C++代码使用--check_Misra),因此它将是低优先级的修复。

    我同意George的意见,即您应升级至LTS版本。 目前最佳选择是16.9。3.LTS
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

      我想问您CCS7的哪个特定版本具有ARM_CCS7编译器的5.1 Tm6? 因为我需要ARM_ARM 5.1 6 来恢复实验。

      非常感谢!

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

    当CCS发布时,它将与当时可用的一组TI编译器捆绑在一起。  但是,这些编译器可以随着新版本的推出而升级。  也可能出现相反的情况:您可以在几年的合理时间范围内使用较旧的编译器。  有关此主题的详细信息,请参阅更改 编译器版本一文

    谢谢,此致,

    -George