On Thu, Mar 5, 2015 at 6:14 PM, Alan Modra <amo...@gmail.com> wrote:
> This arranges to build a powerpc64le-linux compiler without -m32
> support by default.  Bootstrapped and regression tested on Ubuntu
> powerpc64le-linux without --disable-multilib, and on powerpc64-linux
> and powerpc-linux.  OK for mainline and branches?
>
> This part of the config.gcc patch does most of the work
> -       case ${maybe_biarch}:${enable_targets}:${cpu_is_64bit} in
> -           always:* | yes:*powerpc64* | yes:all:* | yes:*:yes)
> +       case ${target}:${enable_targets}:${maybe_biarch} in
> +           powerpc64-* | powerpc-*:*:yes | *:*powerpc64-*:yes | *:all:yes \
> +           | powerpc64le*:*powerpcle* | powerpc64le*:*powerpc-* \
> +           | powerpcle-*:*powerpc64le*:yes)
>
> always:* becomes powerpc64-*, ie. exclude powerpc64le
> yes:*powerpc64* becomes *:*powerpc64-*:yes, excluding powerpc64le so
> that --target=powerpc64le-linux --enable-targets=powerpc64le-linux
> doesn't accidentally get you a biarch compiler.
> yes:all:* becomes *:all:yes, more or less unchanged.
> yes:*:yes becomes powerpc-*:*:yes allowing --target=powerpc-linux
> --with-cpu=<supports 64-bit> to continue to build a biarch ppc64
> compiler.
>
> Some other notes:
> t-fprules setting of MULTILIB variables is in every case overridden by
> a following t-file, except for the commented out powerpc-*-openbsd*.
> Since the aim of this patch is to build powerpc64le without multilibs,
> the default setting of these vars needs to go.  t-ppcos needs to be
> removed from powerpc64le configurations for the same reason.  Oh, and
> adding t-fprules and t-ppcos before previous additions to tmake_file
> is no longer necessary.  I checked all the other t-files that might be
> added for interactions.
>
> The linux64.h change is so that passing -m32 results in
>         error: -m32 not supported in the configuration
> rather than the confusing
>         error: -m64 requires a PowerPC64 cpu
> (Yes, I know using TARGET_64BIT_P would be nicer, but it's probably
> better left to a cleanup patch.)
>
>         PR target/65286
>         * config.gcc (powerpc*-*-linux*): Arrange for powerpc64le-linux
>         to be single-arch by default.  Set cpu_is_64bit for powerpc64
>         given --with-cpu=native.
>         * config/rs6000/t-fprules: Do not set default MULTILIB vars.
>         * config/rs6000/t-linux (MULTIARCH_DIRNAME): Support powerpc64
>         and powerpc64le.
>         * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
>         rs6000_isa_flags rather than TARGET_64BIT.

Okay.

The number of name variations is annoying, but I guess there's no choice now.

Thanks, David

Reply via email to