sim: erc32: link sis to run program

Message ID 20221103183702.16032-1-vapier@gentoo.org
State Committed
Commit fa71c76d475f40cc583fb496d262c7bfa5a040fe
Headers
Series sim: erc32: link sis to run program |

Commit Message

Mike Frysinger Nov. 3, 2022, 6:37 p.m. UTC
  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.
---
 sim/erc32/Makefile.in | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)
  

Patch

diff --git a/sim/erc32/Makefile.in b/sim/erc32/Makefile.in
index 41830aab726f..013b604be49a 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