* calls.c (emit_library_call_value_1): Use slot_offset instead of
offset when calculating bounds for indexing stack_usage_map. Fixes
a buffer overflow with certain target setups.
From-SVN: r144317
+2009-02-20 Jaka Mocnik <jaka@xlab.si>
+
+ * calls.c (emit_library_call_value_1): Use slot_offset instead of
+ offset when calculating bounds for indexing stack_usage_map. Fixes
+ a buffer overflow with certain target setups.
+
2009-02-20 Jakub Jelinek <jakub@redhat.com>
PR target/39240
#ifdef ARGS_GROW_DOWNWARD
/* stack_slot is negative, but we want to index stack_usage_map
with positive values. */
- upper_bound = -argvec[argnum].locate.offset.constant + 1;
+ upper_bound = -argvec[argnum].locate.slot_offset.constant + 1;
lower_bound = upper_bound - argvec[argnum].locate.size.constant;
#else
- lower_bound = argvec[argnum].locate.offset.constant;
+ lower_bound = argvec[argnum].locate.slot_offset.constant;
upper_bound = lower_bound + argvec[argnum].locate.size.constant;
#endif