Message ID | alpine.DEB.2.20.1611032248050.20687@digraph.polyomino.org.uk |
---|---|
State | New |
Headers | show |
On Thu, Nov 3, 2016 at 3:48 PM, Joseph Myers <joseph@codesourcery.com> wrote: > check-installed-headers tests were failing for x32 because of the x86 > bits/sysctl.h containing a #error for x32. This patch makes the tests > ignore sys/sysctl.h for x32, similar to the other special-casing of > particular headers. > > Tested for x86_64 (full testing for -m64, compile-only for x32). > > 2016-11-03 Joseph Myers <joseph@codesourcery.com> > > * scripts/check-installed-headers.sh: Ignore sys/sysctl.h for x32. > > diff --git a/scripts/check-installed-headers.sh b/scripts/check-installed-headers.sh > index 87d6142..a245fe6 100644 > --- a/scripts/check-installed-headers.sh > +++ b/scripts/check-installed-headers.sh > @@ -66,6 +66,7 @@ trap "rm -f '$cih_test_c'" 0 > > failed=0 > is_x86_64=unknown > +is_x32=unknown > for header in "$@"; do > # Skip various headers for which this test gets a false failure. > case "$header" in > @@ -83,6 +84,28 @@ for header in "$@"; do > (sys/elf.h) > continue;; > > + # sys/sysctl.h is unsupported for x32. > + (sys/sysctl.h) > + case "$is_x32" in > + (yes) continue;; > + (no) ;; > + (unknown) > + cat >"$cih_test_c" <<EOF > +#if defined __x86_64__ && defined __ILP32__ > +# error "is x32" > +#endif > +EOF > + if $cc_cmd -fsyntax-only "$cih_test_c" > /dev/null 2>&1 > + then > + is_x32=no > + else > + is_x32=yes > + continue > + fi > + ;; > + esac > + ;; > + > # sys/vm86.h is "unsupported on x86-64" and errors out on that target. > (sys/vm86.h) > case "$is_x86_64" in > It looks good to me. Thanks.
diff --git a/scripts/check-installed-headers.sh b/scripts/check-installed-headers.sh index 87d6142..a245fe6 100644 --- a/scripts/check-installed-headers.sh +++ b/scripts/check-installed-headers.sh @@ -66,6 +66,7 @@ trap "rm -f '$cih_test_c'" 0 failed=0 is_x86_64=unknown +is_x32=unknown for header in "$@"; do # Skip various headers for which this test gets a false failure. case "$header" in @@ -83,6 +84,28 @@ for header in "$@"; do (sys/elf.h) continue;; + # sys/sysctl.h is unsupported for x32. + (sys/sysctl.h) + case "$is_x32" in + (yes) continue;; + (no) ;; + (unknown) + cat >"$cih_test_c" <<EOF +#if defined __x86_64__ && defined __ILP32__ +# error "is x32" +#endif +EOF + if $cc_cmd -fsyntax-only "$cih_test_c" > /dev/null 2>&1 + then + is_x32=no + else + is_x32=yes + continue + fi + ;; + esac + ;; + # sys/vm86.h is "unsupported on x86-64" and errors out on that target. (sys/vm86.h) case "$is_x86_64" in