Enable new thread support for Linux/IA-64.

This commit is contained in:
Kevin Buettner 2001-02-21 05:20:35 +00:00
parent 1ac7e077c9
commit fbad08934d
4 changed files with 29 additions and 3 deletions

View File

@ -1,3 +1,13 @@
2001-02-20 Kevin Buettner <kevinb@redhat.com>
* 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 <ac131313@redhat.com>
* mips-tdep.c (do_fp_register_row, do_fp_register_row): Fix printf

View File

@ -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

View File

@ -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 <signal.h>
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 */

View File

@ -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