[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Tinycc-devel] introduction, patch, and bug report
From: |
Damian Gryski |
Subject: |
[Tinycc-devel] introduction, patch, and bug report |
Date: |
Mon, 22 Aug 2011 21:06:58 +0200 |
Hi,
I've submitted some bug reports and patches for TCC in the past, and I
figured I'd introduce myself before pushing a fix to the mob branch.
My patch adds support for Ubuntu 11.04 x86_64, and possibly others.
Specifically, it fixes the error:
<address@hidden/cvs/tinycc]> cat hw.c
#include <stdio.h>
int main() {
printf("hello, world\n");
}
<address@hidden/cvs/tinycc]> ./tcc hw.c
tcc: error: undefined symbol '__libc_csu_fini'
tcc: error: undefined symbol '__libc_csu_init'
tcc: error: undefined symbol '__libc_start_main'
tcc: error: undefined symbol 'printf'
The problem is that Ubuntu (at least) has libs and some includes in
different directories. I've attached the patch for review. The 'if'
expression in the Makefile could probably be cleaned up.
I was also trying to build Go (golang.org), and encountered a
construct that tcc seems unable to handle, but gcc and clang both deal
with fine. I managed to trim the code down into a minimal test case:
struct Optab
{
unsigned char prefix;
unsigned char op[20];
};
enum
{
Pf3 = 0xf3,
};
struct Optab optab[] =
{
{ 0, Pf3 },
};
The error I get is:
./parseerror-optab.c:16: error: ',' expected (got "?")
Line 16 is the struct constructor. It seems to not like using an enum
as an array initializer.
Damian
ubuntu-64bit.patch
Description: Binary data
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Tinycc-devel] introduction, patch, and bug report,
Damian Gryski <=