ping
On 29/10/2018 14:22, Jozef Lawrynowicz wrote:
The same as previous pings except I removed the patch which updates the
hard-coded device data - I'll commit that later as "obvious".
Ok for trunk?
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 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 third 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.