aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/gdbarch.c2
-rwxr-xr-xgdb/gdbarch.sh16
3 files changed, 22 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 9ad8d3c..ceb1db6 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,9 @@
+2001-11-07 Andrew Cagney <ac131313@redhat.com>
+
+ * gdbarch.sh: For multi-arch functions, check there is a
+ predefault and use it as the static default.
+ * gdbarch.c: Re-generate.
+
2001-11-08 Mark Kettenis <kettenis@gnu.org>
* config/i386/tm-linux.h (I386_LINUX_ORIG_EAX_REGNUM): Define in
diff --git a/gdb/gdbarch.c b/gdb/gdbarch.c
index ee4512e..1a86887 100644
--- a/gdb/gdbarch.c
+++ b/gdb/gdbarch.c
@@ -393,7 +393,7 @@ struct gdbarch startup_gdbarch =
0,
0,
0,
- 0,
+ generic_in_function_epilogue_p,
/* startup_gdbarch() */
};
diff --git a/gdb/gdbarch.sh b/gdb/gdbarch.sh
index e469460..ad013cc 100755
--- a/gdb/gdbarch.sh
+++ b/gdb/gdbarch.sh
@@ -76,7 +76,11 @@ EOF
fi
done
- test "${staticdefault}" || staticdefault=0
+ case "${class}" in
+ m ) staticdefault="${predefault}" ;;
+ M ) staticdefault="0" ;;
+ * ) test "${staticdefault}" || staticdefault=0 ;;
+ esac
# NOT YET: Breaks BELIEVE_PCC_PROMOTION and confuses non-
# multi-arch defaults.
# test "${predefault}" || predefault=0
@@ -588,6 +592,16 @@ EOF
kill $$
exit 1
fi
+ if class_is_multiarch_p
+ then
+ if class_is_predicate_p ; then :
+ elif test "x${predefault}" = "x"
+ then
+ echo "Error: pure multi-arch function must have a predefault" 1>&2
+ kill $$
+ exit 1
+ fi
+ fi
echo ""
done