Change breaking the PA port
Jeffrey A Law
law@cygnus.com
Fri Jul 21 17:29:00 GMT 2000
2000-07-13 Jakub Jelinek <jakub@redhat.com>
* calls.c (stored_args_map): New variable.
(check_sibcall_argument_overlap_1): New.
(check_sibcall_argument_overlap): New.
(expand_call): Initialize stored_args_map.
Call check_sibcall_argument_overlap.
check_sibcall_argument_overlap has code like this:
low = arg->offset.constant;
for (high = low + arg->size.constant; low < high; low++)
SET_BIT (stored_args_map, low);
If arg->offset.constant is negative (as happens regularly on the PA), then
we segfault or just set random bits elsewhere in memory. Bad.
jeff
More information about the Gcc
mailing list