Compiling applications using cross compiler packs libc
Marco Stornelli
marco.stornelli at coritel.it
Mon May 12 20:02:59 EST 2008
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
> Linuxppc-embedded at ozlabs.org
> 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.
More information about the Linuxppc-embedded
mailing list