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.

CCS/AM5716: GNU v9.2.1 (Linaro) compatibility

Part Number: AM5716


Tool/software: Code Composer Studio

Hi. 

We saw that Compiler GNU v9.2.1 is added to the toolchain, and wanted to try it out. (currently, we are using GNU v7.2.1 (Linaro).

However, after a lot of unsuccessful trials, we still got a lot of error messages in bios_6_75_02_00 and in c:\ti\ccs920\ccs\tools\compiler\gcc-arm-none-eabi-9-2019-q4-major\arm-none-eabi\include\

For example:

c:\ti\ccs920\ccs\tools\compiler\gcc-arm-none-eabi-9-2019-q4-major\arm-none-eabi\include\c++\9.2.1\bits\basic_string.h: In function 'std::string std::__cxx11::to_string(long long int)':
c:\ti\ccs920\ccs\tools\compiler\gcc-arm-none-eabi-9-2019-q4-major\arm-none-eabi\include\c++\9.2.1\bits\basic_string.h:6569:50: error: 'vsnprintf' is not a member of 'std'; did you mean 'isprint'?
6569 | { return __gnu_cxx::__to_xstring<string>(&std::vsnprintf,
| ^~~~~~~~~
| isprint
c:\ti\ccs920\ccs\tools\compiler\gcc-arm-none-eabi-9-2019-q4-major\arm-none-eabi\include\c++\9.2.1\bits\basic_string.h: In function 'std::string std::__cxx11::to_string(long long unsigned int)':
c:\ti\ccs920\ccs\tools\compiler\gcc-arm-none-eabi-9-2019-q4-major\arm-none-eabi\include\c++\9.2.1\bits\basic_string.h:6575:50: error: 'vsnprintf' is not a member of 'std'; did you mean 'isprint'?
6575 | { return __gnu_cxx::__to_xstring<string>(&std::vsnprintf,
| ^~~~~~~~~
| isprint
c:\ti\ccs920\ccs\tools\compiler\gcc-arm-none-eabi-9-2019-q4-major\arm-none-eabi\include\c++\9.2.1\bits\basic_string.h: In function 'std::string std::__cxx11::to_string(float)':
c:\ti\ccs920\ccs\tools\compiler\gcc-arm-none-eabi-9-2019-q4-major\arm-none-eabi\include\c++\9.2.1\bits\basic_string.h:6584:50: error: 'vsnprintf' is not a member of 'std'; did you mean 'isprint'?
6584 | return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, __n,
| ^~~~~~~~~
| isprint
c:\ti\ccs920\ccs\tools\compiler\gcc-arm-none-eabi-9-2019-q4-major\arm-none-eabi\include\c++\9.2.1\bits\basic_string.h: In function 'std::string std::__cxx11::to_string(double)':
c:\ti\ccs920\ccs\tools\compiler\gcc-arm-none-eabi-9-2019-q4-major\arm-none-eabi\include\c++\9.2.1\bits\basic_string.h:6593:50: error: 'vsnprintf' is not a member of 'std'; did you mean 'isprint'?
6593 | return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, __n,
| ^~~~~~~~~
| isprint
c:\ti\ccs920\ccs\tools\compiler\gcc-arm-none-eabi-9-2019-q4-major\arm-none-eabi\include\c++\9.2.1\bits\basic_string.h: In function 'std::string std::__cxx11::to_string(long double)':
c:\ti\ccs920\ccs\tools\compiler\gcc-arm-none-eabi-9-2019-q4-major\arm-none-eabi\include\c++\9.2.1\bits\basic_string.h:6602:50: error: 'vsnprintf' is not a member of 'std'; did you mean 'isprint'?
6602 | return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, __n,
| ^~~~~~~~~
|

// -----------------------------

c:\ti\bios_6_75_02_00\packages\gnu\targets\arm\libs\install-native\arm-none-eabi\include\sys\reent.h:784:19: note: previous declaration as '_reent* _EXFUN'
784 | struct _reent * _EXFUN(__getreent, (void));
| ^~~~~~
In file included from c:\ti\ccs920\ccs\tools\compiler\gcc-arm-none-eabi-9-2019-q4-major\arm-none-eabi\include\c++\9.2.1\cwctype:50,
from c:\ti\ccs920\ccs\tools\compiler\gcc-arm-none-eabi-9-2019-q4-major\arm-none-eabi\include\c++\9.2.1\bits\locale_facets.h:39,
from c:\ti\ccs920\ccs\tools\compiler\gcc-arm-none-eabi-9-2019-q4-major\arm-none-eabi\include\c++\9.2.1\bits\basic_ios.h:37,
from c:\ti\ccs920\ccs\tools\compiler\gcc-arm-none-eabi-9-2019-q4-major\arm-none-eabi\include\c++\9.2.1\ios:44,
from c:\ti\ccs920\ccs\tools\compiler\gcc-arm-none-eabi-9-2019-q4-major\arm-none-eabi\include\c++\9.2.1\ostream:38,
from c:\ti\ccs920\ccs\tools\compiler\gcc-arm-none-eabi-9-2019-q4-major\arm-none-eabi\include\c++\9.2.1\iostream:39,
from C:/Sandbox/BaseStation2018/Basestation7000/Common/System/PrintLog.cpp:3:
c:\ti\bios_6_75_02_00\packages\gnu\targets\arm\libs\install-native\arm-none-eabi\include\wctype.h:45:15: error: 'towctrans' was not declared in this scope
45 | wint_t _EXFUN(towctrans, (wint_t, wctrans_t));
| ^~~~~~~~~
c:\ti\bios_6_75_02_00\packages\gnu\targets\arm\libs\install-native\arm-none-eabi\include\wctype.h:45:33: error: expected primary-expression before ',' token
45 | wint_t _EXFUN(towctrans, (wint_t, wctrans_t));
| ^
c:\ti\bios_6_75_02_00\packages\gnu\targets\arm\libs\install-native\arm-none-eabi\include\wctype.h:45:44: error: expected primary-expression before ')' token
45 | wint_t _EXFUN(towctrans, (wint_t, wctrans_t));
| ^
c:\ti\bios_6_75_02_00\packages\gnu\targets\arm\libs\install-native\arm-none-eabi\include\wctype.h:46:8: error: conflicting declaration 'wint_t _EXFUN'
46 | wint_t _EXFUN(towupper, (wint_t));

Do we have to upgrade any of our SDK libraries in order to use this compiler, or are we perhaps missing any compile flags somewhere?

Appreciate any hints that could help us in the right direction.

Thanks for your continuous support,

Anders. 

  • Anders,

    The Processor SDK for AM5716 is not compatible with that verison of GCC.  That version is actaully intendted for use with Cortex M and R based devices.  Specifically the latest versions of our SimpleLink SDK require it. 

    The Processor SDK always comes bundled with the appropriate compiler.  The compiler it is bundled with is intended for use with Cortex A based devices.

    I will loop in someone from AM57x to comment more.

    Regards,

    John

  • Thanks John for your reply.

    I would like some feedback from AM57x on what to expect regarding gcc v9.

    Thanks, 

    Anders.