Am 13.06.2013 11:42, schrieb Richard Sandiford: > "Bernhard Reutner-Fischer" <rep.dot....@gmail.com> writes: >> On 12 June 2013 20:20:50 Richard Sandiford <rdsandif...@googlemail.com> >> wrote: >>> Matthias Klose <d...@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? Matthias