lang/tcc unusable

Carlos Jacobo Puga Medina cpm at fbsd.es
Tue Aug 4 15:03:27 UTC 2015


El lun, 03-08-2015 a las 20:22 -0400, Jung-uk Kim escribió:
> On 08/03/2015 19:23, Carlos Jacobo Puga Medina wrote:
> > El lun, 03-08-2015 a las 18:26 -0400, Jung-uk Kim escribió:
> > > On 08/03/2015 17:40, Carlos Jacobo Puga Medina wrote:
> > > > El lun, 03-08-2015 a las 17:26 -0400, Jung-uk Kim escribió:
> > > > > On 08/03/2015 16:41, Carlos Jacobo Puga Medina wrote:
> > > > > > El lun, 03-08-2015 a las 16:33 -0400, Jung-uk Kim 
> > > > > > escribió:
> > > > > > 
> > > > > > Hi Jung-uk,

> > > > > > > On 08/03/2015 16:26, Carlos Jacobo Puga Medina wrote:
> > > > > > > > Hi people,
> > > > > > > > 
> > > > > > > > Recently I added amd64 support to TinyCC, but I 
> > > > > > > > encounter the following problem trying to compile a 
> > > > > > > > simple code.
> > > > > > > > 
> > > > > > > > #include <stdio.h>
> > > > > > > > 
> > > > > > > > int main(){ printf("hello, world!\n); return 0; }
> > > > > > > > 
> > > > > > > > % tcc -o hello hello.c In file included from
> > > > > > > > hello.c:1: /usr/include/stdio.h:63: error: ';' expected
> > > > > > > > (got "va_list")
> > > > > > > > 
> > > > > > > > I guess that some change introduced in 'stdio.h' causes
> > > > > > > > this weird behaviour. Last time that TCC worked fine
> > > > > > > > was on FreeBSD 9.1 -RELEASE/i386.
> > > > > > > > 
> > > > > > > > Also I reported this problem in the tinycc-devel 
> > > > > > > > mailing list [1]
> > > > > > > > 
> > > > > > > > Any thoughts?
> > > > > > > 
> > > > > > > I haven't tried tcc but '"' is missing for the printf().
> > > > > > 
> > > > > > Yes, it was a typo here :)
> > > > > 
> > > > > It seems it's a known tcc bug:
> > > > > 
> > > > > http://savannah.nongnu.org/bugs/?30966
> > > > > 
> > > > 
> > > > Is there something that we can do about it?
> > > > 
> > > > Thanks for pointing me, jkim@
> > > 
> > > It seems there is no easy way to fix this problem without 
> > > touching src tree, e.g.,
> > > 
> > > --- sys/x86/include/_types.h	(revision 286256) +++ 
> > > sys/x86/include/_types.h	(working copy) @@ -152,7 +152,7 
> > > @@ */ 
> > > #ifdef __GNUCLIKE_BUILTIN_VARARGS typedef	__builtin_va_lis
> > > t 
> > > __va_list;	/* internally known to gcc */ -#elif 
> > > defined(lint) 
> > > +#elif defined(__TINYC__) || defined(lint) typedef	char * 
> > > __va_list;	/* pretend */ #endif #if 
> > > defined(__GNUC_VA_LIST_COMPATIBILITY) &&
> > > !defined(__GNUC_VA_LIST) \
> > > 
> > 
> > If you need doing some changes into the src tree.
> 
> https://svnweb.freebsd.org/changeset/base/286265
> 

That's OK! 

> > So, what do you recommend in such case? Would it be much trouble 
> > add the necessary changes to run TCC again? Furthermore, TinyCC 
> > developer has ignored this issue completely.
> 
> The only hack I see is defining __va_list as a macro from libtcc.c 
> but
> it is ugly.
> 

Probably this should be discussed in the tinycc-devel ML. In the
meanwhile we can try your dirty hack :-)
--
Carlos Jacobo Puga Medina <cpm at fbsd.es>
PGP fingerprint = C60E 9497 5302 793B CC2D  BB89 A1F3 5D66 E6D0 5453
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20150804/5a040045/attachment.bin>


More information about the freebsd-ports mailing list