https://gcc.gnu.org/g:144ddb0cdfa7a09ccbaaea5ec72837346fbc1d8d
commit r15-6600-g144ddb0cdfa7a09ccbaaea5ec72837346fbc1d8d Author: Eric Botcazou <ebotca...@adacore.com> Date: Mon Jan 6 12:20:00 2025 +0100 Ada: fix spurious relinking of gnatbind for cross compilers The problem has been introduced by r15-1881. gcc/ada PR ada/118247 * gcc-interface/Make-lang.in (GNATTOOLS_CROSS_MV): Copy gnatbind instead of moving it. Diff: --- gcc/ada/gcc-interface/Make-lang.in | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/gcc/ada/gcc-interface/Make-lang.in b/gcc/ada/gcc-interface/Make-lang.in index 1d8f09709806..b0c568ad60ba 100644 --- a/gcc/ada/gcc-interface/Make-lang.in +++ b/gcc/ada/gcc-interface/Make-lang.in @@ -833,10 +833,14 @@ gnatlib gnatlib-sjlj gnatlib-zcx gnatlib-shared: force gnattools-cross-mv: $(GNATTOOLS_CROSS_MV) +# gnatbind$(exeext) is a prerequisite of the ada target and +# thus needs to be copied instead of moved. GNATTOOLS_CROSS_MV=\ - for tool in $(ADA_TOOLS) ; do \ - if [ -f $$tool$(exeext) ] ; \ - then \ + if [ -f gnatbind$(exeext) ] ; then \ + $(CP) gnatbind$(exeext) gnatbind-cross$(exeext); \ + fi; \ + for tool in $(filter-out gnatbind, $(ADA_TOOLS)) ; do \ + if [ -f $$tool$(exeext) ] ; then \ $(MV) $$tool$(exeext) $$tool-cross$(exeext); \ fi; \ done