MSP430: Add new methods of finding external MCU data file
authorJozef Lawrynowicz <jozef.l@mittosystems.com>
Mon, 4 Nov 2019 11:01:03 +0000 (11:01 +0000)
committerJozef Lawrynowicz <jozefl@gcc.gnu.org>
Mon, 4 Nov 2019 11:01:03 +0000 (11:01 +0000)
commitd7eabfd452f6f447ca8f3a955e7a4b531884fadb
tree7654a0733dcf2cd4ab85896373c854912bda4b7c
parentb76f4e6c06bd494d2383c4c16d1e1a034da74641
MSP430: Add new methods of finding external MCU data file

MCU data file can now be specified with an environment variable or installed
into a toolchain subdirectory.

2019-11-04  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

gcc/
* config/msp430/driver-msp430.c
(msp430_get_linker_devices_include_path): New spec function.
* config/msp430/msp430-devices.c (msp430_dirname): New function.
(extract_devices_dir_from_exec_prefix): New function.
(extract_devices_dir_from_collect_gcc): New function.
(msp430_check_env_var_for_devices): New function.
(msp430_check_path_for_devices): Use xstrdup instead of ASTRDUP.
(parse_devices_csv): Call msp430_check_env_var_for_devices if
devices.csv was not found using other methods.
* config/msp430/msp430-devices.h (msp430_check_env_var_for_devices):
New prototype.
(msp430_dirname): Likewise.
* config/msp430/msp430.c (msp430_register_pre_includes): New function.
* config/msp430/msp430.h (EXTRA_SPEC_FUNCTIONS): Add
msp430_get_linker_devices_include_path.
(TARGET_EXTRA_PRE_INCLUDES): Define.
* doc/invoke.texi: Document new ways of searching for support files.

gcc/testsuite/
* gcc.target/msp430/devices/csv-using-env-var.c: New test.
* gcc.target/msp430/devices/csv-using-installed.c: New test.
* gcc.target/msp430/devices/csv-using-option.c: New test.
* gcc.target/msp430/devices/devices-main.c: New test source file.
* gcc.target/msp430/devices/msp430-devices.h: New test.
* gcc.target/msp430/msp430.exp (msp430_device_permutations_runtest):
Add special cases for csv-using* tests.
Define TESTING_HARD_DATA when running tests that use hard-coded device
data.
(get_installed_device_data_path): New.
(msp430_hide_installed_devices_data): New.
(msp430_restore_installed_devices_data): New.
(msp430_test_installed_device_data): New.
(msp430_install_device_data): New.

From-SVN: r277772
14 files changed:
gcc/ChangeLog
gcc/config/msp430/driver-msp430.c
gcc/config/msp430/msp430-devices.c
gcc/config/msp430/msp430-devices.h
gcc/config/msp430/msp430.c
gcc/config/msp430/msp430.h
gcc/doc/invoke.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/msp430/devices/csv-using-env-var.c [new file with mode: 0644]
gcc/testsuite/gcc.target/msp430/devices/csv-using-installed.c [new file with mode: 0644]
gcc/testsuite/gcc.target/msp430/devices/csv-using-option.c [new file with mode: 0644]
gcc/testsuite/gcc.target/msp430/devices/devices-main.c
gcc/testsuite/gcc.target/msp430/devices/msp430-devices.h [new file with mode: 0644]
gcc/testsuite/gcc.target/msp430/msp430.exp