Subject: Re: Compiling applications using cross compiler packs libc

From: Marco Stornelli <[email-masked]>
Date: Mon, 12 May 2008 12:02:59 +0200

Ramkumar J ha scritto:
> Hi All,
> 
> I am trying to execute a compiled simple stand-alone application (
> TestApp_Memory.c compiled with gcc 4.1.0 cross compiler for ppc [ I have
> installed this through crosstool on a Linux PC ] ) on the ML403 Board
> instead of using the compiler-set provided by XPS. I tried many options (
> like --static to gcc) to make the object file little as produced by the XPS
> Compiler Set. I find that when static is provided, the glibc is also packed
> up as a part of application though I never make any calls to the glibc
> libraries. If I dont provide the --static, the gcc produces a code assuming
> the library as shared and hence I get an interp section.
> Is there any way to produce the code  with only the application and NOT the
> glibc ( As XPS compilers does). Am I missing out something. Is there any
> specific flags. I find even nodefaultlib does not work.
> 
> For Eg: This is another example I tried
> 
> int main()
> {
>     int a = 5;
>     int b = 10;
>     int c = 15;
> 
>     c = a + b;
> 
>     c += 12;
> 
>     return 0;
> }
> 
> With --static compilation, size is about 500K for the above code though the
> useful content is too less. objdump reveals unneccessary calls to the libc.
> Any suggestions would be helpful.
> 
> Thanks and Regards,
> Ramkumar
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Linuxppc-embedded mailing list
> [email-masked]
> https://ozlabs.org/mailman/listinfo/linuxppc-embedded
You shouldn't use --static but -Os to have a "little" program. With 
static you include all the libraries in your application therefore you 
have a bigger application. In addition libc are basic libraries so you 
have to use it. If you have size problems you can use uclibc.