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.

[参考译文] 编译器/TMS320F2.8377万D:编译CLA时出现编译器分段故障

Guru**** 2553450 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/584870/compiler-tms320f28377d-compiler-segmentation-fault-when-compiling-for-cla

部件号:TMS320F2.8377万D

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

您好,  

我在为CLA编译时遇到编译器分段错误。

我找到 这个线程,但我没有使用--gcc选项,我尝试了三个不同的编译器版本15.x.x和16.x.x

这是我在编译时收到的日志消息:

内部错误:C:\Prg_dev\ti\c2000_缂 栬疟鍣16.9 \SSegment.2.LTS\bin\accla.exe浜?a segmentation fault銆
处理函数(未知或文件范围)文件(未知)第0行时

,这是由编译器本身的缺陷引起的。 TI客户
支持部门可能会建议一种解决方法来避免这种情况。

升级到最新版本的编译器可以解决此问题。

在 http://e2e.ti.com上 的E2E支持论坛中,在
“开发工具”,“TI C/C++编译器”下联系TI。 请参阅标题为
"提交问题"的链接。 包括整个错误消息和

使用选项--preproc_with注释(-ppc)时创建的.pp文件的副本。

gmake:***[Release_CPU1\CLA_Tasks.obj]错误1****

构建完成**** 

感谢您的支持,

Angelo

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

    很遗憾,您发现我们的工具存在问题。  这可能是一个新的问题。  请按照以下步骤提交一个测试案例,以便我重现该案例。

    1. 预处理 文件CLA_Tasks.CLA
    2. 将其附加到您的下一篇文章中  
    3. 准确显示编译器看到的所有生成选项

    谢谢,此致,

    -George

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

    我设法找到了导致segfault的线路。

    我有一个函数指针声明如下:

    void (*calc)();

    然后在. c文件中初始化它:

    Calc = PI_STd;

    其中pi_std是位于.h文件中的静态内联函数。

    然后在.cA文件中调用函数:

    Calc (数据)(&D);

    导致节段故障。

    将函数调用更改为CLA_TASK_CLA  文件内的calc(&data);更改为PI_std(&data)可解决此问题。

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

    感谢您展示此简化的测试案例。  不过,我仍然不能再现这个问题。  如果您能提供完整的Something.CLA源文件以及生成选项,将会导致您在第一篇文章中显示的编译器崩溃,我将不胜感激。  注意:无需运行homething.CLA文件,只需构建。

    谢谢,此致,

    -George