tinycc-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Tinycc-devel] va_* broken on x86-64: any volonteer?


From: shinichiro hamaji
Subject: Re: [Tinycc-devel] va_* broken on x86-64: any volonteer?
Date: Thu, 9 Jan 2014 00:20:12 +0900

Hi,

I'm happy to look into this, but I cannot reproduce the issue so far. I have built GCC git head and did

$ make CC=/usr/local/stow/gcc-git/bin/gcc clean
$ make CC=/usr/local/stow/gcc-git/bin/gcc
$ make CC=/usr/local/stow/gcc-git/bin/gcc test

and it finished successfully. Could you tell me your OS, the version of GCC, the version of binutils, and the actual error message?

Thanks!



On Wed, Jan 8, 2014 at 4:22 PM, Thomas Preud'homme <address@hidden> wrote:
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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]