Hi!

As written earlier, the config-ml.in change from the
--with-multi-buildlist patch broke build of Ada, Ada uses
RTSDIR = rts$(subst /,_,$(MULTISUBDIR))
and expects that the primary multilib will result in rts
rather than rts_. it results in after the --with-multi-buildlist
changes.

The following patch fixes it by restoring previous behavior for
ml_subdir / MULTISUBDIR such that for primary multilib it is
still empty rather than /.

Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?

Another possibility would be the attached untested patch.

2026-01-10  Jakub Jelinek  <[email protected]>

        PR ada/123490
        * config-ml.in: Restore ml_subdir being empty instead of /.
        for the primary multilib.

--- config-ml.in.jj     2026-01-09 12:06:40.247967156 +0100
+++ config-ml.in        2026-01-09 22:15:02.891647668 +0100
@@ -615,7 +615,11 @@ fi
 
 if [ -z "${with_multisubdir}" ]; then
   ml_top_subdir=`${CC-gcc} --print-multi-directory 2>/dev/null`
-  ml_subdir=/$ml_top_subdir
+  if [ "$ml_top_subdir" = . ]; then
+    ml_subdir=
+  else
+    ml_subdir=/$ml_top_subdir
+  fi
   ml_builddotdot=
   : # ml_srcdotdot= # already set
 else

        Jakub
--- gcc/ada/Makefile.in.jj      2026-01-09 22:20:06.232570746 +0100
+++ gcc/ada/Makefile.in 2026-01-10 09:37:44.588334213 +0100
@@ -196,7 +196,11 @@ GNAT_SRC=$(fsrcpfx)ada
 
 # Multilib handling
 MULTISUBDIR =
+ifeq ($(MULTISUBDIR),/.)
+RTSDIR = rts
+else
 RTSDIR = rts$(subst /,_,$(MULTISUBDIR))
+fi
 
 # Link flags used to build gnat tools.  By default we prefer to statically
 # link with libgcc to avoid a dependency on shared libgcc (which is tricky

Reply via email to