Description of problem: tcc can't build projects due to libc dependencies and errors. Version-Release number of selected component (if applicable): tcc -v tcc version 0.9.23 rpm -q glibc glibc-2.3.5-10.3 $ rpm -q gcc gcc-4.0.2-8.fc4 How reproducible: We've seen this problem on 4 fc4 machines. I don't know of an fc4 machine that doesn't have this problem. Steps to Reproduce: 1) Install fc4 2) Install tcc http://fabrice.bellard.free.fr/tcc/ ./configure make 3) Build a tcc example: tcc -o test ./examples/ex1.c Actual results: tcc: file 'AS_NEEDED' not found /usr/lib/libc.so:3: filename expected /usr/lib/libc.so:3: unrecognized file type /usr/lib/libc.a: '_dl_tls_static_size' defined twice tcc: undefined symbol '_Unwind_Resume' tcc: undefined symbol '__gcc_personality_v0' tcc: undefined symbol '_Unwind_GetIP' tcc: undefined symbol '_Unwind_GetGR' tcc: undefined symbol '_Unwind_GetCFA' tcc: undefined symbol '_Unwind_Backtrace' Expected results: Should build and run without errors. ex1.c implements Hello World. The code in it is: #include <tcclib.h> int main() { printf("Hello World\n"); return 0; } You can check out tcclib.h in the tcc installation. Additional info:
That's tcc's fault, not glibc. libc.so is a linker script (and has been for many years), so if tcc for some weirdo reason uses its own linker and doesn't grok it or looks at it for whatever other reason, it is just its fault and should be fixed there.
You were right. Tcc does parse the linker scripts. We fixed the parser and now it works. Thanks for your help and quick response.