diff options
author | Georg-Johann Lay <avr@gjlay.de> | 2017-08-14 09:14:16 +0000 |
---|---|---|
committer | Georg-Johann Lay <gjl@gcc.gnu.org> | 2017-08-14 09:14:16 +0000 |
commit | 7f2d3c4f93eed033996f70a07c7665639d72b8cd (patch) | |
tree | cbc33383bd97ce6f57d93243b4cd342855d3e23c /gcc | |
parent | 4e5065e142e1c4a127da378e38769147e93c4a7f (diff) | |
download | gcc-7f2d3c4f93eed033996f70a07c7665639d72b8cd.zip gcc-7f2d3c4f93eed033996f70a07c7665639d72b8cd.tar.gz gcc-7f2d3c4f93eed033996f70a07c7665639d72b8cd.tar.bz2 |
re PR target/81754 (Building of cross compiler avr-elf is broken)
gcc/
PR target/81754
PR target/81268
* config/avr/avr.opt (mgas-isr-prologues): New Var
avr_gasisr_prologues.
* config/avr/avr.md (gasisr, *gasisr): Use it instead of
TARGET_GASISR_PROLOGUES.
* config/avr/avr.c (avr_option_override): Same.
(avr_pass_pre_proep::execute): Same.
From-SVN: r251085
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/config/avr/avr.c | 4 | ||||
-rw-r--r-- | gcc/config/avr/avr.md | 4 | ||||
-rw-r--r-- | gcc/config/avr/avr.opt | 2 |
4 files changed, 15 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 33a233f..5fe0a90 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2017-08-14 Georg-Johann Lay <avr@gjlay.de> + + PR target/81754 + PR target/81268 + * config/avr/avr.opt (mgas-isr-prologues): New Var avr_gasisr_prologues. + * config/avr/avr.md (gasisr, *gasisr): Use it instead of + TARGET_GASISR_PROLOGUES. + * config/avr/avr.c (avr_option_override): Same. + (avr_pass_pre_proep::execute): Same. + 2017-08-13 Uros Bizjak <ubizjak@gmail.com> * config/i386/i386.md (*load_tp_<mode>): Redefine as diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c index e453bfb..20a444f 100644 --- a/gcc/config/avr/avr.c +++ b/gcc/config/avr/avr.c @@ -777,7 +777,7 @@ avr_option_override (void) warning (OPT_fPIE, "-fPIE is not supported"); #if !defined (HAVE_AS_AVR_MGCCISR_OPTION) - TARGET_GASISR_PROLOGUES = 0; + avr_gasisr_prologues = 0; #endif if (!avr_set_core_architecture()) @@ -1459,7 +1459,7 @@ public: virtual unsigned int execute (function *fun) { - if (TARGET_GASISR_PROLOGUES + if (avr_gasisr_prologues // Whether this function is an ISR worth scanning at all. && !fun->machine->is_no_gccisr && (fun->machine->is_interrupt diff --git a/gcc/config/avr/avr.md b/gcc/config/avr/avr.md index d17c0b1..fe5ca30 100644 --- a/gcc/config/avr/avr.md +++ b/gcc/config/avr/avr.md @@ -5819,7 +5819,7 @@ (set (match_dup 2) (unspec_volatile:BLK [(match_dup 2)] UNSPECV_MEMORY_BARRIER))])] - "TARGET_GASISR_PROLOGUES" + "avr_gasisr_prologues" { operands[2] = gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (Pmode)); MEM_VOLATILE_P (operands[2]) = 1; @@ -5833,7 +5833,7 @@ (unspec_volatile:HI [(reg:HI REG_SP)] UNSPECV_GASISR)) (set (match_operand:BLK 2) (unspec_volatile:BLK [(match_dup 2)] UNSPECV_MEMORY_BARRIER))] - "TARGET_GASISR_PROLOGUES" + "avr_gasisr_prologues" "__gcc_isr %0" [(set_attr "length" "6,5") (set_attr "cc" "clobber")]) diff --git a/gcc/config/avr/avr.opt b/gcc/config/avr/avr.opt index 81850e0..7295501 100644 --- a/gcc/config/avr/avr.opt +++ b/gcc/config/avr/avr.opt @@ -27,7 +27,7 @@ Target RejectNegative Joined Var(avr_mmcu) MissingArgError(missing device or arc -mmcu=MCU Select the target MCU. mgas-isr-prologues -Target Report Mask(GASISR_PROLOGUES) +Target Report Var(avr_gasisr_prologues) UInteger Init(0) Allow usage of __gcc_isr pseudo instructions in ISR prologues and epilogues. mn-flash= |