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
This commit is contained in:
parent
aab384ae9a
commit
802b34612c
5 changed files with 68 additions and 33 deletions
|
@ -1,3 +1,12 @@
|
|||
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__ */
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* 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__ */
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
# 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
|
||||
|
|
Loading…
Add table
Reference in a new issue