This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: gcc 3.2 limits.h from crtstuff.c
- From: David Meggy <dmeggy at techsol dot ca>
- To: Rupert Wood <rup at kanat dot pair dot com>
- Cc: gcc-help at gcc dot gnu dot org
- Date: 03 Sep 2002 08:45:26 -0700
- Subject: Re: gcc 3.2 limits.h from crtstuff.c
- References: <Pine.BSF.4.30.0209030442290.1320-100000@kanat.pair.com>
I'm pretty sure there is something wrong with isystem, #include_next.
According to the gcc manual
-isystem dir
Search dir for header files, after all directories specified by -I
but before the standard system directories. Mark it as a system
directory, so that it gets the same special treatment as is applied to
the standard system directories.
Which is correct so #include_next should get the C-lib version. Which I
know it finds normally because the following program works.
#include <limits.h>
int main() { return 0; }
and when I enter a #warning statement inside the c-lib limits.h it finds
it. eg.
~/tmp$ arm-linux-gcc Dave.c
In file included from Dave.c:1:
/home/david/techsol/arm-cross-v0.9/include/limits.h:22:2: warning:
#warning Dave:C-lib limits.h
Dave
On Tue, 2002-09-03 at 01:43, Rupert Wood wrote:
> Dave Meggy wrote:
>
> > I think there is something wrong with the way it finds includes.
>
> I'm not on my usual system so I can't verify this, but from memory:
>
> > According to my inserted #warnings ${my cross env}/include/limits.h
> > is never called.
>
> I've had disagreements in the past about where things should live, but I
> think the headers should be in
>
> $(my cross env)/arm-linux/sys-include
>
> and libraries
>
> $(my cross env)/arm-linux/lib
>
> These are the paths used by GCC's configure's --with-headers and
> --with-libs. Kai on the crossgcc list will tell you that the headers
> should actually go in
>
> $(my cross env)/arm-linux/include
>
> but I think he's wrong :-)
>
> > and the compiler I'm trying to build was configured like this
> > {gcc_source_path}/configure --target=arm-linux --host=arm-linux \
> > --build=i386-pc-linux-gnu --prefix=${my cross runtime env} \
> > --enable-languages=c --disable-multilib \
> > --disable-threads --disable-shared
>
> Since you're neither specifying --with-headers or --with-libs (which is
> fine if they're already in place) you need to specify --without-newlib.
>
> Hope that helps,
> Rup.
>
>
--
~~~~~~~~~~~~~~~~~~~~~~~~
David Meggy
Engineering
Technical Solutions Inc.
Unit #1 7157 Honeyman St
Delta BC Canada, V4G 1E2
www.techsol.ca
eMail: dmeggy@techsol.ca
Tel: 604 946 TECH (8324)
Fax: 604 946 6445
~~~~~~~~~~~~~~~~~~~~~~~~