Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* Remove ia64-*-aix* support
@ 2005-01-04 23:04 Mark Kettenis
  2005-01-05 17:09 ` Kevin Buettner
  2005-01-05 17:25 ` Andreas Schwab
  0 siblings, 2 replies; 5+ messages in thread
From: Mark Kettenis @ 2005-01-04 23:04 UTC (permalink / raw)
  To: gdb-patches

AIX for Itanium was never released, and its support has been removed
from BFD in July 2003.  I can't delete it all since for some reason
Linux includes ia64-aix-tdep.c, but this removes the obvious stuff.

Committed,

Mark

Index: ChangeLog
from  Mark Kettenis  <kettenis@gnu.org>
 
	* configure.host (ia64-*-aix*): Remove.
	* configure.tgt (ia64-*-aix*): Remove.
	* config/ia64/aix.mh: Remove file.
	* config/ia64/aix.mt: Remove file.
	* config/ia64/tm-aix.h: Remove file.
	* ia64-aix-nat.c: Remove file.
	* Makefile.in (ia64-aix-nat.o): Remove dependency.

 
Index: configure.tgt
===================================================================
RCS file: /cvs/src/src/gdb/configure.tgt,v
retrieving revision 1.155
diff -u -p -r1.155 configure.tgt
--- configure.tgt 11 Dec 2004 02:02:01 -0000 1.155
+++ configure.tgt 4 Jan 2005 22:56:08 -0000
@@ -96,7 +96,6 @@ i[34567]86-*-netware*)	gdb_target=i386
 i[34567]86-*-cygwin*)	gdb_target=cygwin  ;;
 i[34567]86-*-*)		gdb_target=i386 ;;
 
-ia64-*-aix*)		gdb_target=aix ;;
 ia64-*-linux*)		gdb_target=linux
 			build_gdbserver=yes
 			;;
Index: configure.host
===================================================================
RCS file: /cvs/src/src/gdb/configure.host,v
retrieving revision 1.91
diff -u -p -r1.91 configure.host
--- configure.host 18 Dec 2004 17:36:32 -0000 1.91
+++ configure.host 4 Jan 2005 22:56:08 -0000
@@ -85,7 +85,6 @@ i[34567]86-*-sysv*)	gdb_host=i386v ;;
 i[34567]86-*-isc*)	gdb_host=i386v ;;
 i[34567]86-*-cygwin*)	gdb_host=cygwin ;;
 
-ia64-*-aix*)		gdb_host=aix ;;
 ia64-*-linux*)		gdb_host=linux ;;
 
 m68*-*-linux*)		gdb_host=linux ;;
Index: Makefile.in
===================================================================
RCS file: /cvs/src/src/gdb/Makefile.in,v
retrieving revision 1.680
diff -u -p -r1.680 Makefile.in
--- Makefile.in 18 Dec 2004 17:36:32 -0000 1.680
+++ Makefile.in 4 Jan 2005 22:56:12 -0000
@@ -2051,9 +2051,6 @@ i386v-nat.o: i386v-nat.c $(defs_h) $(fra
 i387-tdep.o: i387-tdep.c $(defs_h) $(doublest_h) $(floatformat_h) $(frame_h) \
 	$(gdbcore_h) $(inferior_h) $(language_h) $(regcache_h) $(value_h) \
 	$(gdb_assert_h) $(gdb_string_h) $(i386_tdep_h) $(i387_tdep_h)
-ia64-aix-nat.o: ia64-aix-nat.c $(defs_h) $(inferior_h) $(target_h) \
-	$(gdbcore_h) $(regcache_h) $(symtab_h) $(bfd_h) $(symfile_h) \
-	$(objfiles_h) $(gdb_stat_h)
 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)


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Remove ia64-*-aix* support
  2005-01-04 23:04 Remove ia64-*-aix* support Mark Kettenis
