The build is based on Gcc 4.9.4 (Aug. 2016) Binutils 2.20 (Aug. 2011) Newlib 1.18 (Jan. 2016) So more outdated versions.
I recommend to install an Ubuntu Image in a VM. Take a reasonable machine with enough horse power. During the configuration under linux you will see fails, add the missing packages. I used for linux build gcc -v gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04) I used for windows build i686-w64-mingw32-gcc -v gcc version 7.3-win32 20180312 (GCC) Execute in a first step the sequential order of the subshells in build_linux_gcc494.zip for linux. At the end you have a linux version. Execute in a second step the sequential order of the subshells in build_mingw_gcc494.zip for windows. At the end you have a windows version.
All testsuites are missing in the provided source code package, I added testsuites if needed for the build, but never executed them. The top-level configure option --disable-test-suite is sometimes not forwarded to subprojects. If testsuites which are extended by problem reports are part of GPL is a different question. A quick walkthrough the code generated the impression, that Hightec forgot to influence the GNU compiler community. Specific architectural hooks were added and also reasonable feature extensions (sometimes can be also done in a smarter way). This is maybe one of the reason why Hightec cannot not publish state of the art releases. Copyright remarks and support contacts which are dedicated to Hightec, I removed (It is a GPL rebuild and the support commitment will be overstressed!)
I was surprised that Hightec disabled some optimization features hard coded with lazy comments: flag_schedule_insns = 0; /* : web crashed on branch_and_decrement gcc.c-torture/compile/20000629-1.c -mtc16 -O3 -funroll-loops so we disable it for now. */ flag_web = 0; /* Disable regrename because it does not check validity of insns after some thing changes which might break *mov64 insn. HARD_REGNO_RENAME_OK does not provide enough information to return resonable results. */ flag_rename_registers = 0;
I did a compilation of some code on linux and windows side, and don't have seen issues. If you have a working environment in Windows, try the Windows version and then migrate to Linux. As prefix I used not tricore- , I used tricore-elf also helping to differentiate the origin of the build. I would appreciate if the community can do some additional tests and feedbacks. The installation is provided unstripped. Run time to build on i7 quad is approx 2h in total for both packages (take src on share and build local) In detail! 1drv.ms/f/s!Aqki9dR7PS2ygQZcwKHGhjbqtQ1R
build_linux_gcc494.zip shells to build for linux build_mingw_gcc494.zip shells to build for windows GPL_PACKAGE_TRICORE_HIGHTEC_494.tar.gz the source code (testsuites added, copyright/support modifications) tricore_494_linux.tar.gz the linux distribution tricore_494_mingw.tar.gz the windows distribution
PS. What is GPL! It is copyleft! Take millions lines of code, add something in the range of 10klines and redistribute for free! What is GPL not, add something in the range of 10klines and sell it as your own achievement and let others pay for it! Walked over some comments in www, how difficult it is to get something for Tricore also from Hightec! By the way, Tricore is a nice processor!
Did somebody worked on a newer version of the GCC compiler for AURIX Tricore? The GCC version 4.9 above is quite old und does not support c++ in all extends. I'm using the AURIX Development Studio (ADS) with the integrated TASKING compiler, but also this compiler is a quite old version from TASKING and limited to non-commercial usage.
Yes. this work is done. I worked for a client for a port. From: Gcc 4.9.4 (Aug. 2016) Binutils 2.20 (Aug. 2011) Newlib 1.18 (Jan. 2016) To: Gcc 9.1.0 binutils 2.37 Newlib 3.10 gdb 10.05
Was also driven by some C++ extensions + performance improvements, which are missing. I informed my client that he is touching GPL with C++ Libraries and potentially have to provide all source codes to the receiver of the binaries. Are you aware about GPL?
=== libstdc++ Summary ===
# of expected passes 10551 # of expected failures 77 # of unsupported tests 902
=== gcc Summary ===
# of expected passes 76130 # of expected failures 337 # of unsupported tests 2489 === g++ Summary ===
# of expected passes 103652 # of expected failures 403 # of unsupported tests 6141
=== gdb Summary ===
# of expected passes 62961 # of unexpected successes 8 # of expected failures 295 # of unknown successes 2 # of known failures 71 # of unresolved testcases 9 # of untested testcases 188 # of unsupported tests 385 # of paths in test names 2 # of duplicate test names 116