newbie : cross compiler for powerpc from linux i686 RH7.2
Dennis Tubbs
dennistubbs@wageswebworks.com
Thu Sep 12 02:37:00 GMT 2002
Vishwas,
Most of your errors should be resolved in the linker command file, which
leads me to believe you are not using one. _start is usually defined in the
file crt0.o or something similar. See the linker switch -T.
Dennis
-----Original Message-----
From: crossgcc-owner@sources.redhat.com
[mailto:crossgcc-owner@sources.redhat.com]On Behalf Of
Vishwas.More@nokia.com
Sent: Wednesday, September 11, 2002 12:57 PM
To: crossgcc@sources.redhat.com
Cc: Vishwas.More@nokia.com
Subject: newbie : cross compiler for powerpc from linux i686 RH7.2
Hi gurus
sorry for this question ( you must have seen it many times ).. but even
after going thru the CrossGCC and lists i am having problems getting a cross
compiled gcc for powerpc from a linux Red hat 7.2 host..
I dont get any compilation errors during the build steps ( i have given the
steps in the end of this mail ) :
but when i try to compile a simple printf hello program
i get a LOT of errors :
-------------------------------------
vmore@EFS_VW2[133] >) powerpc-eabi-gcc hello.c
/usr/vmore/gnutools/cross-power-eabi-tools/target/powerpc-eabi/bin/ld:
warning: cannot find entry symbol _start; defaulting to 01800074
/tmp/ccnaV6fl.o: In function `main':
/tmp/ccnaV6fl.o(.text+0x24): undefined reference to `printf'
/usr/vmore/gnutools/cross-power-eabi-tools/target/lib/gcc-lib/powerpc-eabi/2
.95.3/libgcc.a(eabi.o)(.got2+0x8): undefined reference to `__SDATA_START__'
/usr/vmore/gnutools/cross-power-eabi-tools/target/lib/gcc-lib/powerpc-eabi/2
.95.3/libgcc.a(eabi.o)(.got2+0xc): undefined reference to `__SBSS_END__'
/usr/vmore/gnutools/cross-power-eabi-tools/target/lib/gcc-lib/powerpc-eabi/2
.95.3/libgcc.a(eabi.o)(.got2+0x14): undefined reference to
`__SDATA2_START__'
/usr/vmore/gnutools/cross-power-eabi-tools/target/lib/gcc-lib/powerpc-eabi/2
.95.3/libgcc.a(eabi.o)(.got2+0x18): undefined reference to `__SBSS2_END__'
/usr/vmore/gnutools/cross-power-eabi-tools/target/lib/gcc-lib/powerpc-eabi/2
.95.3/libgcc.a(eabi-ctors.o): In function `__do_global_ctors':
/usr/vmore/gnutools/cross-power-eabi-tools/build/gcc/gcc/eabi-ctors.c(.text+
0x1e): undefined reference to `__CTOR_END__'
/usr/vmore/gnutools/cross-power-eabi-tools/build/gcc/gcc/eabi-ctors.c(.text+
0x26): undefined reference to `__CTOR_LIST__'
/usr/vmore/gnutools/cross-power-eabi-tools/build/gcc/gcc/eabi-ctors.c(.text+
0x2a): undefined reference to `__CTOR_LIST__'
/usr/vmore/gnutools/cross-power-eabi-tools/build/gcc/gcc/eabi-ctors.c(.text+
0x2e): undefined reference to `__CTOR_END__'
/usr/vmore/gnutools/cross-power-eabi-tools/target/lib/gcc-lib/powerpc-eabi/2
.95.3/libgcc.a(eabi-ctors.o): In function `__do_global_dtors':
/usr/vmore/gnutools/cross-power-eabi-tools/build/gcc/gcc/eabi-ctors.c(.text+
0xae): undefined reference to `__DTOR_LIST__'
/usr/vmore/gnutools/cross-power-eabi-tools/build/gcc/gcc/eabi-ctors.c(.text+
0xb6): undefined reference to `__DTOR_END__'
/usr/vmore/gnutools/cross-power-eabi-tools/build/gcc/gcc/eabi-ctors.c(.text+
0xba): undefined reference to `__DTOR_END__'
/usr/vmore/gnutools/cross-power-eabi-tools/build/gcc/gcc/eabi-ctors.c(.text+
0xbe): undefined reference to `__DTOR_LIST__'
/usr/vmore/gnutools/cross-power-eabi-tools/target/lib/gcc-lib/powerpc-eabi/2
.95.3/libgcc.a(eabi-ctors.o): In function `__do_global_ctors':
/usr/vmore/gnutools/cross-power-eabi-tools/build/gcc/gcc/eabi-ctors.c(.sdata
+0x0): undefined reference to `__init'
/usr/vmore/gnutools/cross-power-eabi-tools/build/gcc/gcc/eabi-ctors.c(.sdata
+0x4): undefined reference to `__fini'
collect2: ld returned 1 exit status
vmore@EFS_VW2[134] >)
-----------------------------------
I think i am screwing up something with the libraries, but anyways here is
what i have done..
TOOLS used :
binutils-2.13.90.0.4.tar , gcc-2.95.3.tar , newlib-1.9.0.tar
( planning to use gdb-5.2.1.tar later )
Host Details :
Linux mvtest 2.4.7-10enterprise #1 SMP i686 unknown
Red Hat 7.2
target=powerpc-eabi
prefix=/usr/vmore/gnutools/cross-gcc/target
Steps :
cd /usr/vmore/gnutools/cross-gcc
mkdir src build target test
cd /usr/vmore/gnutools/cross-gcc/src
tar -xvf ../../download/binutils-2* gcc* newlib*
1. Compiling bintuils
cd /usr/vmore/gnutools/cross-gcc/build
../../src/binutils*/configure --target=$target --prefix=$prefix -v
make all install
No compilation errors
2. Compiling gcc ( removed libf2c from gcc*/src and linked ln -s
../newlib* newlib in gcc*/src )
cd /usr/vmore/gnutools/cross-gcc/build
../../src/binutils*/configure --target=$target --prefix=$prefix --with-newli
b --with-header=/usr/vmore/gnutools/cross-gcc/src/newlib-1.9.0/newlib/libc/i
nclude -v
make cross LANGUAGES="c c++"
make install
No compilation errors
3. Test code compilation
Added $prefix in my PATH
A test c program with a single printf in it,
powerpc-eabi-gcc hello.c
LOT OF ERRORS ..
pls advice
thanks
vishwas
------
Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com
------
Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com
More information about the crossgcc
mailing list