make full gcc unsuccessful for powerpc on Solaris (target=powerpc -elf), also linking with 'core' target gcc unsuccessful

Bertin, Philippe philippe.bertin@barco.com
Wed Nov 21 06:45:00 GMT 2001


Hi all,

"An accident never comes alone", one sometimes says :(  Well, what am I to
do with this situation in which
1. I can't, apparantly due to problems in libiberty, upgrade (with the C
run-time libraries) my 'core' gcc (version 2.95.3, for target powerpc-elf on
Solaris2.6.0) after having built newlib(1.9.0) - see first extract of error
messages at the end -, AND
2. I can't link the normal runtime libraries (and another library) into a
basic program without linker errors - see second extract at the end -
neither.

So I'm trying to compile and link using the core-gcc, libc and another
library. Having looked at archives of several newsgroups, and having tried
several possible solutions (e.g. copying crt0.o to the current directory, or
using several rpath-options), I stay stuck at the same point. Could anyone
say what exact options I should give to the linker (note : core -cross-gcc
is used, a full -cross-gcc couldn't be made as I just mentioned) so that I
can be sure not to miss any linker directory and/or any file that should be
found ? The program I'm compiling/linking is a basic main with a basic
printf- statement, so I shouldn't need any much more than libc.a; my command
line read :

powerpc-elf-gcc
-Wl,-L~/cross/newlib-1.9.0/powerpc-elf/newlib,-L$prefix/powerpc-elf/lib,-L.,
-lgp-new,-lc test.c

Am I missing something here ? (what's the logic with crt0.o, BTW) Should I
continue looking for setting the environment variables GCC_INCLUDE_DIR,
GPLUS_INCLUDE_DIR, LOCAL_INCLUDE_DIR, CROSS_INCLUDE_DIR or TOOL_INCLUDE_DIR
(if yes, what exact settings should these be set at) ?

Regards,

Philippe Bertin.


----------------------------------------------------------------------------
--------------
extract of failing upgrade of 'core' cross-gcc to 'full' cross-gcc
bash-2.04$ pwd
/export/home/users/phbe/cross/gcc-2.95.3/powerpc-elf/libiberty
bash-2.04$ make all
test x"no" != xyes || \
  /data/users/phbe/cross/gcc-2.95.3/gcc/xgcc
-B/data/users/phbe/cross/gcc-2.95.3/gcc/
-B/data/users/phbe/cross/executable/powerpc-elf/bin/ -c -DHAVE_CONFIG_H -g
-O2 -I. -I./../../include   vsprintf.c -o pic/vsprintf.o
/data/users/phbe/cross/gcc-2.95.3/gcc/xgcc
-B/data/users/phbe/cross/gcc-2.95.3/gcc/
-B/data/users/phbe/cross/executable/powerpc-elf/bin/ -c -DHAVE_CONFIG_H -g
-O2 -I. -I./../../include  vsprintf.c
vsprintf.c: In function `vsprintf':
vsprintf.c:47: structure has no member named `_flag'
vsprintf.c:47: `_IOWRT' undeclared (first use in this function)
vsprintf.c:47: (Each undeclared identifier is reported only once
vsprintf.c:47: for each function it appears in.)
vsprintf.c:47: `_IOSTRG' undeclared (first use in this function)
vsprintf.c:48: structure has no member named `_ptr'
vsprintf.c:49: structure has no member named `_cnt'
make: *** [vsprintf.o] Error 1




--------------------------------------------------
extract of failing (cross-)link
bash-2.04$ powerpc-elf-gcc
-Wl,-L~/cross/newlib-1.9.0/powerpc-elf/newlib,-L$prefix/powerpc-elf/lib,-L.,
-lgp-new,-lc test.c
/data/users/phbe/cross/executable/powerpc-elf/bin/ld: warning: cannot find
entry symbol _start; defaulting to 01800074
/var/tmp/ccQpvIvL.o: In function `main':
/var/tmp/ccQpvIvL.o(.text+0x40): undefined reference to `<other library
symbol>'
/var/tmp/ccQpvIvL.o(.text+0x60): undefined reference to `printf'
/var/tmp/ccQpvIvL.o(.text+0x74): undefined reference to `<other library
symbol>'
/var/tmp/ccQpvIvL.o(.text+0x80): undefined reference to `<other library
symbol>'
/var/tmp/ccQpvIvL.o(.text+0x8c): undefined reference to `<other library
symbol>'
/var/tmp/ccQpvIvL.o(.text+0xb8): undefined reference to `<other library
symbol>'
/var/tmp/ccQpvIvL.o(.text+0x114): undefined reference to `<other library
symbol>'
/var/tmp/ccQpvIvL.o(.text+0x124): undefined reference to `printf'
/var/tmp/ccQpvIvL.o(.text+0x14c): undefined reference to `<other library
symbol>'
/var/tmp/ccQpvIvL.o(.text+0x170): undefined reference to `<other library
symbol>'
/var/tmp/ccQpvIvL.o(.text+0x1c4): undefined reference to `printf'
collect2: ld returned 1 exit status

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



More information about the crossgcc mailing list