This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch] set MULTIARCH_DIRNAME for multilib architectures
- From: Aurelien Jarno <aurel32 at debian dot org>
- To: Matthias Klose <doko at ubuntu dot com>
- Cc: Bernhard Reutner-Fischer <rep dot dot dot nop at gmail dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>, rdsandiford at googlemail dot com
- Date: Thu, 20 Jun 2013 22:43:39 +0200
- Subject: Re: [patch] set MULTIARCH_DIRNAME for multilib architectures
- References: <51B88407 dot 9000508 at ubuntu dot com> <87zjuv5gxp dot fsf at talisman dot default> <13f3c40f137 dot 2760 dot 0f39ed3bcad52ef2c88c90062b7714dc at gmail dot com> <87r4g64aa6 dot fsf at talisman dot default> <51C2F4E4 dot 1080206 at ubuntu dot com>
On Thu, Jun 20, 2013 at 02:26:12PM +0200, Matthias Klose wrote:
> Am 13.06.2013 11:42, schrieb Richard Sandiford:
> > "Bernhard Reutner-Fischer" <rep.dot.nop@gmail.com> writes:
> >> On 12 June 2013 20:20:50 Richard Sandiford <rdsandiford@googlemail.com> wrote:
> >>> Matthias Klose <doko@ubuntu.com> writes:
> >>>> Index: config/mips/t-linux64
> >>>> ===================================================================
> >>>> --- config/mips/t-linux64 (revision 200012)
> >>>> +++ config/mips/t-linux64 (working copy)
> >>>> @@ -24,3 +24,13 @@
> >>>> ../lib32$(call
> >>> if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
> >>>> ../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
> >>>> ../lib64$(call
> >>>> if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
> >>>> +
> >>>> +ifneq (,$(findstring abin32,$(target)))
> >>>> +MULTIARCH_DIRNAME = $(call
> >>> if_multiarch,mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT))
> >>>> +else
> >>>> +ifneq (,$(findstring abi64,$(target)))
> >>>> +MULTIARCH_DIRNAME = $(call
> >>> if_multiarch,mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
> >>>> +else
> >>>> +MULTIARCH_DIRNAME = $(call
> >>> if_multiarch,mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT))
> >>>> +endif
> >>>> +endif
> >>>
> >>> findstring seems a bit fragile for a full triple. I think it would
> >>> be better to have something similar to the current MIPS_SOFT definition:
> >>>
> >>> MIPS_SOFT = $(if $(strip $(filter MASK_SOFT_FLOAT_ABI,
> >>> $(target_cpu_default)) $(filter soft, $(with_float))),soft)
> >>>
> >>> but for ABIs. It could then also take with_abi into account.
> >>> Maybe something like:
> >>>
> >>> MIPS_ABI = $(or $(with_abi), \
> >>> $(if $(filter MIPS_ABI_DEFAULT=ABI_N32, \
> >>> $(target_cpu_default)), n32), \
> >>> o32)
> >>>
> >>> (completely untested).
> >>
> >> Bikeshedding:
> >> Doko would know, but ISTR that $(or) did not exist in make-3.80 which is
> >> currently the minimum prerequisite, fwiw.
> >
> > Gah, that's a pity. Thanks for the catch though. Maybe firstword
> > would be OK instead.
> >
> > I see I also fell into the usual ABI trap. It wouldn't have affected
> > the use in this patch, but the default ought to be "32" rather than "o32".
>
> the define is in tm_defines, not target_cpu_default.
>
> MIPS_ABI = $(or $(with_abi), \
> $(if $(filter MIPS_ABI_DEFAULT=ABI_N32, \
> $(tm_defines)), n32), \
> 32)
>
> However I can't see yet how this should be used. Maybe Aurelian could come up
> with a tested version of this patch?
>
I don't have a lot of time right now, will look at that in details next
week.
--
Aurelien Jarno GPG: 1024D/F1BCDB73
aurelien@aurel32.net http://www.aurel32.net