aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorg-Johann Lay <avr@gjlay.de>2017-08-14 09:14:16 +0000
committerGeorg-Johann Lay <gjl@gcc.gnu.org>2017-08-14 09:14:16 +0000
commit7f2d3c4f93eed033996f70a07c7665639d72b8cd (patch)
treecbc33383bd97ce6f57d93243b4cd342855d3e23c
parent4e5065e142e1c4a127da378e38769147e93c4a7f (diff)
downloadgcc-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
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/config/avr/avr.c4
-rw-r--r--gcc/config/avr/avr.md4
-rw-r--r--gcc/config/avr/avr.opt2
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=