This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Patch to swap libgcc2 and libgcc1 for libgcc.a
- To: gcc-patches at gcc dot gnu dot org
- Subject: Patch to swap libgcc2 and libgcc1 for libgcc.a
- From: Michael Hayes <m dot hayes at elec dot canterbury dot ac dot nz>
- Date: Fri, 04 Feb 2000 15:58:46 +1300 (NZDT)
This patch adds libgcc1.a to libgcc.a after libgcc2.a so that
optimised assembler written routines in libgcc1 can supercede the ones
in libgcc2 written in C.
OK to commit?
Michael.
2000-02-04 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
* Makefile.in (libgcc.a): Add $(LIBGCC1) to libgcc.a after $(LIBGCC2).
Index: Makefile.in
===================================================================
RCS file: /cvs/gcc/egcs/gcc/Makefile.in,v
retrieving revision 1.377
diff -c -3 -p -r1.377 Makefile.in
*** Makefile.in 2000/02/01 22:30:35 1.377
--- Makefile.in 2000/02/04 02:47:26
*************** libgcc2.a: libgcc2.c libgcc2.ready $(CON
*** 1152,1167 ****
libgcc.a: $(LIBGCC1) $(LIBGCC2)
-rm -rf tmplibgcc.a libgcc.a tmpcopy
mkdir tmpcopy
! -if [ x$(LIBGCC1) != x ]; \
! then (cd tmpcopy; $(AR_FOR_TARGET) x ../$(LIBGCC1)); \
! else true; \
! fi
# Some versions of ar (specifically the one in RISC/os 5.x), create an
# unwritable table of contents file, and then print an error message when
# the second ar command tries to overwrite this file. To avoid the error
# message from ar, we make sure all files are writable.
-(cd tmpcopy; chmod +w * > /dev/null 2>&1)
! (cd tmpcopy; $(AR_FOR_TARGET) x ../$(LIBGCC2))
(cd tmpcopy; $(AR_FOR_TARGET) $(AR_FLAGS_FOR_TARGET) ../tmplibgcc.a *$(objext))
rm -rf tmpcopy
-if $(RANLIB_TEST_FOR_TARGET) ; then \
--- 1153,1168 ----
libgcc.a: $(LIBGCC1) $(LIBGCC2)
-rm -rf tmplibgcc.a libgcc.a tmpcopy
mkdir tmpcopy
! (cd tmpcopy; $(AR_FOR_TARGET) x ../$(LIBGCC2))
# Some versions of ar (specifically the one in RISC/os 5.x), create an
# unwritable table of contents file, and then print an error message when
# the second ar command tries to overwrite this file. To avoid the error
# message from ar, we make sure all files are writable.
-(cd tmpcopy; chmod +w * > /dev/null 2>&1)
! -if [ x$(LIBGCC1) != x ]; \
! then (cd tmpcopy; $(AR_FOR_TARGET) x ../$(LIBGCC1)); \
! else true; \
! fi
(cd tmpcopy; $(AR_FOR_TARGET) $(AR_FLAGS_FOR_TARGET) ../tmplibgcc.a *$(objext))
rm -rf tmpcopy
-if $(RANLIB_TEST_FOR_TARGET) ; then \
*************** stmp-multilib-sub:
*** 1240,1255 ****
fi
rm -rf tmplibgcc.a tmpcopy
mkdir tmpcopy
! if [ x$(LIBGCC1) != x ]; \
! then (cd tmpcopy; $(AR_FOR_TARGET) x ../$(LIBGCC1)); \
! else true; \
! fi
# Some versions of ar (specifically the one in RISC/os 5.x), create an
# unwritable table of contents file, and then print an error message when
# the second ar command tries to overwrite this file. To avoid the error
# message from ar, we make sure all files are writable.
-(cd tmpcopy; chmod +w * > /dev/null 2>&1)
! (cd tmpcopy; $(AR_FOR_TARGET) x ../$(LIBGCC2))
(cd tmpcopy; $(AR_FOR_TARGET) $(AR_FLAGS_FOR_TARGET) ../tmplibgcc.a *$(objext))
rm -rf libgcc2.a tmpcopy
if $(RANLIB_TEST_FOR_TARGET) ; then \
--- 1241,1256 ----
fi
rm -rf tmplibgcc.a tmpcopy
mkdir tmpcopy
! (cd tmpcopy; $(AR_FOR_TARGET) x ../$(LIBGCC2))
# Some versions of ar (specifically the one in RISC/os 5.x), create an
# unwritable table of contents file, and then print an error message when
# the second ar command tries to overwrite this file. To avoid the error
# message from ar, we make sure all files are writable.
-(cd tmpcopy; chmod +w * > /dev/null 2>&1)
! if [ x$(LIBGCC1) != x ]; \
! then (cd tmpcopy; $(AR_FOR_TARGET) x ../$(LIBGCC1)); \
! else true; \
! fi
(cd tmpcopy; $(AR_FOR_TARGET) $(AR_FLAGS_FOR_TARGET) ../tmplibgcc.a *$(objext))
rm -rf libgcc2.a tmpcopy
if $(RANLIB_TEST_FOR_TARGET) ; then \