﻿MSP430-GCC 8.3.0.16 Release Notes
---
GCC
* Updated to GCC 8.3.
  + For the full list of improvements to optimizations, compiler messages, new
    options and more, visit https://gcc.gnu.org/gcc-8/
* Fixed interrupt functions unnecessarily saving all callee-saved registers when
  the interrupt function calls another function. (Known Issue MSPGCC-39)
* Added alternate version of "__int20" type, "__int20__".
  + __int20__ can be used in code compiled with options that enable ISO C
    standard checking (e.g. -pedantic), without causing warnings or errors about
    its use to be emitted.
* Fixed paths specified with -Wl,-L not being searched for the MSP430 MCU data
  file "devices.csv". (Known Issue MSPGCC-176)
* Fixed msp430-gcc support files sometimes not being found when installed into
  the "msp430-elf/include/devices/" subdirectory of the toolchain.
* Fixed inclusion of C runtime library functions not being dynamic with LTO.
  (Known Issue MSPGCC-156)
* Fixed identical interrupt functions being folded using the regular function
  calling convention. (Known Issue MSPGCC-175)
  + Functions marked with the interrupt attribute will not be cloned or folded.
* Enabled register names specified in "asm" statement clobber lists or in
  command line arguments to be case-insensitive.
  + For example, a lower-case "r" in "r4" can be used and GCC will no longer be
    report the register name as unrecognized.

Binutils
* Fixed object attribute for data region overlapping with
  "OFBA_MSPABI_Tag_enum_size" mspabi attribute.

Newlib (C Library)
* Further improvements to dynamic C runtime (CRT) functionality, reducing code
  size.
  + Removed .init and .fini sections.
    Initialization functions in the .init_array section will be run before main
    is called (if this section is populated).
    .fini and .fini_array are unused.

GDB
* Fixed packet error when flashing large files on some devices by increasing
  default "remotetimeout" to 10 seconds. (Known Issue MSPGCC-177)
