+
+ # 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.
+
+ 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$//'`
+ 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
+ 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$//'`
+ 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
+ echo $libgcc_s_so: $outS
+ if [ "$SHLIB_MKMAP" ]; then
+ echo libgcc/${dir}/libgcc.map: $outS
+ fi
+ 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
+ out="libgcc/${dir}/eh_dummy${objext}"
+ need_eh_dummy=1
+
+ echo $out: stmp-dirs $file
+ echo " $gcc_compile" $flags '$(vis_hide)' -fexceptions -c $file -o $out
+ echo $libgcc_eh_a: $out
+ fi
+
+
+ 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$//'`
+ 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
+ echo $libgcc_a: $out
+ done