Hi! On Wed, 09 May 2012 02:38:11 +0200, Matthias Klose <[email protected]> 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
