diff options
author | Daniel Jacobowitz <drow@false.org> | 2006-08-19 15:15:18 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2006-08-19 15:15:18 +0000 |
commit | 8695c747d81a46944b5e7fbf91a29e60bc75ec8a (patch) | |
tree | 6cd60ddca9b65060de414b774d46681879de4769 /gdb/amd64-linux-tdep.h | |
parent | c17eaafea78b9fef73ab2ec654812c8a1f31987a (diff) | |
download | gdb-8695c747d81a46944b5e7fbf91a29e60bc75ec8a.zip gdb-8695c747d81a46944b5e7fbf91a29e60bc75ec8a.tar.gz gdb-8695c747d81a46944b5e7fbf91a29e60bc75ec8a.tar.bz2 |
gdb/
* Makefile.in (amd64_linux_tdep_h): New.
(amd64-linux-nat.o, amd64-linux-tdep.o): Update.
* amd64-linux-nat.c (amd64_linux_gregset64_reg_offset): Add
ORIG_RAX.
(_initialize_amd64_linux_nat): Set amd64_native_gregset64_num_regs.
* amd64-linux-tdep.c (amd64_linux_register_name)
(amd64_linux_register_type, amd64_linux_register_reggroup_p)
(amd64_linux_write_pc): New.
(amd64_linux_init_abi): Use them, and update num_regs.
* amd64-linux-tdep.h: New file.
* amd64-tdep.c (amd64_register_name, amd64_register_type): Make
public.
* amd64-tdep.h (amd64_register_name, amd64_register_type): New
prototypes.
* regformats/reg-x86-64-linux.dat: New file.
gdb/testsuite/
* Makefile.in (clean): Clean reg-x86-64-linux.c.
(reg-x86-64-linux.o, reg-x86-64-linux.c): New.
* configure.srv (x86_64-*-linux*): Use reg-x86-64-linux.o.
* linux-x86-64-low.c (x86_64_regmap): Include ORIG_RAX.
(x86_64_fill_gregset, x86_64_store_gregset): Skip floating
point registers.
Diffstat (limited to 'gdb/amd64-linux-tdep.h')
-rw-r--r-- | gdb/amd64-linux-tdep.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/gdb/amd64-linux-tdep.h b/gdb/amd64-linux-tdep.h new file mode 100644 index 0000000..4a5778d --- /dev/null +++ b/gdb/amd64-linux-tdep.h @@ -0,0 +1,36 @@ +/* Target-dependent code for GNU/Linux AMD64. + + Copyright (C) 2006 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., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. */ + +#ifndef AMD64_LINUX_TDEP_H +#define AMD64_LINUX_TDEP_H + +/* Like for i386 GNU/Linux, there is an extra "register" + used to control syscall restarting. */ + +/* Register number for the "orig_rax" register. If this register + contains a value >= 0 it is interpreted as the system call number + that the kernel is supposed to restart. */ +#define AMD64_LINUX_ORIG_RAX_REGNUM (AMD64_MXCSR_REGNUM + 1) + +/* Total number of registers for GNU/Linux. */ +#define AMD64_LINUX_NUM_REGS (AMD64_LINUX_ORIG_RAX_REGNUM + 1) + +#endif /* amd64-linux-tdep.h */ |