How do I build C++ for xscale-elf?

Kai Ruottu karuottu@mbnet.fi
Fri Sep 29 09:19:00 GMT 2006


Jack Twilley kirjoitti:
> Kai Ruottu wrote:
>> These are in the target C library, in its headers...  Although using 
>> the '--with-newlib' should remove the need to have the target 
>> libraries and startups (the binary parts) preinstalled,
>
> Yes, but isn't all that part of binutils?

 No, you seemingly mixed my "binary parts" (of the C library), the '.a' 
and '.o' files, with the
"binutils", the utility programs aimed to handle these "binary parts" 
('ld', 'nm', 'strip', 'objdump',
'objcopy', 'ranlib',...)

> Okay, I constructed the directory and symlink as you suggested, and 
> rebuilt.  I then had to add --disable-libssp, which got me very close. 
> It failed while building "libobjc" (why is it doing that?  I said C 
> and C++, not ObjC) with an inability to find tconfig.h.
 I really don't know :-(  Maybe this is some bug in the configure.  I 
don't remember this happening
with the official FSF gcc-4.1.1 release...  The 
'--enable-languages=c,c++' really should cause only
the C and C++ compilers being built.  It can be possible that the 
'libobjc' will be tried to be
configured but there it should check whether the '$build/gcc/cc1obj', 
the 'ObjC compiler', was
done or not and if not the configure should stop!  I remember something 
like this happening.
>
> I have a target board, and in fact, a complete software suite that is 
> tested on the target board.  Just need to get this GCC to work.
 If you already had any C libraries for this board, they most probably 
should be used!  The newlib
used to work with the 'Angel' monitor firmware on an ARM based board, 
but nowadays it should
have support for 'Redboot' firmware etc. other 'runtime components' 
providing the basic I/O
routines etc.  That those 'read()', 'write()','lseek()', 
'open()','close()' etc. "low-level-I/O" routines
were in the 'libc.a', not in separate "glue libraries" for each HW, was 
a problem if one didn't have
that 'Angel' monitor on the board...  Having some kind of understanding 
about how those C
programs are communicating with the I/O chips, the built-in I/O ports on 
the chip etc., is quite
essential in order to understand why a program made with the defaults 
for 'xscale-elf' doesn't
run on some board which doesn't have that 'Angel'...  In this specific 
case a theologian could
think an "elf"  meaning just the same as "angel",  but  for it are 
alternatives like that "redboot"
(a guy with red boots?)  :-)

 I assume you being aware of these "low level" things, but if not, don't 
be surprised if things
don't work when first tried....



More information about the Gcc-help mailing list