On 04/16/2013 07:22 PM, Paolo Bonzini wrote:
Il 16/04/2013 09:57, Markus Armbruster ha scritto:
I think this is just beautiful. Fedora18, x86_64, NO cross
compiler. gcc does not apply -Wredundant-decls to /usr/include/* but
does it for all other headers and in the case of cross compilation I
hit this case.
'-Wsystem-headers'
Print warning messages for constructs found in system header files.
Warnings from system headers are normally suppressed, on the
assumption that they usually do not indicate real problems and
would only make the compiler output harder to read.
Does anyone know the way to tell gcc that libc headers are not at
/usr/include but somewhere else?
I think this helps:
'--sysroot=DIR'
Use DIR as the logical root directory for headers and libraries.
For example, if the compiler normally searches for headers in
'/usr/include' and libraries in '/usr/lib', it instead searches
'DIR/usr/include' and 'DIR/usr/lib'.
but you shouldn't need it. Just configure your GCC with
--with-sysroot=/foo and it should just work.
--sysroot helps for native compiler but does not for the cross compiler.
Anyway, I tried Markus's patch, now assert.h generates just warnings which
I can successfully suppress. Cool, thanks everyone :)
--
Alexey