From 3b16363e1aa7ff2a614290db89f853b995807601 Mon Sep 17 00:00:00 2001 From: DJ Delorie Date: Wed, 29 Jan 2014 21:57:41 -0500 Subject: [PATCH] msp430.opt (-minrt): New. * config/msp430/msp430.opt (-minrt): New. * config/msp430/msp430.h (STARTFILE_SPEC): Link alternate runtime if -minrt given. (ENDFILE_SPEC): Likewise. From-SVN: r207294 --- gcc/ChangeLog | 7 +++++++ gcc/config/msp430/msp430.h | 4 ++-- gcc/config/msp430/msp430.opt | 4 ++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5dba715e4b72..ec72eb201496 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2014-01-29 DJ Delorie + + * config/msp430/msp430.opt (-minrt): New. + * config/msp430/msp430.h (STARTFILE_SPEC): Link alternate runtime + if -minrt given. + (ENDFILE_SPEC): Likewise. + 2014-01-29 Jan Hubicka * ipa-inline-analysis.c (clobber_only_eh_bb_p): New function. diff --git a/gcc/config/msp430/msp430.h b/gcc/config/msp430/msp430.h index c3aeefedb5a6..1afbfd44dbe2 100644 --- a/gcc/config/msp430/msp430.h +++ b/gcc/config/msp430/msp430.h @@ -45,11 +45,11 @@ extern bool msp430x; while (0) #undef STARTFILE_SPEC -#define STARTFILE_SPEC "%{pg:gcrt0.o%s}%{!pg:crt0.o%s} crtbegin.o%s" +#define STARTFILE_SPEC "%{pg:gcrt0.o%s}%{!pg:%{minrt:crt0-minrt.o%s}%{!minrt:crt0.o%s}} %{!minrt:crtbegin.o%s}" /* -lgcc is included because crtend.o needs __mspabi_func_epilog_1. */ #undef ENDFILE_SPEC -#define ENDFILE_SPEC "crtend.o%s crtn.o%s -lgcc" +#define ENDFILE_SPEC "%{!minrt:crtend.o%s} %{minrt:crtn-minrt.o%s}%{!minrt:crtn.o%s} -lgcc" #define ASM_SPEC "-mP " /* Enable polymorphic instructions. */ \ "%{mcpu=*:-mcpu=%*}%{!mcpu=*:%{mmcu=*:-mmcu=%*}} " /* Pass the CPU type on to the assembler. */ \ diff --git a/gcc/config/msp430/msp430.opt b/gcc/config/msp430/msp430.opt index 047037b31aac..1f1d61c4c10a 100644 --- a/gcc/config/msp430/msp430.opt +++ b/gcc/config/msp430/msp430.opt @@ -28,3 +28,7 @@ Optimize opcode sizes at link time mOs Target Undocumented Mask(OPT_SPACE) + +minrt +Target Report Mask(MINRT) RejectNegative +Use a minimum runtime (no static initializers or ctors) for memory-constrained devices. -- 2.47.2