This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: crossmake troubles, -isystem, -nostdinc (resent)
- From: Zack Weinberg <zack at codesourcery dot com>
- To: Paul Koning <pkoning at equallogic dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Thu, 20 Dec 2001 14:05:03 -0800
- Subject: Re: crossmake troubles, -isystem, -nostdinc (resent)
- References: <200112202142.fBKLgM202808@pkoning.dev.equallogic.com>
On Thu, Dec 20, 2001 at 04:42:22PM -0500, Paul Koning wrote:
> (resent because Emacs VM mangled it the first time, thanks to Dewar for diagnosing this.)
>
> Gentlepeople,
>
> I have been fighting the crossgcc battles, which are tough given the
> lack of documentation anywhere close to reality...
>
> The "combined source tree" approach described in the CrossFAQ seems to
> work well; one cross-target built flawlessly that way.
...
> So, in spite of the -nostdinc, include paths other than the ones
> explicitly mentioned are being processed, and in fact are taking
> precedence over the ones explicitly supplied. So what specifically
> goes wrong is that the preprocessor is resolving #include <stdarg.h>
> from gcc/include, which is a linux flavored version, rather than
> finding the correct one in one of the newlib include directories.
I don't see any header files listed in that -v dump which don't
correspond to command line switches. What you may not be aware of is
that -B directory implies -isystem directory/include.
gcc/include/stdarg.h in 3.0 is completely generic and should work
correctly on any target. In fact, it's unlikely that any other
stdarg.h will work. My copy of newlib does not contain a stdarg.h.
You may need to update your copy to a version known to work with gcc
3.0.
zw