diff options
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/gdbarch.c | 2 | ||||
-rwxr-xr-x | gdb/gdbarch.sh | 16 |
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 |