On Tue, 16 Dec 2025, Aleksandar Rakic wrote:
> @@ -2328,11 +2331,12 @@ s-mlib: $(srcdir)/genmultilib Makefile
> "$(MULTILIB_REQUIRED)" \
> "$(if $(MULTILIB_OSDIRNAMES),,$(MULTIARCH_DIRNAME))" \
> "$(MULTILIB_REUSE)" \
> + "$(if $(with_multi_buildlist),true,false)" \
> "@enable_multilib@" \
> > tmp-mlib.h; \
> else \
> $(SHELL) $(srcdir)/genmultilib '' '' '' '' '' '' '' '' \
> - "$(MULTIARCH_DIRNAME)" '' no \
> + "$(MULTIARCH_DIRNAME)" '' '' no \
> diff --git a/gcc/genmultilib b/gcc/genmultilib
> index 85b241cd72a..d3cb10c51eb 100644
> --- a/gcc/genmultilib
> +++ b/gcc/genmultilib
> @@ -88,6 +88,9 @@
> # The optional tenth argument specifies how to reuse multilib for different
> # option sets.
>
> +# The optional eleventh argument specifies whether the
> +# --with-multi-buildlist configure option is set (true or false).
> +
> # The last option should be "yes" if multilibs are enabled. If it is not
> # "yes", all GCC multilib dir names will be ".".
>
> @@ -108,7 +111,7 @@
> # genmultilib 'm64/m32 mno-app-regs|mcmodel=medany' '64 32 alt'
> # 'mcmodel?medany=mcmodel?medmid' 'm32/mno-app-regs*
> m32/mcmodel=*'
> # '' 'm32/!m64/mno-app-regs m32/!m64/mcmodel=medany'
> -# '../lib64 ../lib32 alt' '' '' '' yes
> +# '../lib64 ../lib32 alt' '' '' '' '' yes
> + elif ! ${with_multi_buildlist}; then
> echo "The rule ${rrule} is trying to reuse nonexistent multilib." >&2
> exit 1
> fi
What are the semantics of an empty 11th argument meant to be?
(a) It's invalid (in which case the example in the comment and the second
call from the makefile should be changed)?
(b) It means "true" (matches the implementation - that's how an empty
command gets executed in the shell - but is probably wrong for the example
command and the second call from the makefile)?
(c) It means "false" (might be right for the example command and the
second call from the makefile, but doesn't match the implementation)?
--
Joseph S. Myers
[email protected]