+2005-11-16 Steve Ellcey <sje@cup.hp.com>
+
+ PR target/24718
+ * mklibgcc.in: Create dummy object for libgcc_eh.a
+ * config/ia64/hpux.h (LIBGCC_SPEC): Remove.
+
2005-11-13 Andreas Jaeger <aj@suse.de>
* fixinc/check.tpl: Handle CVS additionally.
%{mlp64:-L/usr/lib/hpux64/libp} -lgprof} \
%{!symbolic:-lc}}"
-#ifndef CROSS_COMPILE
-#undef LIBGCC_SPEC
-#define LIBGCC_SPEC \
- "%{shared-libgcc:%{!mlp64:-lgcc_s}%{mlp64:-lgcc_s_hpux64} -lgcc} \
- %{!shared-libgcc:-lgcc}"
-#endif
-
#undef SUBTARGET_SWITCHES
#define SUBTARGET_SWITCHES \
{ "ilp32", MASK_ILP32, "Generate ILP32 code" }, \
fi
done
+# Flag whether we need eh_dummy.c
+need_eh_dummy=
+
if [ "$SHLIB_LINK" ]; then
# Those should be in libgcc_eh.a.
for file in $LIB2ADDEHSTATIC; do
oname=`echo $name | sed -e 's,.*/,,'`
libgcc2_eh_shared_objs="$libgcc2_eh_shared_objs ${oname}${objext}"
done
+
+ # If nothing went into libgcc_eh.a, create a dummy object -
+ # some linkers don't like totally empty archives.
+ if [ -z "$LIB2ADDEHSTATIC" ]; then
+ file=eh_dummy.c
+ libgcc2_eh_static_objs="$libgcc2_eh_static_objs eh_dummy${objext}"
+ need_eh_dummy=1
+
+ for ml in $MULTILIBS; do
+ dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'`
+ flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`;
+ out="libgcc/${dir}/eh_dummy${objext}"
+
+ echo $out: stmp-dirs $file
+ echo " $gcc_compile" $flags -fexceptions -c $file -o $out
+ done
+ fi
fi
for file in $LIB2ADD_ST; do
echo ""
echo "all: $all"
+if [ "$need_eh_dummy" ]; then
+ echo "eh_dummy.c:"
+ echo " echo 'int __libgcc_eh_dummy;' > \$@"
+fi
+
echo ""
echo "install: $all"
for ml in $MULTILIBS; do