From 7f2d3c4f93eed033996f70a07c7665639d72b8cd Mon Sep 17 00:00:00 2001 From: Georg-Johann Lay Date: Mon, 14 Aug 2017 09:14:16 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 10 ++++++++++ gcc/config/avr/avr.c | 4 ++-- gcc/config/avr/avr.md | 4 ++-- gcc/config/avr/avr.opt | 2 +- 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 33a233f18df..5fe0a90a15c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2017-08-14 Georg-Johann Lay + + 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 * config/i386/i386.md (*load_tp_): Redefine as diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c index e453bfb6814..20a444ff32a 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 d17c0b13640..fe5ca303ef7 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 81850e037f6..72955014107 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= -- 2.30.2