ping for these patches [PATCH 1/4] [MSP430] Consolidate hard-coded MCU data https://gcc.gnu.org/ml/gcc-patches/2018-06/msg01673.html
[PATCH 2/4] [MSP430] Update hard-coded MCU data https://gcc.gnu.org/ml/gcc-patches/2018-06/msg01674.html [PATCH 3/4] [MSP430] Search for MCU data file on include paths https://gcc.gnu.org/ml/gcc-patches/2018-06/msg01675.html [PATCH 4/4] [MSP430] Search for MCU data file using environment variable and in a toolchain subdirectory https://gcc.gnu.org/ml/gcc-patches/2018-06/msg01676.html --- The following series of patches extends MCU device data handling for the msp430 target, allowing an external file to be read which describes the CPU ISA and hardware multiply supported for different MCUs. The current hard-coded solution means that new MCUs can only be supported by updating the GCC itself. The first patch keeps the hard-coded data as the only way of reading MCU data, but consolidates it in a single file. Extensions to the spec handling in msp430.h mean that the hard-coded data is no longer needed in 't-msp430' for multilib selection, or in the assembler. This is achieved by the driver which places the corresponding mcpu value for the MCU on its command line. Some extensions to msp430.exp were necessary to ensure that full test coverage is achieved when the testsuite is run using "make check". As the tests for different MCUs result in different ISAs/memory models being used, the hard-coded libgloss multilib directories on the command line needed to be fixed up to allow the non-default "430" and "large" multilibs to be tested. The tests could be downgraded from link tests to assemble tests, (the mips testsuite does this), but then we would lose coverage that the spec strings and multilib selection work as expected. The second patch updates the hard-coded MCU data to the latest version. The third patch adds functionality to search the include paths specified with -I for "devices.csv". If the file is found, and a device name has been passed to the -mmcu option, then devices.csv is parsed, and the MCU data for the given device is extracted. The fourth and final patch adds functionality to search for devices.csv in both the path specified by the environment variable "MSP430_GCC_INCLUDE_DIR", and the directory "msp430-elf/include/devices" from the toolchain root. These locations are searched if devices.csv is not found on an include path. If devices.csv is found using one of these methods, the directory containing devices.csv is also registered as an include path and linker library path.