[PATCH] correct parameter alignment for library calls in calls.c

Ian Lance Taylor iant@google.com
Mon Jan 12 18:58:00 GMT 2009


Hariharan <hariharans@picochip.com> writes:

>> Index: gcc/calls.c
>> ===================================================================
>> --- gcc/calls.c (revision 132323)
>> +++ gcc/calls.c (working copy)
>> @@ -3660,6 +3660,7 @@
>>       rtx val = argvec[argnum].value;
>>       rtx reg = argvec[argnum].reg;
>>       int partial = argvec[argnum].partial;
>> +      unsigned int parm_align = argvec[argnum].locate.boundary;
>>       int lower_bound = 0, upper_bound = 0, i;
>>
>>       if (! (reg != 0 && partial == 0))
>> @@ -3721,7 +3722,7 @@
>>                }
>>            }
>>
>> -         emit_push_insn (val, mode, NULL_TREE, NULL_RTX, PARM_BOUNDARY,
>> +         emit_push_insn (val, mode, NULL_TREE, NULL_RTX, parm_align,
>>                          partial, reg, 0, argblock,
>>                          GEN_INT (argvec[argnum].locate.offset.constant),
>>                          reg_parm_stack_space,
>>
>>

This patch is OK for gcc 4.5 with a ChangeLog entry.  (Mainline is
currently only open for patches which fix regressions, and I would
prefer that this patch get wider testing before a release.)

Thanks.  Sorry for the slow review.

Ian



More information about the Gcc-patches mailing list