lang/tcc unusable
Jung-uk Kim
jkim at FreeBSD.org
Tue Aug 4 21:40:38 UTC 2015
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
On 08/04/2015 11:03, Carlos Jacobo Puga Medina wrote:
> 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 :-)
See the attached patch. Yes, it is ugly. ;-)
Jung-uk Kim
PS: I took the liberty of adding __LP64__ and __amd64__ while I am here.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQEcBAEBCAAGBQJVwTFQAAoJEHyflib82/FGHDEH/3CxYb3Y6oNN5kvy9IdmsdoA
KePyBqhUrEh/Akgn+J6u5ZKG6j7sstVszZzi4Ri7Xb+rBSztwSPc+ChxeosOwvmn
Ushii3EpblG8qvWuDvoLCJP8xmkhQ6NHHM/vcvYzG5w68YxCxc1yu60M5bioiAP/
B1hbWhA+sPmovEKeTXfV2spNRUQyKqy5OxGq1v7OVf7amgfoLMZ0Su04OKAXHX4o
GXfUI/jcIBiGCYzFC+7yin/JJblN1gPmgRj3LXAWg++GDvF54hwm3jvSs8qrl8Lr
hi7Qbz738wzHhkYoJ1U4jFqvtJNMAK/eSP0Sq52kCrhwDDGMpe/AyNZiQgc5koI=
=IcGS
-----END PGP SIGNATURE-----
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tcc.diff
Type: text/x-patch
Size: 3688 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20150804/fffdbca0/attachment.bin>
More information about the freebsd-ports
mailing list