From 22d6ea6aea307958e36bc0990565e8b147d33288 Mon Sep 17 00:00:00 2001 From: Rainer Orth Date: Mon, 14 Mar 2016 10:03:12 +0000 Subject: [PATCH] Only assume 4-byte stack alignment on Solaris/x86 (PR target/62281) Backport from mainline: 2016-03-07 Rainer Orth PR target/62281 * config/i386/sol2.h (STACK_REALIGN_DEFAULT): Define. Revert: 2014-02-11 Rainer Orth PR libgomp/60107 * config/i386/sol2-9.h: New file. * config.gcc (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*, *-*-solaris2.9*): Use it. From-SVN: r234180 --- gcc/ChangeLog | 16 ++++++++++++++++ gcc/config.gcc | 3 --- gcc/config/i386/sol2-9.h | 23 ----------------------- gcc/config/i386/sol2.h | 5 +++++ 4 files changed, 21 insertions(+), 26 deletions(-) delete mode 100644 gcc/config/i386/sol2-9.h diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 04aed8712961..c626a6f9d526 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,19 @@ +2016-03-14 Rainer Orth + + Backport from mainline: + 2016-03-07 Rainer Orth + + PR target/62281 + * config/i386/sol2.h (STACK_REALIGN_DEFAULT): Define. + + Revert: + 2014-02-11 Rainer Orth + + PR libgomp/60107 + * config/i386/sol2-9.h: New file. + * config.gcc (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*, + *-*-solaris2.9*): Use it. + 2016-03-10 Alan Modra PR rtl-optimization/69195 diff --git a/gcc/config.gcc b/gcc/config.gcc index 7ade8e5d5f69..f02ddbd51b4f 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -1542,9 +1542,6 @@ i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*) esac with_tune_32=${with_tune_32:-generic} case ${target} in - *-*-solaris2.9*) - tm_file="${tm_file} i386/sol2-9.h" - ;; *-*-solaris2.1[0-9]*) tm_file="${tm_file} i386/x86-64.h i386/sol2-bi.h sol2-bi.h" tm_defines="${tm_defines} TARGET_BI_ARCH=1" diff --git a/gcc/config/i386/sol2-9.h b/gcc/config/i386/sol2-9.h deleted file mode 100644 index 9ae88aae5dc9..000000000000 --- a/gcc/config/i386/sol2-9.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Target definitions for GCC for Intel 80386 running Solaris 9 - Copyright (C) 2014 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -/* Solaris 9 only guarantees 4-byte stack alignment as required by the i386 - psABI, so realign it as necessary for SSE instructions. */ -#undef STACK_REALIGN_DEFAULT -#define STACK_REALIGN_DEFAULT 1 diff --git a/gcc/config/i386/sol2.h b/gcc/config/i386/sol2.h index 8a21a59109db..2ce7a401848e 100644 --- a/gcc/config/i386/sol2.h +++ b/gcc/config/i386/sol2.h @@ -25,6 +25,11 @@ along with GCC; see the file COPYING3. If not see #define TARGET_SUBTARGET_DEFAULT \ (MASK_80387 | MASK_IEEE_FP | MASK_FLOAT_RETURNS | MASK_VECT8_RETURNS) +/* 32-bit Solaris/x86 only guarantees 4-byte stack alignment as required by + the i386 psABI, so realign it as necessary for SSE instructions. */ +#undef STACK_REALIGN_DEFAULT +#define STACK_REALIGN_DEFAULT (TARGET_64BIT ? 0 : 1) + /* Old versions of the Solaris assembler can not handle the difference of labels in different sections, so force DW_EH_PE_datarel. */ #undef ASM_PREFERRED_EH_DATA_FORMAT -- 2.47.2