This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: static linking error


>> code, looks fine.  However when I try to statically link everything, I
>> get errors, and I don't understand what the root of the problem is.
>
>
> Why are you using -nostdlib and all that?  What happens if you just do
> $(CROSS_COMPILE)gcc test.c -s
> ?
>
> - Dan
>
>

Running "$(CROSS_COMPILE)gcc test.c -s" I get a small binary file that's identical to the one generated if I don't statically link the executable.

I'm trying to create a stand alone executable that I can download to the target system via a jtag interface and have it run. But maybe I'm taking the wrong approach.

If I edit my LDFLAGS line to "LDFLAGS = -static", removing the "-nostdlib -L${TARGET_PREFIX}/lib" stuff, I get the following errors:

ppc-405-linux-gnu-gcc -O2 -Wall -c test.c
ppc-405-linux-gnu-gcc -o test /home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/ppc-405-linux-gnu/lib/crt1.o /home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/ppc-405-linux-gnu/lib/crti.o /home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/lib/gcc-lib/ppc-405-linux-gnu/3.2.3/crtbegin.o test.o -lc /home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/lib/gcc-lib/ppc-405-linux-gnu/3.2.3/crtend.o /home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/ppc-405-linux-gnu/lib/crtn.o -static
/home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/ppc-405-linux-gnu/lib/crt1.o(.text+0x0): In function `_start':
: multiple definition of `_start'
/home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/lib/gcc-lib/ppc-405-linux-gnu/3.2.3/../../../../ppc-405-linux-gnu/lib/crt1.o(.text+0x0): first defined here
/home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/ppc-405-linux-gnu/lib/crt1.o(.rodata+0x10): multiple definition of `_IO_stdin_used'
/home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/lib/gcc-lib/ppc-405-linux-gnu/3.2.3/../../../../
ppc-405-linux-gnu/lib/crt1.o(.rodata+0x10): first defined here
/home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/ppc-405-linux-gnu/lib/crt1.o(.data+0x0): In function `__data_start':
: multiple definition of `__data_start'
/home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/lib/gcc-lib/ppc-405-linux-gnu/3.2.3/../../../../
ppc-405-linux-gnu/lib/crt1.o(.data+0x0): first defined here
/home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/ppc-405-linux-gnu/lib/crti.o(.init+0x0): In function `_init':
/home/skunkworks/crosscompiler/crosstool-0.10/build/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/build-glibc/csu/crti.S:12: multiple definition of `_init'
/home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/lib/gcc-lib/ppc-405-linux-gnu/3.2.3/../../../../
ppc-405-linux-gnu/lib/crti.o(.init+0x0):/home/skunkworks/crosscompiler/
crosstool-0.10/build/ppc-405-linux-gnu/gcc-3.2.3-glibc-2.2.5/
build-glibc/csu/crti.S:12: first defined here
/home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/ppc-405-linux-gnu/lib/crti.o(.fini+0x0): In function `_fini':
: multiple definition of `_fini'
/home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/lib/gcc-lib/ppc-405-linux-gnu/3.2.3/../../../../
ppc-405-linux-gnu/lib/crti.o(.fini+0x0): first defined here
/home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/lib/gcc-lib/ppc-405-linux-gnu/3.2.3/crtbegin.o(.data+0x0): multiple definition of `__dso_handle'
/home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/lib/gcc-lib/ppc-405-linux-gnu/3.2.3/crtbeginT.o(.data+0x0): first defined here
collect2: ld returned 1 exit status
make: *** [test] Error 1





------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]