On Wed, May 23, 2012 at 10:59:10PM +0000, Joseph S. Myers wrote: > On Wed, 23 May 2012, Michael Meissner wrote: > > > An alternative would be for the powerpc64-linux case, should we just delete > > the > > software floating emulation multilib and stop using the -mstrict-align, > > since > > Linux only runs in big endian mode. The software emulation multilib would > > be > > built for other powerpc varients and -mstrict-align would be used there as > > well. > > I support deleting the soft-float multilib; it can't be used as-is because > it requires its own libc, in its own sysroot, and the configuration > doesn't use a separate sysroot for it. As for -mstrict-align, again if > someone wants -mstrict-align libraries I think they should set up a > multilib using that option (or a CPU option that implies it) rather than > trying to make the libraries from a compiler configured for some CPU > compatible with another CPU they wouldn't normally be compatible with.
This alternative patch just disables building the 32-bit softfloat multlib, and removes the -mstrict-align in the powerpc64-linux case. I have bootstrapped it and had no regressions. David, which patch do you prefer? 2012-05-24 Michael Meissner <meiss...@linux.vnet.ibm.com> * config/rs6000/t-linux64: Delete the 32-bit multilib that uses software floating point emulation. No longer build the multilibs with -mstrict-align. Index: gcc/config/rs6000/t-linux64 =================================================================== --- gcc/config/rs6000/t-linux64 (revision 187805) +++ gcc/config/rs6000/t-linux64 (working copy) @@ -26,10 +26,7 @@ # it doesn't tell anything about the 32bit libraries on those systems. Set # MULTILIB_OSDIRNAMES according to what is found on the target. -MULTILIB_OPTIONS = m64/m32 msoft-float -MULTILIB_DIRNAMES = 64 32 nof -MULTILIB_EXTRA_OPTS = fPIC mstrict-align -MULTILIB_EXCEPTIONS = m64/msoft-float -MULTILIB_EXCLUSIONS = m64/!m32/msoft-float -MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) nof -MULTILIB_MATCHES = $(MULTILIB_MATCHES_FLOAT) +MULTILIB_OPTIONS = m64/m32 +MULTILIB_DIRNAMES = 64 32 +MULTILIB_EXTRA_OPTS = fPIC +MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) -- Michael Meissner, IBM 5 Technology Place Drive, M/S 2757, Westford, MA 01886-3141, USA meiss...@linux.vnet.ibm.com fax +1 (978) 399-6899