From: Kevin Buettner Date: Wed, 21 Feb 2001 05:20:35 +0000 (+0000) Subject: Enable new thread support for Linux/IA-64. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=fbad08934dd31e50f358eaf3db5d2b827946d643;p=binutils-gdb.git Enable new thread support for Linux/IA-64. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 5c2f674d95f..379e1770062 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,13 @@ +2001-02-20 Kevin Buettner + + * ia64-tdep.c (ia64_frameless_function_invocation): Implement. + * config/ia64/linux.mh (NATDEPFILES): Use thread-db.o and lin-lwp.o + for thread support instead of linux-thread.o and lin-thread.o. + * config/ia64/nm-linux.h (PREPARE_TO_PROCEED, GET_THREAD_SIGNALS, + ATTACH_LWP): Define to use the following lin-lwp.c functions... + (lin_lwp_prepare_to_proceed, lin_thread_get_thread_signals, + lin_lwp_attach_lwp): Declare. + 2001-02-20 Andrew Cagney * mips-tdep.c (do_fp_register_row, do_fp_register_row): Fix printf diff --git a/gdb/config/ia64/linux.mh b/gdb/config/ia64/linux.mh index 5f10b09273c..8e27f971e12 100644 --- a/gdb/config/ia64/linux.mh +++ b/gdb/config/ia64/linux.mh @@ -5,7 +5,7 @@ XDEPFILES= NAT_FILE= nm-linux.h NATDEPFILES= infptrace.o inftarg.o fork-child.o corelow.o \ - core-aout.o core-regset.o ia64-linux-nat.o linux-thread.o lin-thread.o + core-aout.o core-regset.o ia64-linux-nat.o thread-db.o lin-lwp.o LOADLIBES = -ldl -rdynamic diff --git a/gdb/config/ia64/nm-linux.h b/gdb/config/ia64/nm-linux.h index 4422d1d249a..579d305da33 100644 --- a/gdb/config/ia64/nm-linux.h +++ b/gdb/config/ia64/nm-linux.h @@ -75,4 +75,20 @@ extern int ia64_linux_insert_watchpoint (int pid, CORE_ADDR addr, ia64_linux_remove_watchpoint (inferior_pid, addr, len) extern int ia64_linux_remove_watchpoint (int pid, CORE_ADDR addr, int len); +/* FIXME: kettenis/2000-09-03: This should be moved to ../nm-linux.h + once we have converted all Linux targets to use the new threads + stuff (without the #undef of course). */ + +extern int lin_lwp_prepare_to_proceed (void); +#undef PREPARE_TO_PROCEED +#define PREPARE_TO_PROCEED(select_it) lin_lwp_prepare_to_proceed () + +extern void lin_lwp_attach_lwp (int pid, int verbose); +#define ATTACH_LWP(pid, verbose) lin_lwp_attach_lwp ((pid), (verbose)) + +#include + +extern void lin_thread_get_thread_signals (sigset_t *mask); +#define GET_THREAD_SIGNALS(mask) lin_thread_get_thread_signals (mask) + #endif /* #ifndef NM_LINUX_H */ diff --git a/gdb/ia64-tdep.c b/gdb/ia64-tdep.c index 0ace093742a..e68c5fb1e5d 100644 --- a/gdb/ia64-tdep.c +++ b/gdb/ia64-tdep.c @@ -1341,8 +1341,8 @@ ia64_store_struct_return (CORE_ADDR addr, CORE_ADDR sp) int ia64_frameless_function_invocation (struct frame_info *frame) { - /* FIXME: Implement */ - return 0; + FRAME_INIT_SAVED_REGS (frame); + return (frame->extra_info->mem_stack_frame_size == 0); } CORE_ADDR