On Fri, 2008-08-08 at 11:14 -0500, Joel Sherrill wrote:
> Samuel Tardieu wrote:
> >>>>>> "Thomas" == Thomas Quinot <[EMAIL PROTECTED]> writes:
> >>>>>>             
> >
> > Thomas> As an alternative to Arno's suggestion, maybe you could use
> > Thomas> the --with-sysroot configure parameter to make the required
> > Thomas> headers available to the build process. I know others have
> > Thomas> used this method on some cross targets.
> >
> > Do you mean --with-build-sysroot?
> >   
> I tried that and got a variation on the theme to work.
> I used CFLAGS_FOR_TARGETS to pass in where the
> OS include files where.  I posted a patch to gcc-patches
> and ACATS results to gcc-testresults. 
> 
> Thanks for the hint.  Hopefully the patch is OK.  It isn't big.
> 
> FWIW cd2a24e now has a gnat bug box on sparc and powerpc.
> I filed it as PR 35298. 
> 
> 
> For those who care, --sysroot does not work RTEMS because:
> 
> (1) Apparently the RTEMS standard binutils RPMs do
> not support sysroots.
Not quite. We don't use sysroot, because we don't need it.

> /home/joel/work-gnat/svn//install/powerpc-rtems4.9/bin/ld: this linker 
> was not configured to use sysroots
> collect2: ld returned 1 exit status
Correct. We don't have a sysroot, because all of our headers are inside
of GCC's standard include directories.

> (2) RTEMS doesn't install into a /usr/include structure.

It does. 

What you seem to be missing is our toolchains being cross-compilers.

This means our headers land in $exec_prefix/$target/include
(e.g. /opt/rtems-4.9/sparc-rtems4.9/include) instead of
$exec_prefix/include ... AFTER building (!)

[newlib based, one-tree style building: Headers have not yet been
installed while building. Building picks them up from temporary
directories inside of the build tree]

>   According to
> the gcc documentation--sysroot  DIR looks in DIR/usr/[include|lib].
Not true:
# touch tmp.c
# /opt/rtems-4.9/bin/sparc-rtems4.9-gcc -v -c tmp.c
...
ignoring nonexistent directory
"/opt/rtems-4.9/lib64/gcc/sparc-rtems4.9/4.3.1/../../../../sparc-rtems4.9/sys-include"
...

=> /opt/rtems-4.9/sparc-rtems4.9/sys-include
=> the default is $exec_prefix/$target/sys-include

Ralf


Reply via email to