[COMMITTED] sparc: Fix sparc32 Fix argument passing to __libc_start_main (BZ 32981)
Adhemerval Zanella Netto
adhemerval.zanella@linaro.org
Wed Jun 18 16:16:58 GMT 2025
On 18/06/25 11:32, Andreas Schwab wrote:
> On Jun 18 2025, Adhemerval Zanella wrote:
>
>> diff --git a/sysdeps/sparc/sparc32/start.S b/sysdeps/sparc/sparc32/start.S
>> index cef7c96cac..8393760da6 100644
>> --- a/sysdeps/sparc/sparc32/start.S
>> +++ b/sysdeps/sparc/sparc32/start.S
>> @@ -35,6 +35,7 @@
>>
>> #include <sysdep.h>
>>
>> +#define FRAME_SIZE 104
>>
>> .section ".text"
>> .align 4
>> @@ -48,12 +49,12 @@ _start:
>> /* Terminate the stack frame, and reserve space for functions to
>> drop their arguments. */
>> mov %g0, %fp
>> - sub %sp, 6*4, %sp
>> + sub %sp, FRAME_SIZE, %sp
>>
>> /* Extract the arguments and environment as encoded on the stack. The
>> argument info starts after one register window (16 words) past the SP. */
>> - ld [%sp+22*4], %o1
>> - add %sp, 23*4, %o2
>> + ld [%sp+168], %o1
>> + add %sp, 172, %o2
>
> FRAME_SIZE+64?
Hum, it did not cross my mind but it makes sense.
More information about the Libc-alpha
mailing list