tinycc-devel
[Top][All Lists]
Advanced

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

Re: [Tinycc-devel] How to build a static executable ?


From: Thomas Preud'homme
Subject: Re: [Tinycc-devel] How to build a static executable ?
Date: Mon, 29 Sep 2014 22:52:22 +0800
User-agent: KMail/4.14.1 (Linux/3.16-2-amd64; KDE/4.14.1; x86_64; ; )

Le lundi 29 septembre 2014, 13:39:27 Issam Anour a écrit :
> Hi;
> 
> I didn't manage to build a simple Hello world program statically.
> 
> main.c
> 
> #include <stdio.h>
> 
> int main(int argc, char* argv[]) {
> 
>    printf("Hello world!\n");
>    return 0;
> }
> 
> tcc -static main.c -o main
> 
> output:
> 
> tcc: error: undefined symbol '__rel_iplt_end'
> tcc: error: undefined symbol '__rel_iplt_start'
> tcc: error: undefined symbol '__gcc_personality_v0'
> tcc: error: undefined symbol '_Unwind_Resume'
> tcc: error: undefined symbol '_Unwind_GetIP'
> tcc: error: undefined symbol '_Unwind_GetGR'
> tcc: error: undefined symbol '_Unwind_GetCFA'
> tcc: error: undefined symbol '_Unwind_Backtrace'
> 
> 
> What is the issue ? i have googled and find that libgcc_eh.a is missing, but
> when i like against it using :

Static compilation of executable with tcc is sadly broken for a long time.
 
> tcc /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5/libgcc_eh.a -static
> main.c -o main
> 
> I get the same error.

If you want missing symbol to be resolved from this library it should be last 
on the command line. Something like:

tcc -L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5/ -static main.c -
lgcc_eh.a

> 
> How to resolve the issue ? If this require to build glibc using tcc than i
> didn't manage because the errors from the configure script i already
> mentioned in a previous message.

Honnestly I doubt you can compile glibc with tcc. It probably relies on a lot 
of GCC specific behavior and anyway, the support for inline assembly in tcc is 
not complete. I think we would all welcome any patch to improve this if you 
are motivated but trying to compile glibc will likely lead to an important 
quantity of fixes.
 
> Thank you very much.
> 
> Best regards

Best regards,

Thomas

Attachment: signature.asc
Description: This is a digitally signed message part.


reply via email to

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