Hi, On Tue, Aug 5, 2014 at 4:35 AM, Alexander Ivchenko <aivch...@gmail.com> wrote: >> Testing for *android* is less than ideal, because of the possibility of >> configuring a *-linux* toolchain to have multilibs using various different >> C libraries (with -mandroid being used to select the Android multilib). >> So, specifying a bypass based on some relevant text that appears in the >> header would be better. >> >> -- >> Joseph S. Myers >> jos...@codesourcery.com > > I've added check for "BIONIC" keyword. Hopefully it won't disappear.
"based on some relevant text" I think that's important, too (that it be relevant). "BIONIC" is just some improbable text you found in the header. My guess is that testing for '*android*' would be more selective, and certainly less obscure. Who would ever guess that "BIONIC" implies "android"? > Updated patch: > > diff --git a/fixincludes/ChangeLog b/fixincludes/ChangeLog > index f7effee..e05412e 100644 > --- a/fixincludes/ChangeLog > +++ b/fixincludes/ChangeLog > @@ -1,3 +1,10 @@ > +2014-08-04 Alexander Ivchenko <alexander.ivche...@intel.com> > + > + * inclhack.def (stdio_va_list): Bypass fix for Bionic. > + (complier_h_tradcpp): Remove. > + * fixincl.x: Regenerate. > + * tests/base/linux/compiler.h: Remove. > + > 2014-04-22 Rainer Orth <r...@cebitec.uni-bielefeld.de> > > * inclhack.def (math_exception): Bypass on *-*-solaris2.1[0-9]*. > diff --git a/fixincludes/fixincl.x b/fixincludes/fixincl.x [[generated text is not needed for approval]] > diff --git a/fixincludes/inclhack.def b/fixincludes/inclhack.def > index 6a1136c..bf452c6 100644 > --- a/fixincludes/inclhack.def > +++ b/fixincludes/inclhack.def > @@ -1140,20 +1140,6 @@ fix = { > }; > > /* > - * Old Linux kernel's <compiler.h> header breaks Traditional CPP > - */ > -fix = { > - hackname = complier_h_tradcpp; [[ OK ]] > @@ -3722,8 +3708,9 @@ fix = { > fix = { > hackname = stdio_va_list; > files = stdio.h; > - bypass = '__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list'; > + bypass = '__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list|BIONIC'; > /* > + * In Bionic va_list is always appropriately typedefed to __gnuc_va_list. And that typedef does not live in stdio.h either. If there is no better way to identify this file, then > Is it ok? It is "okay". (You may be left with little choice -- I can't see the header :).