This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
gcc 3.x for linux synthetic... a build question
- From: rdim_outside at softhome dot net
- To: ecos-discuss at sources dot redhat dot com
- Date: Wed, 22 May 2002 04:19:46 -0600
- Subject: [ECOS] gcc 3.x for linux synthetic... a build question
Hi all,
Does anybody know how to build properly gcc 3.x to be used for linux
synthetc target?
Actually, I saw recomedations to don't use gcc 3 for ecos, but gcc 2.95.2 I
used has a lot of problems with VMTs, so I was forced to use gcc 3.0.4
What's interesting: gcc 3.0.4 was built for xscale in one step (without
separate bootstrap buildings) including newlib. Works perfectly - no any
problem. But when I try to do the same for linux, buildnig fails with:
===
/root/tmp/build/gcc/xgcc -B/root/tmp/build/gcc/ -nostdinc
-B/root/tmp/build/i686-pc-linux-gnu/newlib/ -isystem
/root/tmp/build/i686-pc-linux-gnu/newlib/targ-include -isystem
/root/tmp/gcc-3.0.4/newlib/libc/include
-B/3.0.4/H-i686-pc-linux-gnu/bin/i686-pc-linux-gnu/bin/
-B/3.0.4/H-i686-pc-linux-gnu/bin/i686-pc-linux-gnu/lib/ -isystem
/3.0.4/H-i686-pc-linux-gnu/bin/i686-pc-linux-gnu/include -O2 -DIN_GCC
-W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem
./include -fPIC -g1 -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc
-I.
-I. -I../../gcc-3.0.4/gcc -I../../gcc-3.0.4/gcc/.
-I../../gcc-3.0.4/gcc/config -I../../gcc-3.0.4/gcc/../include -DL_muldi3 -c
../../gcc-3.0.4/gcc/libgcc2.c -o libgcc/./_muldi3.o
In file included from tm.h:7,
from ../../gcc-3.0.4/gcc/config/i386/xm-i386.h:39,
from tconfig.h:3,
from ../../gcc-3.0.4/gcc/libgcc2.c:36:
../../gcc-3.0.4/gcc/config/i386/linux.h:237:26: sys/ucontext.h: No such file
or directory
make[2]: *** [libgcc/./_muldi3.o] Error 1
make[2]: Leaving directory `/root/tmp/build/gcc'
make[1]: *** [libgcc.a] Error 2
make[1]: Leaving directory `/root/tmp/build/gcc'
make: *** [all-gcc] Error 2
[root@pcasa51414 build]#
===
This happens if I'm trying to build it with newlib (while configure:
--with-newlib is specified, symbolic links to ../newlib-1.10.0/newlib and
../newlib-1.10.0/libgloss are made within gcc source directory).
If I'm trying to make gcc without newlib - it can be made but doesn't work.
While building application for linux target I got
loooooot :) of warnings like that
===
/3.0.4/H-i686-pc-linux-gnu/bin/ld: warning: no memory region specified for
section `.rel.text.abort'
===
and finally - error message:
===
/3.0.4/H-i686-pc-linux-gnu/bin/ld: address 0xd8 of pfapp section
.gcc_except_table is not within region rom
collect2: ld returned 1 exit status
make: *** [pfapp] Error
===
Well, the question are:
- do I need to use newlib for linux-synthetic target?
- if so, do I need to build newlib separately with bootstrap gcc or I can
use some one-step procedure?
- if not, how to avoid these warnings/errors?
Thanks a lot in advance!
rdim
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss