This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[RFA] Moving x86-64 configuration to separate directory


Hi,
I'm about to move all x86-64 configuration stuff to a separate 
directory. For now it resides in config/i386 but AFAIK this is a relict 
of cloning the the files from eachother, not the necessity.
Yet more x86-64 is definitely a different architecture than i386 :-)
Can I commit these patches? I tested them on native x86-64 as well as 
for cross-targetted gdb.

Michal Ludvig
-- 
* SuSE CR, s.r.o     * mludvig@suse.cz
* +420 2 9654 5373   * http://www.suse.cz
Index: configure.host
===================================================================
RCS file: /cvs/src/src/gdb/configure.host,v
retrieving revision 1.38
diff -c -3 -p -r1.38 configure.host
*** configure.host	22 May 2002 03:59:53 -0000	1.38
--- configure.host	27 May 2002 14:44:06 -0000
*************** powerpc*)		gdb_host_cpu=powerpc ;;
*** 21,27 ****
  sparcv9 | sparc64)	gdb_host_cpu=sparc ;;
  s390*)			gdb_host_cpu=s390 ;;
  sh*)			gdb_host_cpu=sh ;;
! x86_64*)		gdb_host_cpu=i386 ;;
  *)			gdb_host_cpu=$host_cpu ;;
  
  esac
--- 21,27 ----
  sparcv9 | sparc64)	gdb_host_cpu=sparc ;;
  s390*)			gdb_host_cpu=s390 ;;
  sh*)			gdb_host_cpu=sh ;;
! x86_64*)		gdb_host_cpu=x86-64 ;;
  *)			gdb_host_cpu=$host_cpu ;;
  
  esac
Index: configure.tgt
===================================================================
RCS file: /cvs/src/src/gdb/configure.tgt,v
retrieving revision 1.67
diff -c -3 -p -r1.67 configure.tgt
*** configure.tgt	22 May 2002 03:59:53 -0000	1.67
--- configure.tgt	27 May 2002 14:44:06 -0000
*************** sh*)			gdb_target_cpu=sh ;;
*** 29,35 ****
  strongarm*)		gdb_target_cpu=arm ;;
  xscale*)		gdb_target_cpu=arm ;;
  v850*)			gdb_target_cpu=v850 ;;
! x86_64*)		gdb_target_cpu=i386 ;;
  *)			gdb_target_cpu=$target_cpu ;;
  
  esac
--- 29,35 ----
  strongarm*)		gdb_target_cpu=arm ;;
  xscale*)		gdb_target_cpu=arm ;;
  v850*)			gdb_target_cpu=v850 ;;
! x86_64*)		gdb_target_cpu=x86-64 ;;
  *)			gdb_target_cpu=$target_cpu ;;
  
  esac
