From patchwork Thu May 24 17:45:41 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: Add powerpc64-linux configuration options Date: Thu, 24 May 2012 07:45:41 -0000 From: Michael Meissner X-Patchwork-Id: 161173 Message-Id: <20120524174540.GA27198@ibm-tiger.the-meissners.org> To: "Joseph S. Myers" , dje.gcc@gmail.com Cc: Michael Meissner , gcc-patches@gcc.gnu.org, bergner@vnet.ibm.com 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 * 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)