Hi! On Wed, 09 May 2012 02:38:11 +0200, Matthias Klose <d...@ubuntu.com> wrote: > ok, the attached patch includes just the support for the x86 targets, > including > the kfreebsd and the hurd systems. The x32 multiarch tuple isn't yet defined, > so > I'd like to keep it out of the first version.
I will test this on/for GNU/Hurd next week (hopefully), but here are already two comments. > Index: gcc/Makefile.in > =================================================================== > --- gcc/Makefile.in (revision 187271) > +++ gcc/Makefile.in (working copy) > @@ -350,6 +350,17 @@ > > enable_plugin = @enable_plugin@ > > +# Multiarch support > +enable_multiarch = @enable_multiarch@ > +with_float = @with_float@ > +ifeq ($(enable_multiarch),yes) > + if_multiarch = $(1) > +else ifeq ($(enable_multiarch),auto-detect) > + if_multiarch = $(if $(wildcard $(shell echo > $(SYSTEM_HEADER_DIR))/../../usr/lib/*/crti.o),$(1)) > +else > + if_multiarch = > +endif The auto-detection won't work for cases where native_system_header_dir (as per config.gcc; or command-line argument) is not /usr/include. > Index: gcc/config.gcc > =================================================================== > --- gcc/config.gcc (revision 187271) > +++ gcc/config.gcc (working copy) > @@ -3472,10 +3476,14 @@ > > i[34567]86-*-darwin* | x86_64-*-darwin*) > ;; > - i[34567]86-*-linux* | x86_64-*-linux* | \ > - i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \ > - i[34567]86-*-gnu*) > + i[34567]86-*-linux* | x86_64-*-linux*) > ;; > + i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu) > + tmake_file="${tmake_file} i386/t-linux i386/t-kfreebsd" > + ;; > + i[34567]86-*-gnu*) > + tmake_file="${tmake_file} i386/t-linux i386/t-gnu" > + ;; > Index: gcc/config/i386/t-linux > =================================================================== > --- gcc/config/i386/t-linux (revision 0) > +++ gcc/config/i386/t-linux (revision 0) > @@ -0,0 +1 @@ > +MULTIARCH_DIRNAME = $(call if_multiarch,i386-linux-gnu) > Index: gcc/config/i386/t-gnu > =================================================================== > --- gcc/config/i386/t-gnu (revision 0) > +++ gcc/config/i386/t-gnu (revision 0) > @@ -0,0 +1 @@ > +MULTIARCH_DIRNAME = $(call if_multiarch,i386-gnu) > Index: gcc/config/i386/t-kfreebsd > =================================================================== > --- gcc/config/i386/t-kfreebsd (revision 0) > +++ gcc/config/i386/t-kfreebsd (revision 0) > @@ -0,0 +1,5 @@ > +MULTIARCH_DIRNAME = $(call if_multiarch,i386-kfreebsd-gnu) > + > +# MULTILIB_OSDIRNAMES are set in t-linux64. > +KFREEBSD_OS = $(filter kfreebsd%, $(word 3, $(subst -, ,$(target)))) > +MULTILIB_OSDIRNAMES := $(subst linux,$(KFREEBSD_OS),$(MULTILIB_OSDIRNAMES)) As of 2011-11-02 (a997b0d8a7b720578f40c0f9f7767bac02022e0b, r180767) there was no i386/t-linux anymore, and you're now re-introducing it, so you'll need to re-add it for the *-linux* cases cited above, but also remove it from the other *-gnu* cases. Grüße, Thomas
pgpvaJUXakrU4.pgp
Description: PGP signature