aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1993-04-04 10:09:44 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1993-04-04 10:09:44 -0400
commit7f5bd4ffdedda9ff5c0eb4b6b6d94f40e783eb72 (patch)
tree6a6c024bebc1eccdc0d908cb1a558a7ec6a30477
parent0275a51bf47f184ab70ad69df15aef52d5997192 (diff)
downloadgcc-7f5bd4ffdedda9ff5c0eb4b6b6d94f40e783eb72.zip
gcc-7f5bd4ffdedda9ff5c0eb4b6b6d94f40e783eb72.tar.gz
gcc-7f5bd4ffdedda9ff5c0eb4b6b6d94f40e783eb72.tar.bz2
(SETUP_INCOMING_VARARGS): Adjust for fact that
virtual_incoming_args_rtx includes pretend size. (LINK_SPEC): Don't pass -O2 to ld; it seems to be broken. From-SVN: r4002
-rw-r--r--gcc/config/alpha/alpha.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/config/alpha/alpha.h b/gcc/config/alpha/alpha.h
index c69aade..a05651e 100644
--- a/gcc/config/alpha/alpha.h
+++ b/gcc/config/alpha/alpha.h
@@ -51,8 +51,9 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
/* Pass "-G 8" to ld because Alpha's CC does. Pass -O2 if we are optimizing,
-O1 if we are not. Pass -non_shared or -call_shared as appropriate. */
+/* Disable -O2 to ld; it seems to have problems. */
#define LINK_SPEC \
- "-G 8 %{O*:-O2} %{!O*:-O1} %{static:-non_shared} %{!static:-call_shared}"
+ "-G 8 %{O*:-O1} %{!O*:-O1} %{static:-non_shared} %{!static:-call_shared}"
/* Print subsidiary information on the compiler version in use. */
#define TARGET_VERSION
@@ -804,13 +805,13 @@ enum reg_class { NO_REGS, GENERAL_REGS, FLOAT_REGS, ALL_REGS,
(16 + CUM, \
gen_rtx (MEM, BLKmode, \
plus_constant (virtual_incoming_args_rtx, \
- ((CUM) - 6) * UNITS_PER_WORD)), \
+ ((CUM) + 6)* UNITS_PER_WORD)), \
6 - (CUM)); \
move_block_from_reg \
(16 + 32 + CUM, \
gen_rtx (MEM, BLKmode, \
plus_constant (virtual_incoming_args_rtx, \
- ((CUM) - 12) * UNITS_PER_WORD)), \
+ (CUM) * UNITS_PER_WORD)), \
6 - (CUM)); \
} \
PRETEND_SIZE = 12 * UNITS_PER_WORD; \