|
# --- ROCK-COPYRIGHT-NOTE-BEGIN ---
|
|
#
|
|
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
|
|
# Please add additional copyright information _after_ the line containing
|
|
# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
|
|
# the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
|
|
#
|
|
# ROCK Linux: rock-src/package/base/gcc/gcc33/protector-hotfix.diff
|
|
# ROCK Linux is Copyright (C) 1998 - 2006 Clifford Wolf
|
|
#
|
|
# This patch file is dual-licensed. It is available under the license the
|
|
# patched project is licensed under, as long as it is an OpenSource license
|
|
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
|
|
# of the GNU General Public License as published by the Free Software
|
|
# Foundation; either version 2 of the License, or (at your option) any later
|
|
# version.
|
|
#
|
|
# --- ROCK-COPYRIGHT-NOTE-END ---
|
|
|
|
--- ./protector.dif.orig 2005-12-12 18:08:37.000000000 +0100
|
|
+++ ./protector.dif 2005-12-12 18:09:04.000000000 +0100
|
|
@@ -573,24 +573,23 @@
|
|
/* P comes after Q; combine P into Q. */
|
|
q->size += p->size;
|
|
*************** put_reg_into_stack (function, reg, type,
|
|
-*** 1497,1503 ****
|
|
- new = func->x_parm_reg_stack_loc[regno];
|
|
+*** 1513,1518 ****
|
|
|
|
if (new == 0)
|
|
-! new = assign_stack_local_1 (decl_mode, GET_MODE_SIZE (decl_mode), 0, func);
|
|
+! new = assign_stack_local_1 (decl_mode, GET_MODE_SIZE (decl_mode),
|
|
+! consecutive_p ? -2 : 0, func);
|
|
|
|
PUT_CODE (reg, MEM);
|
|
- PUT_MODE (reg, decl_mode);
|
|
---- 1512,1520 ----
|
|
- new = func->x_parm_reg_stack_loc[regno];
|
|
+--- 1513,1521 ----
|
|
|
|
if (new == 0)
|
|
! new = function ?
|
|
-! assign_stack_local_1 (decl_mode, GET_MODE_SIZE (decl_mode), 0, func):
|
|
-! assign_stack_local_for_pseudo_reg (decl_mode, GET_MODE_SIZE (decl_mode), 0);
|
|
+! assign_stack_local_1 (decl_mode, GET_MODE_SIZE (decl_mode),
|
|
+! consecutive_p ? -2 : 0, func) :
|
|
+! assign_stack_local_for_pseudo_reg (decl_mode, GET_MODE_SIZE (decl_mode),
|
|
+! consecutive_p ? -2 : 0);
|
|
|
|
PUT_CODE (reg, MEM);
|
|
- PUT_MODE (reg, decl_mode);
|
|
*************** instantiate_virtual_regs_1 (loc, object,
|
|
*** 3961,3967 ****
|
|
constant with that register. */
|