[ECOS] gcc 3.x for linux synthetic... a build question

rdim_outside@softhome.net rdim_outside@softhome.net
Wed May 22 03:19:00 GMT 2002

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 
 -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../../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!

Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss

More information about the Ecos-discuss mailing list