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