sim: ppc: fallback when ln is not available [PR sim/18864]
authorMike Frysinger <vapier@gentoo.org>
Sun, 3 Oct 2021 15:27:35 +0000 (11:27 -0400)
committerMike Frysinger <vapier@gentoo.org>
Sun, 3 Oct 2021 15:36:30 +0000 (11:36 -0400)
Not all systems have easy access to hard links or symlinks, so add
fallback logic to the run->psim build code to handle those.

Bug: https://sourceware.org/PR18864

sim/arch-subdir.mk.in
sim/ppc/Makefile.in

index efd91e76b1c3939a748970cc1367c33c0174c77e..96b481a97e25cd32431244906bfad22959f16660 100644 (file)
@@ -26,6 +26,7 @@ EXEEXT = @EXEEXT@
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+LN_S = @LN_S@
 
 CC = @CC@
 C_DIALECT = @C_DIALECT@
index 9d892ee5999fb441dc9be65efef71954ae10ec4d..c230f29d68831690608688dff65191c9fc0af10c 100644 (file)
@@ -522,8 +522,8 @@ psim$(EXEEXT): $(TARGETLIB) main.o $(LIBIBERTY_LIB) $(BFD_LIB) $(LIBINTL_DEP)
        $(CC) $(CFLAGS) $(LDFLAGS) -o psim$(EXEEXT) main.o $(TARGETLIB) $(BFD_LIB) $(ZLIB) $(LIBINTL) $(LIBIBERTY_LIB) $(LIBS)
 
 run$(EXEEXT): psim$(EXEEXT)
-       rm -f run$(EXEEXT)
-       ln psim$(EXEEXT) run$(EXEEXT)
+       rm -f $@
+       ln $< $@ 2>/dev/null || $(LN_S) $< $@ 2>/dev/null || cp -p $< $@
 
 $(TARGETLIB): tmp-igen tmp-dgen tmp-hw tmp-pk tmp-defines $(LIB_OBJ) $(GDB_OBJ)
        rm -f $(TARGETLIB)