https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105664

--- Comment #1 from Francois-Xavier Coudert <fxcoudert at gcc dot gnu.org> ---
The bug exists in 11.3.0 and 12.1.0
The part of "make install-strip" that creates the issue is the following:


          if [ "gcc-11" != "aarch64-apple-darwin21-gcc-11" ]; then \
            rm -f
/private/tmp/gcc-20220519-78662-28g74h/gcc-11.3.0/build/../instdir/opt/homebrew/opt/gcc/bin/aarch64-apple-darwin21-gcc-11;
\
            ( cd
/private/tmp/gcc-20220519-78662-28g74h/gcc-11.3.0/build/../instdir/opt/homebrew/opt/gcc/bin
&& \
              ln gcc-11 aarch64-apple-darwin21-gcc-11 ); \
          fi; \
          if [ ! -f gcc-cross ] \
              && [ "gcc-11" != "aarch64-apple-darwin21-gcc-11" ]; then \
            rm -f
/private/tmp/gcc-20220519-78662-28g74h/gcc-11.3.0/build/../instdir/opt/homebrew/opt/gcc/bin/aarch64-apple-darwin21-gcc-tmp;
\
            ( cd
/private/tmp/gcc-20220519-78662-28g74h/gcc-11.3.0/build/../instdir/opt/homebrew/opt/gcc/bin
&& \
              ln gcc-11 aarch64-apple-darwin21-gcc-tmp && \
              mv -f aarch64-apple-darwin21-gcc-tmp
aarch64-apple-darwin21-gcc-11 ); \
          fi; \
        fi

which boils down to:

            rm -f aarch64-apple-darwin21-gcc-11
            ln gcc-11 aarch64-apple-darwin21-gcc-11
            rm -f aarch64-apple-darwin21-gcc-tmp
            ln gcc-11 aarch64-apple-darwin21-gcc-tmp
            mv -f aarch64-apple-darwin21-gcc-tmp aarch64-apple-darwin21-gcc-11

The final "mv -f" does nothing, since the two files are the same: it does not
remove aarch64-apple-darwin21-gcc-tmp, and this is how we end up with that file
in the prefix.

Reply via email to