[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Tinycc-devel] va_* broken on x86-64: any volonteer?
From: |
Thomas Preud'homme |
Subject: |
[Tinycc-devel] va_* broken on x86-64: any volonteer? |
Date: |
Wed, 08 Jan 2014 15:22:35 +0800 |
User-agent: |
KMail/4.11.3 (Linux/2.6.38-ac2-ac100; KDE/4.11.3; armv7l; ; ) |
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] va_* broken on x86-64: any volonteer?,
Thomas Preud'homme <=