diff options
author | Mike Frysinger <vapier@gentoo.org> | 2022-11-04 00:25:32 +0700 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2022-11-04 01:37:07 +0700 |
commit | fa71c76d475f40cc583fb496d262c7bfa5a040fe (patch) | |
tree | 1648fa6c99be36c581e5a9873df797e8a3b4b83b | |
parent | e26943f9c7285a453c5daf10ed078b2a014977c6 (diff) | |
download | fsf-binutils-gdb-fa71c76d475f40cc583fb496d262c7bfa5a040fe.zip fsf-binutils-gdb-fa71c76d475f40cc583fb496d262c7bfa5a040fe.tar.gz fsf-binutils-gdb-fa71c76d475f40cc583fb496d262c7bfa5a040fe.tar.bz2 |
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.
-rw-r--r-- | sim/erc32/Makefile.in | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/sim/erc32/Makefile.in b/sim/erc32/Makefile.in index 41830aa..013b604 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 |