@ 2005-01-05 17:09 ` Kevin Buettner
  2005-01-05 21:19   ` Andreas Schwab
  2005-01-05 17:25 ` Andreas Schwab
  1 sibling, 1 reply; 5+ messages in thread
From: Kevin Buettner @ 2005-01-05 17:09 UTC (permalink / raw)
  To: gdb-patches

On Wed, 5 Jan 2005 00:04:39 +0100 (CET)
Mark Kettenis <kettenis@gnu.org> wrote:

> AIX for Itanium was never released, and its support has been removed
> from BFD in July 2003.  I can't delete it all since for some reason
> Linux includes ia64-aix-tdep.c, but this removes the obvious stuff.

Thanks for doing this.

I've just committed the patch below which eliminates ia64-aix-tdep.c. 
I've done a test build of --target=ia64-linux, but have not actually
run the testsuite with these changes.

	* ia64-tdep.c (ia64_gdbarch_init): Eliminate dependency on 
	functions in ia64-aix-tdep.c.
	* ia64-tdep.h (ia64_aix_sigcontext_register_address): Remove
	function defined in ia64-aix-tdep.c.
	* ia64-aix-tdep.c: Remove file.
	* config/ia64/linux.mt (TDEPFILES): Remove ia64-aix-tdep.o from
	this list.
	* Makefile.in (ia64-aix-tdep.o): Delete.

Index: Makefile.in
===================================================================
RCS file: /cvs/src/src/gdb/Makefile.in,v
retrieving revision 1.681
diff -u -p -r1.681 Makefile.in
--- Makefile.in	4 Jan 2005 22:59:44 -0000	1.681
+++ Makefile.in	5 Jan 2005 16:55:09 -0000
@@ -2051,7 +2051,6 @@ i386v-nat.o: i386v-nat.c $(defs_h) $(fra
 i387-tdep.o: i387-tdep.c $(defs_h) $(doublest_h) $(floatformat_h) $(frame_h) \
 	$(gdbcore_h) $(inferior_h) $(language_h) $(regcache_h) $(value_h) \
 	$(gdb_assert_h) $(gdb_string_h) $(i386_tdep_h) $(i387_tdep_h)
-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) $(ia64_tdep_h) \
Index: ia64-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/ia64-tdep.c,v
retrieving revision 1.125
diff -u -p -r1.125 ia64-tdep.c
--- ia64-tdep.c	13 Nov 2004 02:15:32 -0000	1.125
+++ ia64-tdep.c	5 Jan 2005 16:55:09 -0000
@@ -3268,8 +3268,6 @@ ia64_gdbarch_init (struct gdbarch_info i
      to do it.  */
   if (info.osabi == GDB_OSABI_LINUX)
     tdep->sigcontext_register_address = ia64_linux_sigcontext_register_address;
-  else if (native_find_global_pointer != 0)
-    tdep->sigcontext_register_address = ia64_aix_sigcontext_register_address;
   else
     tdep->sigcontext_register_address = 0;
 
Index: ia64-tdep.h
===================================================================
RCS file: /cvs/src/src/gdb/ia64-tdep.h,v
retrieving revision 1.2
diff -u -p -r1.2 ia64-tdep.h
--- ia64-tdep.h	24 Feb 2004 22:35:01 -0000	1.2
+++ ia64-tdep.h	5 Jan 2005 16:55:09 -0000
@@ -23,7 +23,6 @@
 #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);
 extern void ia64_write_pc (CORE_ADDR, ptid_t);
 extern void ia64_linux_write_pc (CORE_ADDR, ptid_t);
Index: config/ia64/linux.mt
===================================================================
RCS file: /cvs/src/src/gdb/config/ia64/linux.mt,v
retrieving revision 1.9
diff -u -p -r1.9 linux.mt
--- config/ia64/linux.mt	13 Sep 2004 20:55:40 -0000	1.9
+++ config/ia64/linux.mt	5 Jan 2005 16:55:10 -0000
@@ -1,4 +1,4 @@
 # Target: Intel IA-64 running GNU/Linux
-TDEPFILES= ia64-tdep.o ia64-aix-tdep.o ia64-linux-tdep.o \
+TDEPFILES= ia64-tdep.o ia64-linux-tdep.o \
 	solib.o solib-svr4.o solib-legacy.o
 DEPRECATED_TM_FILE= tm-linux.h


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Remove ia64-*-aix* support
  2005-01-04 23:04 Remove ia64-*-aix* support Mark Kettenis
  2005-01-05 17:09 ` Kevin Buettner
