This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Make check-installed-headers.sh ignore sys/sysctl.h for x32


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.

-- 
H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]