Greetings,

During a recent test on x86-64 machine I noticed that support for variadic 
function is broken on x86-64 port of tcc. Basically, __va_* no longer exists 
and so the linker complains. Looking at gcc, va_* macros are replaced by 
internal symbols __builtin_va_* which gcc process to find the position of 
argument on stack according to x86-64 calling convention. I quickly glanced at 
gcc's source and what I could see is that the calling convention is more 
complicated than on i386 (i386 uses the generic implementation while x86-64 
has a dedicated function). Since you worked in the past on x86-64_gen.c I 
guess you must be more familiar than me with this calling convention.

Would any of you feel like taking a stab at it?

Best regards,

Thomas

_______________________________________________
Tinycc-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/tinycc-devel

Reply via email to