This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: make inferior calls work on ia64 even when syscall is pending
- From: David Mosberger <davidm at napali dot hpl dot hp dot com>
- To: Mark Kettenis <kettenis at chello dot nl>
- Cc: davidm at hpl dot hp dot com, kevinb at redhat dot com, jjohnstn at redhat dot com,gdb-patches at sources dot redhat dot com
- Date: Wed, 31 Dec 2003 18:43:19 -0800
- Subject: Re: make inferior calls work on ia64 even when syscall is pending
- References: <16371.12104.503371.251351@napali.hpl.hp.com><200312312333.hBVNXNvg016633@elgar.kettenis.dyndns.org>
- Reply-to: davidm at hpl dot hp dot com
>>>>> On Thu, 1 Jan 2004 00:33:23 +0100 (CET), Mark Kettenis <kettenis@chello.nl> said:
Mark> If the gdb patch looks OK, please check it in.
Mark> David, there are two issues with the patch:
Mark> * I suspect that this approach is Linux-specific. If so, you
Mark> really shouldn't be adding this bit of code to the generic
Mark> ia64_write_pc(). Instead you should create a Linux-specific
Mark> ia64_linux_write_pc() and put it in ia64-linux-tdep.c; you'll
Mark> probably want to call the generic ia64_write_pc() from there.
Mark> Then you must hook in the Linux-specific version if the OSABI
Mark> is GDB_OSABI_LINUX.
I'm not sure how Linux-specific it really is. I think most Unixish
ia64 OSes use r10 as the syscall error flag. I'll leave this one to
the gdb experts that know the other ia64 OSes better than I do.
Mark> * You should use write_register_pid() instead of
Mark> write_register().
Ah, yes, I had the code in ia64_push_dummy_call() and failed to change
that when moving it to ia64_write_pc().
--david