make inferior calls work on ia64 even when syscall is pending

David Mosberger davidm@napali.hpl.hp.com
Thu Jan 1 02:43:00 GMT 2004


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



More information about the Gdb-patches mailing list