Commit 802b3461 by Daniel Jacobowitz Committed by Daniel Jacobowitz

lib1funcs.asm: Don't include "libunwind.S".

	* config/arm/lib1funcs.asm: Don't include "libunwind.S".
	* config/arm/libunwind.S: Include "lib1funcs.asm".
	* config/arm/t-bpabi (LIB1ASMFUNCS): Remove _unwind.
	(LIB2ADDEH): Add libunwind.S.
	(LIB2ADDEHDEP): Add lib1funcs.asm.
	* mklibgcc.in: Handle asm files in libgcc_eh.a.

From-SVN: r106488
parent aab384ae
2005-11-04 Daniel Jacobowitz <dan@codesourcery.com>
* config/arm/lib1funcs.asm: Don't include "libunwind.S".
* config/arm/libunwind.S: Include "lib1funcs.asm".
* config/arm/t-bpabi (LIB1ASMFUNCS): Remove _unwind.
(LIB2ADDEH): Add libunwind.S.
(LIB2ADDEHDEP): Add lib1funcs.asm.
* mklibgcc.in: Handle asm files in libgcc_eh.a.
2005-11-04 Francois-Xavier Coudert <coudert@clipper.ens.fr> 2005-11-04 Francois-Xavier Coudert <coudert@clipper.ens.fr>
PR fortran/18452 PR fortran/18452
......
...@@ -1315,5 +1315,4 @@ LSYM(Lchange_\register): ...@@ -1315,5 +1315,4 @@ LSYM(Lchange_\register):
#include "ieee754-df.S" #include "ieee754-df.S"
#include "ieee754-sf.S" #include "ieee754-sf.S"
#include "bpabi.S" #include "bpabi.S"
#include "libunwind.S"
#endif /* __symbian__ */ #endif /* __symbian__ */
/* Support functions for the unwinder. /* Support functions for the unwinder.
Copyright (C) 2003, 2004 Free Software Foundation, Inc. Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
Contributed by Paul Brook Contributed by Paul Brook
This file is free software; you can redistribute it and/or modify it This file is free software; you can redistribute it and/or modify it
...@@ -26,7 +26,9 @@ ...@@ -26,7 +26,9 @@
the Free Software Foundation, 51 Franklin Street, Fifth Floor, the Free Software Foundation, 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA. */ Boston, MA 02110-1301, USA. */
#ifdef L_unwind #ifndef __symbian__
#include "lib1funcs.asm"
.macro UNPREFIX name .macro UNPREFIX name
.global SYM (\name) .global SYM (\name)
...@@ -113,4 +115,4 @@ ARM_FUNC_START gnu_Unwind_Save_VFP ...@@ -113,4 +115,4 @@ ARM_FUNC_START gnu_Unwind_Save_VFP
UNWIND_WRAPPER _Unwind_RaiseException UNWIND_WRAPPER _Unwind_RaiseException
UNWIND_WRAPPER _Unwind_Resume UNWIND_WRAPPER _Unwind_Resume
#endif /* L_unwind */ #endif /* __symbian__ */
# Add the bpabi.S functions. # Add the bpabi.S functions.
LIB1ASMFUNCS += _aeabi_lcmp _aeabi_ulcmp _aeabi_ldivmod _aeabi_uldivmod \ LIB1ASMFUNCS += _aeabi_lcmp _aeabi_ulcmp _aeabi_ldivmod _aeabi_uldivmod
_unwind
# Add the BPABI C functions. # Add the BPABI C functions.
LIB2FUNCS_EXTRA = $(srcdir)/config/arm/bpabi.c \ LIB2FUNCS_EXTRA = $(srcdir)/config/arm/bpabi.c \
...@@ -8,8 +7,9 @@ LIB2FUNCS_EXTRA = $(srcdir)/config/arm/bpabi.c \ ...@@ -8,8 +7,9 @@ LIB2FUNCS_EXTRA = $(srcdir)/config/arm/bpabi.c \
UNWIND_H = $(srcdir)/config/arm/unwind-arm.h UNWIND_H = $(srcdir)/config/arm/unwind-arm.h
LIB2ADDEH = $(srcdir)/config/arm/unwind-arm.c \ LIB2ADDEH = $(srcdir)/config/arm/unwind-arm.c \
$(srcdir)/config/arm/libunwind.S \
$(srcdir)/config/arm/pr-support.c $(srcdir)/unwind-c.c $(srcdir)/config/arm/pr-support.c $(srcdir)/unwind-c.c
LIB2ADDEHDEP = $(UNWIND_H) LIB2ADDEHDEP = $(UNWIND_H) $(srcdir)/config/$(LIB1ASMSRC)
# Add the BPABI names. # Add the BPABI names.
SHLIB_MAPFILES += $(srcdir)/config/arm/libgcc-bpabi.ver SHLIB_MAPFILES += $(srcdir)/config/arm/libgcc-bpabi.ver
......
...@@ -510,36 +510,55 @@ for ml in $MULTILIBS; do ...@@ -510,36 +510,55 @@ for ml in $MULTILIBS; do
# If we don't have libgcc_eh.a, only LIB2ADDEH matters. If we do, only # If we don't have libgcc_eh.a, only LIB2ADDEH matters. If we do, only
# LIB2ADDEHSTATIC and LIB2ADDEHSHARED matter. (Usually all three are # LIB2ADDEHSTATIC and LIB2ADDEHSHARED matter. (Usually all three are
# identical.) We do _not_ handle assembly files in this context. # identical.)
if [ "$libgcc_eh_a" ]; then if [ "$libgcc_eh_a" ]; then
for file in $LIB2ADDEHSTATIC; do for file in $LIB2ADDEHSTATIC; do
case $file in name=`echo $file | sed -e 's/[.][cSo]$//' -e 's/[.]asm$//'`
*.c) ;;
*) echo "Unhandled extension: $file">&2; exit 1 ;;
esac
name=`echo $file | sed -e 's/[.]c$//'`
oname=`echo $name | sed -e 's,.*/,,'` oname=`echo $name | sed -e 's,.*/,,'`
out="libgcc/${dir}/${oname}${objext}" out="libgcc/${dir}/${oname}${objext}"
echo $out: stmp-dirs $file $LIB2ADDEHDEP $libgcc_dep case $file in
echo " $gcc_compile" $flags '$(vis_hide)' -fexceptions -c $file -o $out *.c)
echo $out: stmp-dirs $file $LIB2ADDEHDEP $libgcc_dep
echo " $gcc_compile" $flags -fexceptions '$(vis_hide)' -c $file -o $out
;;
*.asm | *.S)
# We have to compile it twice in order to establish the list
# of symbols to be marked hidden.
outV="libgcc/${dir}/${oname}.vis"
outT="libgcc/${dir}/${oname}_t${objext}"
echo ${outT}: stmp-dirs $file $LIB2ADDEHDEP $libgcc_dep
echo " $gcc_compile" $flags -xassembler-with-cpp \
-c $file -o ${outT}
echo $out: stmp-dirs $file $LIB2ADDEHDEP $libgcc_dep $outV
echo " $gcc_compile" $flags -xassembler-with-cpp \
-include $outV -c $file -o $out
echo "${outV}: ${outT}; \$(gen-hide-list)"
;;
*) echo "Unhandled extension: $file">&2; exit 1 ;;
esac
echo $libgcc_eh_a: $out echo $libgcc_eh_a: $out
done done
for file in $LIB2ADDEHSHARED; do for file in $LIB2ADDEHSHARED; do
case $file in name=`echo $file | sed -e 's/[.][cSo]$//' -e 's/[.]asm$//'`
*.c) ;;
*) echo "Unhandled extension: $file">&2; exit 1 ;;
esac
name=`echo $file | sed -e 's/[.]c$//'`
oname=`echo $name | sed -e 's,.*/,,'` oname=`echo $name | sed -e 's,.*/,,'`
outS="libgcc/${dir}/${oname}_s${objext}" outS="libgcc/${dir}/${oname}_s${objext}"
echo $outS: stmp-dirs $file $LIB2ADDEHDEP $libgcc_dep case $file in
echo " $gcc_s_compile" $flags -fexceptions -c $file -o $outS *.c)
echo $outS: stmp-dirs $file $LIB2ADDEHDEP $libgcc_dep
echo " $gcc_s_compile" $flags -fexceptions -c $file -o $outS
;;
*.asm | *.S)
echo $outS: stmp-dirs $file $LIB2ADDEHDEP $libgcc_dep
echo " $gcc_s_compile" $flags -xassembler-with-cpp -c $file -o $outS
;;
*) echo "Unhandled extension: $file">&2; exit 1 ;;
esac
echo $libgcc_s_so: $outS echo $libgcc_s_so: $outS
if [ "$SHLIB_MKMAP" ]; then if [ "$SHLIB_MKMAP" ]; then
echo libgcc/${dir}/libgcc.map: $outS echo libgcc/${dir}/libgcc.map: $outS
...@@ -561,22 +580,28 @@ for ml in $MULTILIBS; do ...@@ -561,22 +580,28 @@ for ml in $MULTILIBS; do
else # no libgcc_eh.a else # no libgcc_eh.a
for file in $LIB2ADDEH; do for file in $LIB2ADDEH; do
case $file in name=`echo $file | sed -e 's/[.][cSo]$//' -e 's/[.]asm$//'`
*.c) ;;
*) echo "Unhandled extension: $file">&2; exit 1 ;;
esac
name=`echo $file | sed -e 's/[.]c$//'`
oname=`echo $name | sed -e 's,.*/,,'` oname=`echo $name | sed -e 's,.*/,,'`
out="libgcc/${dir}/${oname}${objext}" out="libgcc/${dir}/${oname}${objext}"
echo $out: stmp-dirs $file $LIB2ADDEHDEP $libgcc_dep case $file in
echo " $gcc_compile" $flags -fexceptions '$(vis_hide)' -c $file -o $out *.c)
echo $out: stmp-dirs $file $LIB2ADDEHDEP $libgcc_dep
echo " $gcc_compile" $flags '$(vis_hide)' -fexceptions -c $file -o $out
;;
*.asm | *.S)
echo $out: stmp-dirs $file $LIB2ADDEHDEP $libgcc_dep
echo " $gcc_compile" $flags -xassembler-with-cpp \
-c $file -o $out
;;
*) echo "Unhandled extension: $file">&2; exit 1 ;;
esac
echo $libgcc_a: $out echo $libgcc_a: $out
done done
fi fi
# Again, this does not handle assembly. # We do _not_ handle assembly files in this context.
if [ "$LIBUNWIND" ]; then if [ "$LIBUNWIND" ]; then
for file in $LIBUNWIND; do for file in $LIBUNWIND; do
case $file in case $file in
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment