From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11744 invoked by alias); 17 Feb 2004 16:21:58 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 11736 invoked from network); 17 Feb 2004 16:21:57 -0000 Received: from unknown (HELO localhost.redhat.com) (216.129.200.20) by sources.redhat.com with SMTP; 17 Feb 2004 16:21:57 -0000 Received: from gnu.org (localhost [127.0.0.1]) by localhost.redhat.com (Postfix) with ESMTP id 889D52B92; Tue, 17 Feb 2004 11:21:54 -0500 (EST) Message-ID: <40323FA2.4090009@gnu.org> Date: Tue, 17 Feb 2004 16:21:00 -0000 From: Andrew Cagney User-Agent: Mozilla/5.0 (X11; U; NetBSD macppc; en-US; rv:1.0.2) Gecko/20030820 MIME-Version: 1.0 To: davidm@hpl.hp.com, kevinb@redhat.com Cc: Mark Kettenis , jjohnstn@redhat.com, gdb-patches@sources.redhat.com 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> <16428.9442.113820.725379@napali.hpl.hp.com> <200402131458.i1DEw4bu000328@elgar.kettenis.dyndns.org> <402CE955.70007@gnu.org> <16429.19070.362324.227537@napali.hpl.hp.com> Content-Type: multipart/mixed; boundary="------------060102010609040706010409" X-SW-Source: 2004-02/txt/msg00472.txt.bz2 This is a multi-part message in MIME format. --------------060102010609040706010409 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Content-length: 1172 > 2004-02-13 David Mosberger > > * Makefile.in (ia64_tdep_h): New macro. > (ia64-linux-tdep.o): Mention $(ia64_tdep_h). > (ia64-tdep.o): Likewise. > > * ia64-tdep.h (ia64_linux_write_pc): New file. > * ia64-tdep.c: Update copyright notice. > Include "ia64-tdep.h". > (ia64_linux_sigcontext_register_address): Move decl to ia64-tdep.h. > (ia64_aix_sigcontext_register_address): Likewise. > (ia64_linux_getunwind_table): Likewise. > * ia64-linux-tdep.c: Likewise. > Include "regcache.h" to get write_register_pid() declared. > I've checked this part in as obvious (David doesn't want ssh access :-) which leaves: > 2004-02-12 David Mosberger > > * ia64-tdep.c (ia64_linux_write_pc): Declare as extern. > (ia64_write_pc): Make it a global function. > (ia64_gdbarch_init): For Linux targets, use ia64_linux_write_pc() > instead of ia64_write_pc(). > > * ia64-linux-tdep.c (ia64_write_pc): Declare as extern. > (ia64_linux_write_pc): New function. Works like ia64_write_pc(), > except that it also clears r10 afterwards to prevent the kernel > from attempting to restart an interrupt system call. Andrew --------------060102010609040706010409 Content-Type: text/plain; name="diffs" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="diffs" Content-length: 5296 2004-02-17 David Mosberger Committed by Andrew Cagney. * Makefile.in (ia64_tdep_h): New macro. (ia64-linux-tdep.o): Mention $(ia64_tdep_h). (ia64-tdep.o): Likewise. * ia64-tdep.h: New file. * ia64-tdep.c: Update copyright notice. Include "ia64-tdep.h". (ia64_linux_sigcontext_register_address): Move decl to ia64-tdep.h. (ia64_aix_sigcontext_register_address): Likewise. (ia64_linux_getunwind_table): Delete declaration. * ia64-linux-tdep.c: Likewise. Index: Makefile.in =================================================================== RCS file: /cvs/src/src/gdb/Makefile.in,v retrieving revision 1.502 diff -u -r1.502 Makefile.in --- Makefile.in 17 Feb 2004 15:21:21 -0000 1.502 +++ Makefile.in 17 Feb 2004 16:19:32 -0000 @@ -683,6 +683,7 @@ i386_linux_tdep_h = i386-linux-tdep.h i386_tdep_h = i386-tdep.h i387_tdep_h = i387-tdep.h +ia64_tdep_h = ia64-tdep.h infcall_h = infcall.h inferior_h = inferior.h $(breakpoint_h) $(target_h) $(frame_h) inf_loop_h = inf-loop.h @@ -1823,13 +1824,14 @@ ia64-aix-tdep.o: ia64-aix-tdep.c $(defs_h) ia64-linux-nat.o: ia64-linux-nat.c $(defs_h) $(gdb_string_h) $(inferior_h) \ $(target_h) $(gdbcore_h) $(regcache_h) $(gdb_wait_h) $(gregset_h) -ia64-linux-tdep.o: ia64-linux-tdep.c $(defs_h) $(arch_utils_h) $(gdbcore_h) +ia64-linux-tdep.o: ia64-linux-tdep.c $(defs_h) $(ia64_tdep_h) \ + $(arch_utils_h) $(gdbcore_h) ia64-tdep.o: ia64-tdep.c $(defs_h) $(inferior_h) $(gdbcore_h) \ $(arch_utils_h) $(floatformat_h) $(regcache_h) $(reggroups_h) \ $(frame_h) $(frame_base_h) $(frame_unwind_h) $(doublest_h) \ $(value_h) $(gdb_assert_h) $(objfiles_h) $(elf_common_h) \ - $(elf_bfd_h) $(elf_h) $(dis_asm_h) $(libunwind_frame_h) \ - $(libunwind_ia64_h) + $(elf_bfd_h) $(elf_h) $(dis_asm_h) $(ia64_tdep_h) \ + $(libunwind_frame_h) $(libunwind_ia64_h) infcall.o: infcall.c $(defs_h) $(breakpoint_h) $(target_h) $(regcache_h) \ $(inferior_h) $(gdb_assert_h) $(block_h) $(gdbcore_h) $(language_h) \ $(objfiles_h) $(gdbcmd_h) $(command_h) $(gdb_string_h) $(infcall_h) Index: ia64-linux-tdep.c =================================================================== RCS file: /cvs/src/src/gdb/ia64-linux-tdep.c,v retrieving revision 1.5 diff -u -r1.5 ia64-linux-tdep.c --- ia64-linux-tdep.c 8 Jan 2004 16:46:27 -0000 1.5 +++ ia64-linux-tdep.c 17 Feb 2004 16:19:32 -0000 @@ -1,6 +1,6 @@ /* Target-dependent code for the IA-64 for GDB, the GNU debugger. - Copyright 2000, 2004 - Free Software Foundation, Inc. + + Copyright 2000, 2004 Free Software Foundation, Inc. This file is part of GDB. @@ -20,6 +20,7 @@ Boston, MA 02111-1307, USA. */ #include "defs.h" +#include "ia64-tdep.h" #include "arch-utils.h" #include "gdbcore.h" Index: ia64-tdep.c =================================================================== RCS file: /cvs/src/src/gdb/ia64-tdep.c,v retrieving revision 1.115 diff -u -r1.115 ia64-tdep.c --- ia64-tdep.c 17 Feb 2004 15:21:21 -0000 1.115 +++ ia64-tdep.c 17 Feb 2004 16:19:32 -0000 @@ -1,6 +1,7 @@ /* Target-dependent code for the IA-64 for GDB, the GNU debugger. - Copyright 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + Copyright 1999, 2000, 2001, 2002, 2003, 2004 Free Software + Foundation, Inc. This file is part of GDB. @@ -37,6 +38,7 @@ #include "elf-bfd.h" #include "elf.h" /* for PT_IA64_UNWIND value */ #include "dis-asm.h" +#include "ia64-tdep.h" #ifdef HAVE_LIBUNWIND_IA64_H #include "libunwind-frame.h" @@ -88,11 +90,6 @@ /* Length in bytes of an instruction bundle */ #define BUNDLE_LEN 16 - -/* FIXME: These extern declarations should go in ia64-tdep.h. */ -extern CORE_ADDR ia64_linux_sigcontext_register_address (CORE_ADDR, int); -extern CORE_ADDR ia64_aix_sigcontext_register_address (CORE_ADDR, int); -extern unsigned long ia64_linux_getunwind_table (void *, size_t); static gdbarch_init_ftype ia64_gdbarch_init; Index: ia64-tdep.h =================================================================== RCS file: ia64-tdep.h diff -N ia64-tdep.h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ ia64-tdep.h 17 Feb 2004 16:19:32 -0000 @@ -0,0 +1,29 @@ +/* Target-dependent code for the ia64. + + Copyright 2004 Free Software Foundation, Inc. + + This file is part of GDB. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef IA64_TDEP_H +#define IA64_TDEP_H + +extern CORE_ADDR ia64_linux_sigcontext_register_address (CORE_ADDR, int); +extern CORE_ADDR ia64_aix_sigcontext_register_address (CORE_ADDR, int); +extern unsigned long ia64_linux_getunwind_table (void *, size_t); + +#endif /* IA64_TDEP_H */ --------------060102010609040706010409--