diff -c3pN config/x86-64-empty/nm-x86-64.h config/x86-64/nm-x86-64.h
*** config/x86-64-empty/nm-x86-64.h	Thu Jan  1 01:00:00 1970
--- config/x86-64/nm-x86-64.h	Mon May 27 15:42:42 2002
***************
*** 0 ****
--- 1,90 ----
+ /* Native support for GNU/Linux x86-64.
+ 
+    Copyright 2001, 2002 Free Software Foundation, Inc.  Contributed by
+    Jiri Smid, SuSE Labs.
+ 
+    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 NM_X86_64_H
+ #define NM_X86_64_H
+ 
+ #include "nm-linux.h"
+ 
+ #define I386_USE_GENERIC_WATCHPOINTS
+ #include "i386/nm-i386.h"
+ 
+ /* Support for 8-byte wide hw watchpoints.  */
+ #define TARGET_HAS_DR_LEN_8 1
+ 
+ /* Provide access to the i386 hardware debugging registers.  */
+ 
+ extern void x86_64_linux_dr_set_control (unsigned long control);
+ #define I386_DR_LOW_SET_CONTROL(control) \
+   x86_64_linux_dr_set_control (control)
+ 
+ extern void x86_64_linux_dr_set_addr (int regnum, CORE_ADDR addr);
+ #define I386_DR_LOW_SET_ADDR(regnum, addr) \
+   x86_64_linux_dr_set_addr (regnum, addr)
+ 
+ extern void x86_64_linux_dr_reset_addr (int regnum);
+ #define I386_DR_LOW_RESET_ADDR(regnum) \
+   x86_64_linux_dr_reset_addr (regnum)
+ 
+ extern unsigned long x86_64_linux_dr_get_status (void);
+ #define I386_DR_LOW_GET_STATUS() \
+   x86_64_linux_dr_get_status ()
+ 
+ 
+ #define REGISTER_U_ADDR(addr, blockend, regno) \
+ 	(addr) = x86_64_register_u_addr ((blockend),(regno));
+ CORE_ADDR x86_64_register_u_addr (CORE_ADDR, int);
+ 
+ /* Return the size of the user struct.  */
+ #define KERNEL_U_SIZE kernel_u_size()
+ extern int kernel_u_size (void);
+ 
+ /* Offset of the registers within the user area.  */
+ #define U_REGS_OFFSET 0
+ 
+ /* This is the amount to subtract from u.u_ar0
+    to get the offset in the core file of the register values.  */
+ #define KERNEL_U_ADDR 0x0
+ 
+ #define PTRACE_ARG3_TYPE void*
+ #define PTRACE_XFER_TYPE unsigned long
+ 
+ 
+ /* We define this if link.h is available, because with ELF we use SVR4 style
+    shared libraries. */
+ 
+ #ifdef HAVE_LINK_H
+ #define SVR4_SHARED_LIBS
+ #include "solib.h"		/* Support for shared libraries. */
+ #endif
+ 
+ /* Override copies of {fetch,store}_inferior_registers in `infptrace.c'.  */
+ #define FETCH_INFERIOR_REGISTERS
+ 
+ #undef PREPARE_TO_PROCEED
+ 
+ #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 /* NM_X86_64.h */
diff -c3pN config/x86-64-empty/x86-64linux.mh config/x86-64/x86-64linux.mh
*** config/x86-64-empty/x86-64linux.mh	Thu Jan  1 01:00:00 1970
--- config/x86-64/x86-64linux.mh	Mon May 27 15:42:42 2002
***************
*** 0 ****
--- 1,13 ----
+ # Host: AMD x86-64 running GNU/Linux
+ 
+ XM_FILE= xm-x86-64.h
+ 
+ NAT_FILE= nm-x86-64.h
+ 
+ NATDEPFILES= infptrace.o inftarg.o fork-child.o corelow.o \
+ 	i386-nat.o x86-64-linux-nat.o \
+ 	proc-service.o thread-db.o lin-lwp.o \
+ 	linux-proc.o gcore.o \
+ 	solib.o solib-svr4.o solib-legacy.o
+ 
+ LOADLIBES = -ldl -rdynamic
diff -c3pN config/x86-64-empty/x86-64linux.mt config/x86-64/x86-64linux.mt
*** config/x86-64-empty/x86-64linux.mt	Thu Jan  1 01:00:00 1970
--- config/x86-64/x86-64linux.mt	Mon May 27 15:42:42 2002
***************
*** 0 ****
--- 1,3 ----
+ # Target: AMD x86-64 running GNU/Linux
+ TDEPFILES= x86-64-tdep.o x86-64-linux-tdep.o i387-tdep.o dwarf2cfi.o \
+ 	corelow.o core-regset.o
diff -c3pN config/x86-64-empty/xm-x86-64.h config/x86-64/xm-x86-64.h
*** config/x86-64-empty/xm-x86-64.h	Thu Jan  1 01:00:00 1970
--- config/x86-64/xm-x86-64.h	Mon May 27 15:42:42 2002
***************
*** 0 ****
--- 1,30 ----
+ /* Host-dependent definitions for x86-64.
+    Copyright 2001 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 XM_X8664_h
+ #define XM_X8664_H
+ 
+ #include "floatformat.h"
+ 
+ #define HOST_FLOAT_FORMAT &floatformat_ieee_single_little
+ #define HOST_DOUBLE_FORMAT &floatformat_ieee_double_little
+ #define HOST_LONG_DOUBLE_FORMAT &floatformat_i387_ext
+ 
+ #endif /* XM_X8664_H */

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]