diff options
author | Jim Blandy <jimb@codesourcery.com> | 2003-05-13 00:08:58 +0000 |
---|---|---|
committer | Jim Blandy <jimb@codesourcery.com> | 2003-05-13 00:08:58 +0000 |
commit | ad20141640f390ddb988537bf7d93316e5388e4b (patch) | |
tree | c1645477648a946f3973c701fb89b76e295e5bcc /gdb/gdbtk/generic/gdbtk-wrapper.h | |
parent | ea1c83e1893b74392032336333d19c00a414611d (diff) | |
download | gdb-jimb-ppc64-linux-20030509-branch.tar.gz |
Patch from Will Schmidt <willschm@us.ibm.com>:jimb-ppc64-linux-20030509-branchcvs/jimb-ppc64-linux-20030509-branch
These changes enable support of PPC64 architecture.
* config/powerpc/ppc64linux.mh: New file.
* config/powerpc/ppc64linux.mt: New file.
* config/powerpc/tm-ppc64linux.h: New file.
* ppc64-linux-tdep.c: New file.
* configure.host: Add clause for powerpc64-*-linux*
* configure.tgt: Add clause for powerpc64-*-linux*
* elfread.c (record_minimal_symbol_and_info): If
DROP_TEXT_NAME_PREFIX_CHAR is #defined, then drop a leading
instance of that char from the names of text symbols.
(elf_symtab_read): If SKIP_DATA_IN_OPD is #defined, ignore data
symbols in the .opd section.
* ppc-linux-nat.c (PTRACE_XFER_TYPE): Change the default for this
to 'long'.
(PPC_PTRACE_POKEUSR_3264, PPC_PTRACE_PEEKUSR_3264,
PPC_PTRACE_POKEDATA_3264, PPC_PTRACE_PEEKDATA_3264): Provide
default definitions for these.
(ARCH64): New macro.
(ppc_wordsize_pid): New function.
(kernel_u_size): Handle 64-bit case.
(ppc_register_u_addr): Same.
(fetch_register): Use the *_3264 requests when
debugging a 64-bit process from a 32-bit GDB.
(store_register): Same.
(GDB_MAX_ALLOCA, child_xfer_memory, udot_info): Copied from
infptrace.c.
(_initialize_ppc_linux_nat): New function, to register our copy of
the udot_info command.
* ppc-linux-tdep.c (TDEP): New macro.
(ppc64_linux_svr4_fetch_link_map_offsets): New function.
(read_memory_addr): Copied from rs6000-tdep.c.
(ppc64_linux_convert_from_func_ptr_addr): New function.
* rs6000-tdep.c (skip_prologue): Recognize more instructions for
saving the 'lr' and 'cr' registers; don't just pre-emptively mask
in the 'st' opcode as soon as we see an 'mflr' or 'mfcr' opcode.
Recognize more instructions for updating the stack pointer, and
loading the TOC pointer.
(registers_powerpc64, registers_a35): New register tables.
(rs6000_gdbarch_init): Register the 64-bit solib functions.
* solib-svr4.c (solib_break_names): If SOLIB_BREAK_NAME is
#defined, include an entry for it.
(enable_break): Call CONVERT_FROM_FUNC_PTR_ADDR when trying to
guess the linker's base address.
* config/powerpc/tm-linux.h
(ppc64_linux_svr4_fetch_link_map_offsets,
ppc64_linux_convert_from_func_ptr_addr): New declarations.
Diffstat (limited to 'gdb/gdbtk/generic/gdbtk-wrapper.h')
-rw-r--r-- | gdb/gdbtk/generic/gdbtk-wrapper.h | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/gdb/gdbtk/generic/gdbtk-wrapper.h b/gdb/gdbtk/generic/gdbtk-wrapper.h deleted file mode 100644 index d02dc0d84e8..00000000000 --- a/gdb/gdbtk/generic/gdbtk-wrapper.h +++ /dev/null @@ -1,83 +0,0 @@ -/* longjmp-free interface between gdb and gdbtk. - Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc. - -This file is part of GDB. It contains routines to safely call common gdb -functions without the fear of longjmp'ing. - -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 GDBTK_WRAPPER_H -#define GDBTK_WRAPPER_H -/* Use this struct used to pass arguments to wrapper routines. We assume - (arbitrarily) that no gdb function takes more than ten arguments. */ -struct gdb_wrapper_arguments { - - /* Pointer to some result from the gdb function call, if any */ - char *result; - - /* The list of arguments. */ - char *args[10]; -}; - -/* FIXME: cagney/2002-01-04: GDB no longer uses or supplies the - value_ptr typedef. Provide one here to keep the Insight code - immediatly happy. */ -typedef struct value *value_ptr; - -/* Whenever any gdb function wrapper is called, its return status is: */ -typedef enum gdb_wrapper_status { GDB_OK, GDB_ERROR } gdb_result; - -/* This list of functions which have been wrapped. Please keep this list - in alphabetical order, using "GDB_" to prefix the actual name of the - function. */ -extern gdb_result GDB_evaluate_expression (struct expression *expr, - value_ptr * val); -extern gdb_result GDB_type_print (value_ptr val, char *varstring, - struct ui_file *stream, int show); -extern gdb_result GDB_val_print (struct type *type, char *valaddr, - CORE_ADDR address, struct ui_file *stream, - int format, int deref_ref, int recurse, - enum val_prettyprint pretty); -extern gdb_result GDB_value_fetch_lazy (value_ptr value); -extern gdb_result GDB_value_equal (value_ptr val1, value_ptr val2, - int *result); -extern gdb_result GDB_parse_exp_1 (char **stringptr, struct block *block, - int comma, struct expression **result); -extern gdb_result GDB_evaluate_type (struct expression *exp, - value_ptr * result); -extern gdb_result GDB_block_for_pc (CORE_ADDR pc, struct block **result); -extern gdb_result GDB_block_innermost_frame (struct block *block, - struct frame_info **result); -extern gdb_result GDB_reinit_frame_cache (void); -extern gdb_result GDB_value_ind (value_ptr val, value_ptr * rval); -extern gdb_result GDB_value_slice (value_ptr val, int low, int num, - value_ptr * rval); -extern gdb_result GDB_value_coerce_array (value_ptr val, value_ptr * rval); -extern gdb_result GDB_value_struct_elt (value_ptr * argp, value_ptr * args, - char *name, int *static_memfunc, - char *err, value_ptr * rval); -extern gdb_result GDB_value_cast (struct type *type, value_ptr val, - value_ptr * rval); -gdb_result GDB_get_frame_block (struct frame_info *fi, struct block **rval); -extern gdb_result GDB_get_prev_frame (struct frame_info *fi, - struct frame_info **result); -extern gdb_result GDB_get_next_frame (struct frame_info *fi, - struct frame_info **result); -extern gdb_result GDB_find_relative_frame (struct frame_info *fi, - int *start, - struct frame_info **result); -extern gdb_result GDB_get_current_frame (struct frame_info **result); -#endif /* GDBTK_WRAPPER_H */ - |