From: Mike Frysinger Date: Thu, 3 Nov 2022 17:25:32 +0000 (+0700) Subject: sim: erc32: link sis to run program X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=fa71c76d475f40cc583fb496d262c7bfa5a040fe;p=binutils-gdb.git sim: erc32: link sis to run program The erc32 sim does a lot itself, including handling of the CLI. It used to provide a run-compatible interface in the pre-nrun days, but it was dropped when the old run interface was punted. Since the old commit 465fb143c87076b6416a8d0d5dd79bb016060fe3 ("sim: make nrun the default run program"), the erc32 run & sis programs have been the same, and erc32 hasn't provide a real run-compatible interface. Simplify this by linking the two programs via ln/cp instead of running the linking phase twice to produce the same result. If/when we fix up the erc32 port to have a proper run interface, it should be easy to split these back apart into real programs. Note: the interf.o reference in here is a bit of a misdirect. Since that object is placed into libsim.a, it's never been linked into the programs since the linker ignores objects that aren't referenced, and only gdb uses those symbols. --- diff --git a/sim/erc32/Makefile.in b/sim/erc32/Makefile.in index 41830aab726..013b604be49 100644 --- a/sim/erc32/Makefile.in +++ b/sim/erc32/Makefile.in @@ -34,13 +34,10 @@ SIM_EXTRA_CFLAGS += -DFAST_UART -I$(srcroot) ## COMMON_POST_CONFIG_FRAG -# `sis' doesn't need interf.o. -SIS_OFILES = exec.o erc32.o func.o help.o float.o - all: sis$(EXEEXT) -sis$(EXEEXT): sis.o $(SIS_OFILES) libsim.a $(LIBDEPS) - $(ECHO_CCLD) $(CC) $(ALL_CFLAGS) -o sis$(EXEEXT) \ - sis.o $(SIS_OFILES) libsim.a $(EXTRA_LIBS) +sis$(EXEEXT): run$(EXEEXT) + $(SILENCE) rm -f $@ + $(ECHO_GEN) ln $< $@ 2>/dev/null || $(LN_S) $< $@ 2>/dev/null || cp -p $< $@ # Copy the files into directories where they will be run. install-sis: installdirs