@ 2005-01-05 17:25 ` Andreas Schwab
  1 sibling, 0 replies; 5+ messages in thread
From: Andreas Schwab @ 2005-01-05 17:25 UTC (permalink / raw)
  To: Mark Kettenis; +Cc: gdb-patches

Mark Kettenis <kettenis@gnu.org> writes:

> I can't delete it all since for some reason Linux includes
> ia64-aix-tdep.c,

For the same reason AIX included ia64-linux-tdep.c.  ia64-tdep.c
references things like ia64_linux_sigcontext_register_address and
ia64_aix_sigcontext_register_address.

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Remove ia64-*-aix* support
  2005-01-05 17:09 ` Kevin Buettner
@ 2005-01-05 21:19   ` Andreas Schwab
  2005-01-05 21:51     ` Kevin Buettner
  0 siblings, 1 reply; 5+ messages in thread
From: Andreas Schwab @ 2005-01-05 21:19 UTC (permalink / raw)
  To: Kevin Buettner; +Cc: gdb-patches

Kevin Buettner <kevinb@redhat.com> writes:

> On Wed, 5 Jan 2005 00:04:39 +0100 (CET)
> Mark Kettenis <kettenis@gnu.org> wrote:
>
>> AIX for Itanium was never released, and its support has been removed
>> from BFD in July 2003.  I can't delete it all since for some reason
>> Linux includes ia64-aix-tdep.c, but this removes the obvious stuff.
>
> Thanks for doing this.
>
> I've just committed the patch below which eliminates ia64-aix-tdep.c. 
> I've done a test build of --target=ia64-linux, but have not actually
> run the testsuite with these changes.

Here is a followup patch to separate the ia64-linux parts out of
ia64-tdep.c and making it a proper OS ABI variant.  Tested on ia64-linux,
no regressions.

Andreas.

2005-01-05  Andreas Schwab  <schwab@suse.de>

	* ia64-tdep.c: Include "osabi.h".
	(native_find_global_pointer): Delete.
	(ia64_find_global_pointer): Renamed from
	generic_elf_find_global_pointer.
	(FIND_GLOBAL_POINTER): Delete.  Change all users to call
	ia64_find_global_pointer instead.
	(ia64_gdbarch_init): Call gdbarch_init_osabi.  Remove references
	to ia64_linux_sigcontext_register_address and
	ia64_linux_write_pc.  Don't set tdep->find_global_pointer.
	(_initialize_ia64_tdep): Call gdbarch_register instead of
	deprecated register_gdbarch_init.
	(struct gdbarch_tdep): Remove find_global_pointer field and move
	to ...
	* ia64-tdep.h (struct gdbarch_tdep): ... here.
	(ia64_linux_sigcontext_register_address): Remove declaration.
	(ia64_linux_getunwind_table): Likewise.
	(ia64_linux_write_pc): Likewise.
	* ia64-linux-tdep.c: Include "osabi.h".
	(ia64_linux_sigcontext_register_address): Make static.
	(ia64_linux_write_pc): Likewise.
	(ia64_linux_init_abi): New.
	(_initialize_ia64_linux_tdep): New.
	* Makefile.in (ia64-tdep.o, ia64-linux-tdep.o): Depend on
	$(osabi_h).

Index: Makefile.in
===================================================================
RCS file: /cvs/src/src/gdb/Makefile.in,v
retrieving revision 1.682
diff -u -p -a -r1.682 Makefile.in
--- Makefile.in	5 Jan 2005 17:01:57 -0000	1.682
+++ Makefile.in	5 Jan 2005 19:02:54 -0000
@@ -1,5 +1,5 @@
 # Copyright 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-# 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation,
+# 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation,
 # Inc.
 
 # This file is part of GDB.
@@ -2054,13 +2054,13 @@ i387-tdep.o: i387-tdep.c $(defs_h) $(dou
 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) $(ia64_tdep_h) \
