On 13 January 2012 11:51, Dennis Clarke wrote:
>
>> Dennis Clarke <dcla...@blastwave.org> writes:
>>
>>>      for (argno = 0; argno < argc; argno++) {
>>>              if (argno < 6)
>>>                      *tsp++ = reg[REG_O0 + argno] = va_arg(ap, long);
>>>              else
>>>                      *tsp++ = va_arg(ap, long);
>>
>> This is broken.  The arguments are of type int, not long.
>
> To be more compliant with IEEE Std 1003.1-2001 ( ISO/IEC 9899:1999
> standard, Section 6.2.5 ) they should be int32_t or similar as
> per stdint.h.

http://pubs.opengroup.org/onlinepubs/009695399/functions/makecontext.html
says the arguments are type int.

Reply via email to