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>
PR fortran/18452
......
......@@ -1315,5 +1315,4 @@ LSYM(Lchange_\register):
#include "ieee754-df.S"
#include "ieee754-sf.S"
#include "bpabi.S"
#include "libunwind.S"
#endif /* __symbian__ */
/* 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
This file is free software; you can redistribute it and/or modify it
......@@ -26,7 +26,9 @@
the Free Software Foundation, 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA. */
#ifdef L_unwind
#ifndef __symbian__
#include "lib1funcs.asm"
.macro UNPREFIX name
.global SYM (\name)
......@@ -113,4 +115,4 @@ ARM_FUNC_START gnu_Unwind_Save_VFP
UNWIND_WRAPPER _Unwind_RaiseException
UNWIND_WRAPPER _Unwind_Resume
#endif /* L_unwind */
#endif /* __symbian__ */
# Add the bpabi.S functions.
LIB1ASMFUNCS += _aeabi_lcmp _aeabi_ulcmp _aeabi_ldivmod _aeabi_uldivmod \
_unwind
LIB1ASMFUNCS += _aeabi_lcmp _aeabi_ulcmp _aeabi_ldivmod _aeabi_uldivmod
# Add the BPABI C functions.
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
LIB2ADDEH = $(srcdir)/config/arm/unwind-arm.c \
$(srcdir)/config/arm/libunwind.S \
$(srcdir)/config/arm/pr-support.c $(srcdir)/unwind-c.c
LIB2ADDEHDEP = $(UNWIND_H)
LIB2ADDEHDEP = $(UNWIND_H) $(srcdir)/config/$(LIB1ASMSRC)
# Add the BPABI names.
SHLIB_MAPFILES += $(srcdir)/config/arm/libgcc-bpabi.ver
......
......@@ -510,36 +510,55 @@ for ml in $MULTILIBS; do
# If we don't have libgcc_eh.a, only LIB2ADDEH matters. If we do, only
# LIB2ADDEHSTATIC and LIB2ADDEHSHARED matter. (Usually all three are
# identical.) We do _not_ handle assembly files in this context.
# identical.)
if [ "$libgcc_eh_a" ]; then
for file in $LIB2ADDEHSTATIC; do
case $file in
*.c) ;;
*) echo "Unhandled extension: $file">&2; exit 1 ;;
esac
name=`echo $file | sed -e 's/[.]c$//'`
name=`echo $file | sed -e 's/[.][cSo]$//' -e 's/[.]asm$//'`
oname=`echo $name | sed -e 's,.*/,,'`
out="libgcc/${dir}/${oname}${objext}"
echo $out: stmp-dirs $file $LIB2ADDEHDEP $libgcc_dep
echo " $gcc_compile" $flags '$(vis_hide)' -fexceptions -c $file -o $out
case $file in
*.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
done
for file in $LIB2ADDEHSHARED; do
case $file in
*.c) ;;
*) echo "Unhandled extension: $file">&2; exit 1 ;;
esac
name=`echo $file | sed -e 's/[.]c$//'`
name=`echo $file | sed -e 's/[.][cSo]$//' -e 's/[.]asm$//'`
oname=`echo $name | sed -e 's,.*/,,'`
outS="libgcc/${dir}/${oname}_s${objext}"
echo $outS: stmp-dirs $file $LIB2ADDEHDEP $libgcc_dep
echo " $gcc_s_compile" $flags -fexceptions -c $file -o $outS
case $file in
*.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
if [ "$SHLIB_MKMAP" ]; then
echo libgcc/${dir}/libgcc.map: $outS
......@@ -561,22 +580,28 @@ for ml in $MULTILIBS; do
else # no libgcc_eh.a
for file in $LIB2ADDEH; do
case $file in
*.c) ;;
*) echo "Unhandled extension: $file">&2; exit 1 ;;
esac
name=`echo $file | sed -e 's/[.]c$//'`
name=`echo $file | sed -e 's/[.][cSo]$//' -e 's/[.]asm$//'`
oname=`echo $name | sed -e 's,.*/,,'`
out="libgcc/${dir}/${oname}${objext}"
echo $out: stmp-dirs $file $LIB2ADDEHDEP $libgcc_dep
echo " $gcc_compile" $flags -fexceptions '$(vis_hide)' -c $file -o $out
case $file in
*.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
done
fi
# Again, this does not handle assembly.
# We do _not_ handle assembly files in this context.
if [ "$LIBUNWIND" ]; then
for file in $LIBUNWIND; do
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