Updated Toolchains (2018q1) released for the Renesas RX & RL78 Targets

We are releasing new versions of the toolchains for two of the most popular Renesas targets: the RX and RL78 families.

The release notes for each of these platforms may be found below, covering what changes each of these new toolchain versions bring:

  • GCC for Renesas (Windows | Linux)
    1. [Improvement] New options added:
      -msave-cs-in-interrupts: Save CS register in interrupts
      -muse-es: Save ES register in interrupts
    2. [Bug Fix] Fixed the value saved in MDUC register used in div/mod instructions.
    3. [Improvement] Multiplication registers are now displayed by name instead of addresses.
    4. [Improvement] Following options have been enabled by default in order to achieve code size improvements: -fdata-sections-ffunction-sections-frtl-lfact-frtl-seqabstr-ftree-seqabstr. Additionally, the following option has been disabled for code size optimization: -fpartial-inlining.
    5. [Improvement] Adjustments have been made to PARAM_SINK_FREQUENCY_THRESHOLD and PARAM_MAX_STORES_TO_SINK for -sink-frequency-threshold and max-stores-to-sink options.
    6. [Bug Fix] -mmul=none now works properly with -mcpu=g14 or -mcpu=g13
    7. [Improvement] The -dse option has been adjusted for better code size results.
    8. [Bug Fix] Record the content for the mov instruction to prevent elimination.
  • Known issues
    • When using the -fdata-section option, the _far variables are saved in rodata instead of frodata.
    • There is an issue regarding the usage of optlib in GNU ISO 2011 C++ projects.
    • The mov and clr1 instructions are not evaluated consistently when SFR or SADDR addresses are used.
    • When SFR addresses are used in conjunction with the far keyword, the ES register is referred but not initialized.
  • GCC for Renesas (Windows | Linux)
    1. [New Feature] New multilibs support for RX64M.
    2. [Bug-Fix] The -mno-balign option can be now disabled when optimizing for size.
    3. [Improvement] Using the -mpid and -mrelax options together will now return a warning.
    4. [Improvement] Improved the generated codesize for specific xor instructions.
    5. [Improvement] Optimized generated code of the mov instruction.
    6. [Improvement] Improved speed and optimized the code size in certain scenarios.
  • Known issues
    • In certain cases the program will time out while executing with following options:
      (Note: Both flags need to be accompanied by “-fno-diagnostics-show-caret -w -O1 -DSTACK_SIZE=4096 -msim -lm” for the problem to be observed.)
      a) -funroll-loops
      b) -fpeel-loops
    • An incomplete type error can be observed ocasionally when using the -fpack-struct option in C++. The combination of the flags that reproduce this problem is “-fpack-struct -fno-diagnostics-show-caret -nostdinc++ -fmessagelength=0 -std=c++11 -pedantic-errors -Wno-long-long -S -msim

As with the previous releases also, the Linux installer for both toolchains now offers command-line flags to automate execution as much as possible, as well as the ability to also act as an uninstaller for the toolchains. With this update, the installer can both install and uninstall the toolchain from one or more paths from your Linux distribution. The release notes for both toolchains also include the list of the currently known issues presented above, to which we fully commit to adequately handle in the coming updates.

We strongly value your feedback, so please let us know if you have any questions or comments.

2 Responses to Updated Toolchains (2018q1) released for the Renesas RX & RL78 Targets

  1. Morenik65 より:

    is it possible to integrate this toolchian in e2studio ?

  2. GNU Tools Support より:

    @Morenik65: Yes, it is possible to integrate this in the latest version of e2 Studio.