aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDoug Evans <dje@gnu.org>1995-02-13 22:14:59 +0000
committerDoug Evans <dje@gnu.org>1995-02-13 22:14:59 +0000
commita2ab7f2bf31282e7f915e31ed8650e48c3ecde07 (patch)
treeea709bd89f8c5206a23196246497901955f43a76 /gcc
parent4d1065ed1b3ec80edaa39bcb1b302b7cc0d1f2cb (diff)
downloadgcc-a2ab7f2bf31282e7f915e31ed8650e48c3ecde07.zip
gcc-a2ab7f2bf31282e7f915e31ed8650e48c3ecde07.tar.gz
gcc-a2ab7f2bf31282e7f915e31ed8650e48c3ecde07.tar.bz2
(libgcc1.S): New target.
From-SVN: r8943
Diffstat (limited to 'gcc')
-rw-r--r--gcc/Makefile.in17
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index b33cbed..0cf3b43 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -789,6 +789,23 @@ libgcc1-asm.a: libgcc2.ready config.status $(srcdir)/config/$(LIB1ASMSRC)
-rm -f libgcc1.S
mv tmplibgcc1.a libgcc1-asm.a
+# Generate assembly versions of the functions required for libgcc1.
+# You'll still need to massage the code by hand (possibly hacking
+# underscores and local labels) but this will get you started.
+libgcc1.S: libgcc1.c $(CONFIG_H) config.status
+ -rm -f libgcc1.S
+ touch libgcc1.S
+ for name in $(LIB1FUNCS); \
+ do \
+ echo $${name}; \
+ $(OLDCC) $(CCLIBFLAGS) $(INCLUDES) -S -DL$${name} $(srcdir)/libgcc1.c; \
+ if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
+ echo '#ifdef ' L$${name} >> libgcc1.S; \
+ cat libgcc1.s >> libgcc1.S; \
+ echo '#endif /*' L$${name} '*/' >> libgcc1.S; \
+ echo "" >> libgcc1.S; \
+ done
+
# Compiling libgcc2.a requires making sure that cc1, etc. have been compiled.
# But recompiling cc1 should not force recompilation of libgcc2.a.
# If you want to force recompilation, delete libgcc2.a.