aboutsummaryrefslogtreecommitdiff
path: root/gcc/config.gcc
diff options
context:
space:
mode:
authorJozef Lawrynowicz <jozef.l@mittosystems.com>2019-12-16 11:02:10 +0000
committerJozef Lawrynowicz <jozefl@gcc.gnu.org>2019-12-16 11:02:10 +0000
commite8aa9f55f6486a9503d4f9e6b88b8f81d1daab15 (patch)
tree7d8a497de23ddd18c6c1a5a753ff27c1d0f9e89d /gcc/config.gcc
parent1edfb10a5aa9b8943ea9971dd8261b39327eeae2 (diff)
downloadgcc-e8aa9f55f6486a9503d4f9e6b88b8f81d1daab15.zip
gcc-e8aa9f55f6486a9503d4f9e6b88b8f81d1daab15.tar.gz
gcc-e8aa9f55f6486a9503d4f9e6b88b8f81d1daab15.tar.bz2
MSP430: Add new msp430-elfbare target
contrib/ChangeLog: 2019-12-16 Jozef Lawrynowicz <jozef.l@mittosystems.com> * config-list.mk: Add msp430-elfbare. gcc/ChangeLog: 2019-12-16 Jozef Lawrynowicz <jozef.l@mittosystems.com> * config.gcc: s/msp430*-*-*/msp430-*-*. Handle msp430-*-elfbare. * config/msp430/msp430-devices.c (TARGET_SUBDIR): Define. (_MSPMKSTR): Define. (__MSPMKSTR): Define. (rest_of_devices_path): Use TARGET_SUBDIR value in string. * config/msp430/msp430.c (msp430_option_override): Error if -fuse-cxa-atexit is used when it has been disabled at configure time. * config/msp430/t-msp430: Define TARGET_SUBDIR when building msp430-devices.o. * doc/install.texi: Document msp430-*-elf and msp430-*-elfbare. * doc/invoke.texi: Update documentation about which path devices.csv is searched for. gcc/testsuite/ChangeLog: 2019-12-16 Jozef Lawrynowicz <jozef.l@mittosystems.com> * g++.dg/init/dso_handle1.C: Require cxa_atexit support. * g++.dg/init/dso_handle2.C: Likewise. * g++.dg/other/cxa-atexit1.C: Likewise. * gcc.target/msp430/msp430.exp: Update csv-using-installed.c test to handle msp430-elfbare configuration. libgcc/ChangeLog: 2019-12-16 Jozef Lawrynowicz <jozef.l@mittosystems.com> * config.host: s/msp430*-*-elf/msp430-*-elf*. Override default "extra_parts" variable. * configure: Regenerate. * configure.ac: Disable TM clone registry by default for msp430-elfbare. From-SVN: r279442
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r--gcc/config.gcc14
1 files changed, 13 insertions, 1 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 5aa0130..9802f43 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -2624,7 +2624,7 @@ mn10300-*-*)
use_collect2=no
use_gcc_stdint=wrap
;;
-msp430*-*-*)
+msp430-*-*)
tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
c_target_objs="msp430-c.o"
cxx_target_objs="msp430-c.o"
@@ -2637,6 +2637,18 @@ msp430*-*-*)
if test x${disable_initfini_array} != xyes; then
gcc_cv_initfini_array=yes
fi
+ case ${target} in
+ msp430-*-elfbare)
+ # __cxa_atexit increases code size, and we don't need to support
+ # dynamic shared objects on MSP430, so regular Newlib atexit is a
+ # fine replacement as it also supports registration of more than 32
+ # functions.
+ default_use_cxa_atexit=no
+ # This target does not match the generic *-*-elf case above which
+ # sets use_gcc_stdint=wrap, so explicitly set it here.
+ use_gcc_stdint=wrap
+ ;;
+ esac
;;
nds32*-*-*)
target_cpu_default="0"