Hello. One piece of the ssp patch doesn't patch on to gcc-3.4.4.. in gcc-3.4.3
we have this:
@@ -1449,7 +1464,9 @@
}
if (new == 0)
- new = assign_stack_local_1 (decl_mode, GET_MODE_SIZE (decl_mode), 0,
func);
+ 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);
PUT_CODE (reg, MEM);
PUT_MODE (reg, decl_mode);
In the patch for gcc-3.4.4 I used this:
@@ -1457,8 +1472,11 @@
}
if (new == 0)
- new = assign_stack_local_1 (decl_mode, GET_MODE_SIZE (decl_mode),
- consecutive_p ? -2 : 0, func);
+ new = function ?
+ 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);
As you can see gcc-3.4.4's version has extra variables or arguments in
assign_stack_local_1. I think my modification is reasonable.. The
gcc-3.4.4-ssp-1.patch I made passes the testsuites, and otherwise works fine
as far as I can see.
robert
--
http://linuxfromscratch.org/mailman/listinfo/hlfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page