-	$(arch_utils_h) $(gdbcore_h) $(regcache_h)
+	$(arch_utils_h) $(gdbcore_h) $(regcache_h) $(osabi_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) $(dis_asm_h) $(infcall_h) $(ia64_tdep_h) $(elf_ia64_h) \
-	$(libunwind_frame_h) $(libunwind_ia64_h)
+	$(libunwind_frame_h) $(libunwind_ia64_h) $(osabi_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.7
diff -u -p -a -r1.7 ia64-linux-tdep.c
--- ia64-linux-tdep.c	24 Feb 2004 22:35:01 -0000	1.7
+++ ia64-linux-tdep.c	5 Jan 2005 19:02:54 -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, 2005 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -24,6 +24,7 @@
 #include "arch-utils.h"
 #include "gdbcore.h"
 #include "regcache.h"
+#include "osabi.h"
 
 /* The sigtramp code is in a non-readable (executable-only) region
    of memory called the ``gate page''.  The addresses in question
@@ -47,7 +48,7 @@ ia64_linux_in_sigtramp (CORE_ADDR pc, ch
    found.  0 is returned for registers which aren't stored in the the
    sigcontext structure. */
 
-CORE_ADDR
+static CORE_ADDR
 ia64_linux_sigcontext_register_address (CORE_ADDR sp, int regno)
 {
   char buf[8];
@@ -96,7 +97,7 @@ ia64_linux_sigcontext_register_address (
       }
 }
 
-void
+static void
 ia64_linux_write_pc (CORE_ADDR pc, ptid_t ptid)
 {
   ia64_write_pc (pc, ptid);
@@ -112,3 +113,22 @@ ia64_linux_write_pc (CORE_ADDR pc, ptid_
      called as part of setting up an inferior call.  */
   write_register_pid (IA64_GR10_REGNUM, 0, ptid);
 }
+
+static void
+ia64_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
+{
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
+  /* Set the method of obtaining the sigcontext addresses at which
+     registers are saved.  */
+  tdep->sigcontext_register_address = ia64_linux_sigcontext_register_address;
+
+  set_gdbarch_write_pc (gdbarch, ia64_linux_write_pc);
+}
+
+void
+_initialize_ia64_linux_tdep (void)
+{
+  gdbarch_register_osabi (bfd_arch_ia64, 0, GDB_OSABI_LINUX,
+			  ia64_linux_init_abi);
+}
Index: ia64-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/ia64-tdep.c,v
retrieving revision 1.126
diff -u -p -a -r1.126 ia64-tdep.c
--- ia64-tdep.c	5 Jan 2005 17:01:58 -0000	1.126
+++ ia64-tdep.c	5 Jan 2005 19:02:54 -0000
@@ -38,6 +38,7 @@
 #include "elf-bfd.h"
 #include "dis-asm.h"
 #include "infcall.h"
+#include "osabi.h"
 #include "ia64-tdep.h"
 
 #ifdef HAVE_LIBUNWIND_IA64_H
@@ -46,17 +47,6 @@
 #include "libunwind-ia64.h"
 #endif
 
-/* Hook for determining the global pointer when calling functions in
-   the inferior under AIX.  The initialization code in ia64-aix-nat.c
-   sets this hook to the address of a function which will find the
-   global pointer for a given address.  
-   
-   The generic code which uses the dynamic section in the inferior for
-   finding the global pointer is not of much use on AIX since the
-   values obtained from the inferior have not been relocated.  */
-
-CORE_ADDR (*native_find_global_pointer) (CORE_ADDR) = 0;
-
 /* An enumeration of the different IA-64 instruction types.  */
 
 typedef enum instruction_type
@@ -100,6 +90,7 @@ static gdbarch_breakpoint_from_pc_ftype 
 static gdbarch_skip_prologue_ftype ia64_skip_prologue;
 static gdbarch_extract_return_value_ftype ia64_extract_return_value;
 static struct type *is_float_or_hfa_type (struct type *t);
+static CORE_ADDR ia64_find_global_pointer (CORE_ADDR faddr);
 
 static struct type *builtin_type_ia64_ext;
 
@@ -256,19 +247,8 @@ struct ia64_frame_cache
 
 };
 
-struct gdbarch_tdep
-  {
-    CORE_ADDR (*sigcontext_register_address) (CORE_ADDR, int);
-    			/* OS specific function which, given a frame address
-			   and register number, returns the offset to the
-			   given register from the start of the frame. */
-    CORE_ADDR (*find_global_pointer) (CORE_ADDR);
-  };
-
 #define SIGCONTEXT_REGISTER_ADDRESS \
   (gdbarch_tdep (current_gdbarch)->sigcontext_register_address)
-#define FIND_GLOBAL_POINTER \
-  (gdbarch_tdep (current_gdbarch)->find_global_pointer)
 
 int
 ia64_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
@@ -2421,7 +2401,7 @@ ia64_find_unwind_table (struct objfile *
 
   dip->start_ip = segbase;
   dip->end_ip = dip->start_ip + p_text->p_memsz;
-  dip->gp = FIND_GLOBAL_POINTER (ip);
+  dip->gp = ia64_find_global_pointer (ip);
   dip->format = UNW_INFO_FORMAT_REMOTE_TABLE;
   dip->u.rti.name_ptr = (unw_word_t) bfd_get_filename (bfd);
   dip->u.rti.segbase = segbase;
@@ -2863,7 +2843,7 @@ slot_alignment_is_next_even (struct type
    d_un.d_ptr value is the global pointer.  */
 
 static CORE_ADDR
-generic_elf_find_global_pointer (CORE_ADDR faddr)
+ia64_find_global_pointer (CORE_ADDR faddr)
 {
   struct obj_section *faddr_sect;
      
@@ -2984,7 +2964,7 @@ find_func_descr (CORE_ADDR faddr, CORE_A
       fdesc = *fdaptr;
       *fdaptr += 16;
 
-      global_pointer = FIND_GLOBAL_POINTER (faddr);
+      global_pointer = ia64_find_global_pointer (faddr);
 
       if (global_pointer == 0)
 	global_pointer = read_register (IA64_GR1_REGNUM);
@@ -3168,7 +3148,7 @@ ia64_push_dummy_call (struct gdbarch *gd
       regcache_cooked_write_unsigned (regcache, IA64_GR8_REGNUM, (ULONGEST)struct_addr);
     }
 
-  global_pointer = FIND_GLOBAL_POINTER (func_addr);
+  global_pointer = ia64_find_global_pointer (func_addr);
 
   if (global_pointer != 0)
     write_register (IA64_GR1_REGNUM, global_pointer);
@@ -3261,29 +3241,7 @@ ia64_gdbarch_init (struct gdbarch_info i
   tdep = xmalloc (sizeof (struct gdbarch_tdep));
   gdbarch = gdbarch_alloc (&info, tdep);
 
-  /* Set the method of obtaining the sigcontext addresses at which
-     registers are saved.  The method of checking to see if
-     native_find_global_pointer is nonzero to indicate that we're
-     on AIX is kind of hokey, but I can't think of a better way
-     to do it.  */
-  if (info.osabi == GDB_OSABI_LINUX)
-    tdep->sigcontext_register_address = ia64_linux_sigcontext_register_address;
-  else
-    tdep->sigcontext_register_address = 0;
-
-  /* We know that GNU/Linux won't have to resort to the
-     native_find_global_pointer hackery.  But that's the only one we
-     know about so far, so if native_find_global_pointer is set to
-     something non-zero, then use it.  Otherwise fall back to using
-     generic_elf_find_global_pointer.  This arrangement should (in
-     theory) allow us to cross debug GNU/Linux binaries from an AIX
-     machine.  */
-  if (info.osabi == GDB_OSABI_LINUX)
-    tdep->find_global_pointer = generic_elf_find_global_pointer;
-  else if (native_find_global_pointer != 0)
-    tdep->find_global_pointer = native_find_global_pointer;
-  else
-    tdep->find_global_pointer = generic_elf_find_global_pointer;
+  tdep->sigcontext_register_address = 0;
 
   /* Define the ia64 floating-point format to gdb.  */
   builtin_type_ia64_ext =
@@ -3341,10 +3299,7 @@ ia64_gdbarch_init (struct gdbarch_info i
   set_gdbarch_memory_remove_breakpoint (gdbarch, ia64_memory_remove_breakpoint);
   set_gdbarch_breakpoint_from_pc (gdbarch, ia64_breakpoint_from_pc);
   set_gdbarch_read_pc (gdbarch, ia64_read_pc);
-  if (info.osabi == GDB_OSABI_LINUX)
-    set_gdbarch_write_pc (gdbarch, ia64_linux_write_pc);
-  else
-    set_gdbarch_write_pc (gdbarch, ia64_write_pc);
+  set_gdbarch_write_pc (gdbarch, ia64_write_pc);
 
   /* Settings for calling functions in the inferior.  */
   set_gdbarch_push_dummy_call (gdbarch, ia64_push_dummy_call);
@@ -3369,6 +3324,9 @@ ia64_gdbarch_init (struct gdbarch_info i
   set_gdbarch_print_insn (gdbarch, ia64_print_insn);
   set_gdbarch_convert_from_func_ptr_addr (gdbarch, ia64_convert_from_func_ptr_addr);
 
+  /* Hook in ABI-specific overrides, if they have been registered.  */
+  gdbarch_init_osabi (info, gdbarch);
+
   return gdbarch;
 }
 
@@ -3377,5 +3335,5 @@ extern initialize_file_ftype _initialize
 void
 _initialize_ia64_tdep (void)
 {
-  register_gdbarch_init (bfd_arch_ia64, ia64_gdbarch_init);
+  gdbarch_register (bfd_arch_ia64, ia64_gdbarch_init, NULL);
 }
Index: ia64-tdep.h
===================================================================
RCS file: /cvs/src/src/gdb/ia64-tdep.h,v
retrieving revision 1.3
diff -u -p -a -r1.3 ia64-tdep.h
--- ia64-tdep.h	5 Jan 2005 17:01:59 -0000	1.3
+++ ia64-tdep.h	5 Jan 2005 19:02:54 -0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for the ia64.
 
-   Copyright 2004 Free Software Foundation, Inc.
+   Copyright 2004, 2005 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -22,9 +22,11 @@
 #ifndef IA64_TDEP_H
 #define IA64_TDEP_H
 
-extern CORE_ADDR ia64_linux_sigcontext_register_address (CORE_ADDR, int);
-extern unsigned long ia64_linux_getunwind_table (void *, size_t);
+struct gdbarch_tdep
+{
+  CORE_ADDR (*sigcontext_register_address) (CORE_ADDR, int);
+};
+
 extern void ia64_write_pc (CORE_ADDR, ptid_t);
-extern void ia64_linux_write_pc (CORE_ADDR, ptid_t);
 
 #endif /* IA64_TDEP_H */

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Remove ia64-*-aix* support
  2005-01-05 21:19   ` Andreas Schwab
@ 2005-01-05 21:51     ` Kevin Buettner
  0 siblings, 0 replies; 5+ messages in thread
From: Kevin Buettner @ 2005-01-05 21:51 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: gdb-patches

On Wed, 05 Jan 2005 22:19:12 +0100
Andreas Schwab <schwab@suse.de> wrote:

> Here is a followup patch to separate the ia64-linux parts out of
> ia64-tdep.c and making it a proper OS ABI variant.  Tested on ia64-linux,
> no regressions.
> 
> Andreas.
> 
> 2005-01-05  Andreas Schwab  <schwab@suse.de>
> 
> 	* ia64-tdep.c: Include "osabi.h".
> 	(native_find_global_pointer): Delete.
> 	(ia64_find_global_pointer): Renamed from
> 	generic_elf_find_global_pointer.
> 	(FIND_GLOBAL_POINTER): Delete.  Change all users to call
> 	ia64_find_global_pointer instead.
> 	(ia64_gdbarch_init): Call gdbarch_init_osabi.  Remove references
> 	to ia64_linux_sigcontext_register_address and
> 	ia64_linux_write_pc.  Don't set tdep->find_global_pointer.
> 	(_initialize_ia64_tdep): Call gdbarch_register instead of
> 	deprecated register_gdbarch_init.
> 	(struct gdbarch_tdep): Remove find_global_pointer field and move
> 	to ...
> 	* ia64-tdep.h (struct gdbarch_tdep): ... here.
> 	(ia64_linux_sigcontext_register_address): Remove declaration.
> 	(ia64_linux_getunwind_table): Likewise.
> 	(ia64_linux_write_pc): Likewise.
> 	* ia64-linux-tdep.c: Include "osabi.h".
> 	(ia64_linux_sigcontext_register_address): Make static.
> 	(ia64_linux_write_pc): Likewise.
> 	(ia64_linux_init_abi): New.
> 	(_initialize_ia64_linux_tdep): New.
> 	* Makefile.in (ia64-tdep.o, ia64-linux-tdep.o): Depend on
> 	$(osabi_h).

Okay.

Thanks!

Kevin


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2005-01-05 21:51 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-01-04 23:04 Remove ia64-*-aix* support Mark Kettenis
2005-01-05 17:09 ` Kevin Buettner
2005-01-05 21:19   ` Andreas Schwab
2005-01-05 21:51     ` Kevin Buettner
2005-01-05 17:25 ` Andreas Schwab

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox