aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-04-13 * elf64-ppc.c (ppc64_elf_relocate_section): Correct NOP locationAlan Modra2-1/+6
when optimizing high got_tlsgd/ld insns.
2010-04-132010-04-12 Stan Shebs <stan@codesourcery.com>Stan Shebs2-1/+12
* tracepoint.c (tfile_xfer_partial): Check read result.
2010-04-13*** empty log message ***gdbadmin1-1/+1
2010-04-13daily updateAlan Modra1-1/+1
2010-04-12sim: add more hacking notesMike Frysinger2-0/+249
I found the documentation lacking in many places, so I tried filling in a lot of holes that I personally fell into. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-04-12Remove gdb/gdbserver/ line.Pedro Alves1-1/+0
2010-04-12 gdb/gdbserver/Pedro Alves6-7/+36
* linux-low.c (linux_mourn): Also remove the process. * server.c (handle_target_event): Don't remove the process here. * nto-low.c (nto_mourn): New. (nto_target_ops): Install it. * spu-low.c (spu_mourn): New. (spu_target_ops): Install it. * win32-low.c (win32_mourn): New. (win32_target_ops): Install it.
2010-04-12sim: add helper macros for branch profilingMike Frysinger2-0/+21
The profile code has a lot of helper macros already, but none yet for the branch profiling code. So add ones for the basic functions -- taken and untaken branches. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-04-12sim: add missing values to array initializersMike Frysinger12-60/+74
The sim code has a lot of static initializer for options and devices, but since they aren't using newer struct style, they have to specify a value for every option otherwise gcc spits a lot of warnings about "missing initializer". So add NULL/0 stubs for pointers/values. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-04-12gdb: constify remote files_infoMike Frysinger3-2/+7
The sim and m32r remote targets declare a local "file" variable and only assign const strings to it before passing it to a printf() func. So add const markings to avoid gcc warnings like: gdb/remote-sim.c: In function 'gdbsim_files_info': gdb/remote-sim.c:789: warning: initialization discards qualifiers from pointer target type Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-04-12sim: constify dup_arg_pMike Frysinger2-3/+8
The dup_arg_p function is only given const strings, and it maintains a local table of those const strings. So constify the whole thing to fix the GCC warnings: common/sim-options.c: In function 'sim_parse_args': common/sim-options.c:559: warning: passing argument 1 of 'dup_arg_p' discards qualifiers from pointer target type common/sim-options.c: In function 'print_help': common/sim-options.c:675: warning: passing argument 1 of 'dup_arg_p' discards qualifiers from pointer target type Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-04-122010-04-12 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>Richard Earnshaw3-15/+168
* arm-tdep.h (gdb_regnum): Add ARM_FPSCR_REGNUM * arm-linux-nat.c (arm_linux_vfp_register_count): New variable. (fetch_vfp_registers): New function to fetch VFP registers. (store_vfp_registers): New function to store VFP registers. (arm_linux_fetch_inferior_registers): Add support for VFP registers. (arm_linux_store_inferior_registers): Likewise. (arm_linux_read_description): Likewise. (_initialize_arm_linux_nat): Delay initialising iWMMX tdesc until we need it.
2010-04-12 * server.h (buffer_xml_printf): Remove redundant `;'.Pedro Alves2-1/+5
2010-04-12 * regcache.c (set_register_cache): Invalidate regcaches beforePedro Alves3-0/+21
changing the register cache layout. (regcache_invalidate_one): Allow a NULL regcache. * linux-x86-low.c (x86_linux_update_xmltarget): Invalidate regcaches before changing the register cache layout or the target regsets.
2010-04-12Avoid unused variable warning on Linux/x86-64.H.J. Lu2-1/+6
2010-04-12 H.J. Lu <hongjiu.lu@intel.com> * linux-x86-low.c (x86_linux_update_xmltarget): Avoid unused variable warning on Linux/x86-64.
2010-04-122010-04-12 Phil Muldoon <pmuldoon@redhat.com>Phil Muldoon2-1/+5
* gdb.python/py-breakpoint.c: Make result global.
2010-04-12daily updateAlan Modra1-1/+1
2010-04-12*** empty log message ***gdbadmin1-1/+1
2010-04-11Remove the unused variable in amd64-tdep.c.H.J. Lu2-2/+6
2010-04-11 H.J. Lu <hongjiu.lu@intel.com> * amd64-tdep.c (amd64_supply_xstateregset): Remove the unused tdep. (amd64_collect_xstateregset): Likewise.
2010-04-11 GDBserver disconnected tracing support.Pedro Alves15-185/+686
* linux-low.c (linux_remove_process): Delete. (add_lwp): Don't set last_resume_kind here. (linux_kill): Use `mourn'. (linux_detach): Use `thread_db_detach', and `mourn'. (linux_mourn): New. (linux_attach_lwp_1): Adjust comment. (linux_attach): last_resume_kind moved the thread_info; adjust. (status_pending_p_callback): Adjust. (linux_wait_for_event_1): Adjust. (count_events_callback, select_singlestep_lwp_callback) (select_event_lwp_callback, cancel_breakpoints_callback) (db_wants_lwp_stopped, linux_wait_1, need_step_over_p) (proceed_one_lwp): Adjust. (linux_async): Add debug output. (linux_thread_stopped): New. (linux_pause_all): New. (linux_target_ops): Install linux_mourn, linux_thread_stopped and linux_pause_all. * linux-low.h (struct lwp_info): Delete last_resume_kind field. (thread_db_free): Delete declaration. (thread_db_detach, thread_db_mourn): Declare. * thread-db.c (thread_db_init): Use thread_db_mourn. (thread_db_free): Delete, split in two. (disable_thread_event_reporting): New. (thread_db_detach): New. (thread_db_mourn): New. * server.h (struct thread_info) <last_resume_kind>: New field. <attached>: Add comment. <gdb_detached>: New field. (handler_func): Change return type to int. (handle_serial_event, handle_target_event): Ditto. (gdb_connected): Declare. (tracing): Delete. (disconnected_tracing): Declare. (stop_tracing): Declare. * server.c (handle_query) <qSupported>: Report support for disconnected tracing. (queue_stop_reply_callback): Account for running threads. (gdb_wants_thread_stopped): New. (gdb_wants_all_threads_stopped): New. (gdb_reattached_process): New. (handle_status): Clear the `gdb_detached' flag of all processes. In all-stop, stop all threads. (main): Be sure to leave tfind mode. Handle disconnected tracing. (process_serial_event): If the remote connection breaks, or if an exit was forced with "monitor exit", force an event loop exit. Handle disconnected tracing on detach. (handle_serial_event): Adjust. (handle_target_event): If GDB isn't connected, forward events back to the inferior, unless the last process exited, in which case, exit gdbserver. Adjust interface. * remote-utils.c (remote_open): Don't block in accept. Instead register an event loop source on the listen socket file descriptor. Refactor bits into ... (listen_desc): ... this new global. (gdb_connected): ... this new function. (enable_async_notification): ... this new function. (handle_accept_event): ... this new function. (remote_close): Clear remote_desc. * inferiors.c (add_thread): Set the new thread's last_resume_kind. * target.h (struct target_ops) <mourn, thread_stopped, pause_all>: New fields. (mourn_inferior): Define. (target_process_qsupported): Avoid the dangling else problem. (thread_stopped): Define. (pause_all): Define. (target_waitstatus_to_string): Declare. * target.c (target_waitstatus_to_string): New. * tracepoint.c (tracing): Make extern. (disconnected_tracing): New. (stop_tracing): Make extern. Handle tracing stops due to GDB disconnecting. (cmd_qtdisconnected): New. (cmd_qtstatus): Report disconnected tracing status in trace reply. (handle_tracepoint_general_set): Handle QTDisconnected. * event-loop.c (event_handler_func): Change return type to int. (process_event): Bail out if the event handler wants the event loop to stop. (handle_file_event): Ditto. (start_event_loop): Bail out if the event handler wants the event loop to stop. * nto-low.c (nto_target_ops): Adjust. * spu-low.c (spu_wait): Don't remove the process here. (spu_target_ops): Adjust. * win32-low.c (win32_wait): Don't remove the process here. (win32_target_ops): Adjust.
2010-04-11 * regcache.c (realloc_register_cache): Invalidate inferior'sPedro Alves2-0/+7
regcache before recreating it.
2010-04-11daily updateAlan Modra1-1/+1
2010-04-11*** empty log message ***gdbadmin1-1/+1
2010-04-10Undefine HAVE_PRPSINFO32_T/HAVE_PRSTATUS32_T before define.H.J. Lu2-0/+9
2010-04-10 H.J. Lu <hongjiu.lu@intel.com> * hosts/x86-64linux.h (HAVE_PRPSINFO32_T): Undefine before define. (HAVE_PRSTATUS32_T): Likewise.
2010-04-10Support 32bit core note sections on Linux/x86-64.H.J. Lu6-0/+233
2010-04-10 H.J. Lu <hongjiu.lu@intel.com> PR corefiles/11467 * configure.in (CORE_HEADER): New. Set to hosts/x86-64linux.h for x86_64-*-linux*. * config.in: Regenerated. * configure: Likewise. * elf.c: Include CORE_HEADER if it is defined. 2010-04-10 H.J. Lu <hongjiu.lu@intel.com> Jan Kratochvil <jan.kratochvil@redhat.com> * hosts/x86-64linux.h: New.
2010-04-10sim: also constify sim_fpu_print_funcMike Frysinger2-1/+2
2010-04-10sim: constify sim_fpu_print_statusMike Frysinger2-1/+6
I've committed the following patch as obvious. The local "prefix" variable is only assigned const strings, and only passed to printf() functions, so add "const" to avoid gcc warnings: common/sim-fpu.c: In function 'sim_fpu_print_status': common/sim-fpu.c:2508: warning: initialization discards qualifiers from pointer target type common/sim-fpu.c:2566: warning: assignment discards qualifiers from pointer target type Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-04-10 PR gas/11486Alan Modra2-0/+6
* config/tc-ppc.c (ppc_elf_cons): Clear frag contents.
2010-04-10sim: drop duplicate break statements in sim-fpuMike Frysinger2-6/+4
2010-04-10sim: constify save_data()Mike Frysinger2-1/+5
The local save_data() function takes a pointer to a buffer and only uses it as the source to the memcpy() function. Since it is given const strings, GCC likes to spit out warnings: common/sim-trace.c: In function 'trace_prefix': common/sim-trace.c:697: warning: passing argument 5 of 'save_data' discards qualifiers from pointer target type So I've committed this as obvious. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-04-10sim: add const markings to env stringMike Frysinger2-1/+6
The sim-options code assigns a const string to "char *" in decoding the current environment settings, and only uses it to pass to a printf. GCC outputs the warnings: common/sim-options.c: In function 'standard_option_handler': common/sim-options.c:271: warning: assignment discards qualifiers from pointer target type common/sim-options.c:272: warning: assignment discards qualifiers from pointer target type common/sim-options.c:273: warning: assignment discards qualifiers from pointer target type So I've committed this as "obvious". Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-04-10*** empty log message ***gdbadmin1-1/+1
2010-04-10daily updateAlan Modra1-1/+1
2010-04-09Add back missing change log.Doug Kwan1-0/+52
2010-04-09 Doug Kwan <dougkwan@google.com> * layout.cc (Layout::choose_output_section): Handle script section types. (Layout::make_output_section_for_script): Add section type parameter. Handle script section types. * layout.h (Layout::make_output_section_for_script): Add section type parameter. * output.cc (Output_section::Output_section): Initialize data member is_noload_. (Output_section::do_reset_address_and_file_offset): Do not set address to 0 if section is a NOLOAD section. * output.h (Output_section::is_noload): New method. (Output_section::set_is_noload): Ditto. (Output_section::is_noload_): New data member. * script-c.h (Script_section_type): New enum type. (struct Parser_output_section_header): Add new file section_type. * script-sections.cc (Sections_element::output_section_name): Add parameter for returning script section type. (Output_section_definition::output_section_name): Ditto. (Output_section_definition::section_type)P; New method. (Output_section_definiton::script_section_type_name): Ditto. (Output_section_definition::script_section_type_): New data member. (Output_section_definition::Output_section_definition): Initialize data member Output_section_definition::script_section_type_. (Output_section_definition::create_sections): Pass script section type to Layout::make_output_section_for_script. (Output_section_definition::output_section_name): Return script section type to caller. (Output_section_definition::set_section_address): Do not advance dot value and load address if section type is NOLOAD. Set address of NOLOAD sections regardless of section flags. (Output_section_definition::print): Print section type if it is not SCRIPT_SECTION_TYPE_NONE. (Output_section_definition::section_type): New method. (Output_section_definition::script_section_type_name): Ditto. (Script_sections::output_section_name): Add new parameter PSECTION_TYPE for returning script section type. Pass it to section elements. Handle discard sections. (Sort_output_sections::operator()): Handle NOLOAD sections. * script-sections.h (Script_sections::Section_type): New enum type. (Script_sections::output_section_name): Add a new parameter for returning script section type. * script.cc (script_keyword_parsecodes): Add keywords COPY, DSECT, INFO and NOLOAD. * yyscript.y (union): Add new field SECTION_TYPE. (COPY, DSECT, INFO, NOLOAD): New tokens. (opt_address_and_section_type): Change type to output_section_header. (section_type): New non-terminal (section_header): Handle section type. (opt_address_and_section_type): Return section type value.
2010-04-09gdb/testsuite/Jan Kratochvil2-3/+8
Fix non-GNU make compatibility. * Makefile.in ($(TEST_TARGETS)): Conditionalize it by @GMAKE_TRUE@.
2010-04-092010-04-09 Stan Shebs <stan@codesourcery.com>Stan Shebs4-3/+15
* tracepoint.c (trace_status_mi): Report frames created. * gdb.texinfo (gdb/mi Tracepoint Commands) <-trace-status>: Describe the `frames-created' field, tweak grammar.
2010-04-092010-04-09 Stan Shebs <stan@codesourcery.com>Stan Shebs2-1/+31
* tracepoint.c (trace_dump_command): Include default-collect expressions.
2010-04-09Add prototype to gold tests.H.J. Lu3-1/+10
2010-04-09 H.J. Lu <hongjiu.lu@intel.com> * testsuite/plugin_common_test_1.c (foo): Add prototype. * testsuite/plugin_common_test_2.c (foo): Likewise.
2010-04-092010-04-09 Doug Kwan <dougkwan@google.com>Doug Kwan9-32/+260
* layout.cc (Layout::choose_output_section): Handle script section types. (Layout::make_output_section_for_script): Add section type parameter. Handle script section types. * layout.h (Layout::make_output_section_for_script): Add section type parameter. * output.cc (Output_section::Output_section): Initialize data member is_noload_. (Output_section::do_reset_address_and_file_offset): Do not set address to 0 if section is a NOLOAD section. * output.h (Output_section::is_noload): New method. (Output_section::set_is_noload): Ditto. (Output_section::is_noload_): New data member. * script-c.h (Script_section_type): New enum type. (struct Parser_output_section_header): Add new file section_type. * script-sections.cc (Sections_element::output_section_name): Add parameter for returning script section type. (Output_section_definition::output_section_name): Ditto. (Output_section_definition::section_type)P; New method. (Output_section_definiton::script_section_type_name): Ditto. (Output_section_definition::script_section_type_): New data member. (Output_section_definition::Output_section_definition): Initialize data member Output_section_definition::script_section_type_. (Output_section_definition::create_sections): Pass script section type to Layout::make_output_section_for_script. (Output_section_definition::output_section_name): Return script section type to caller. (Output_section_definition::set_section_address): Do not advance dot value and load address if section type is NOLOAD. Set address of NOLOAD sections regardless of section flags. (Output_section_definition::print): Print section type if it is not SCRIPT_SECTION_TYPE_NONE. (Output_section_definition::section_type): New method. (Output_section_definition::script_section_type_name): Ditto. (Script_sections::output_section_name): Add new parameter PSECTION_TYPE for returning script section type. Pass it to section elements. Handle discard sections. (Sort_output_sections::operator()): Handle NOLOAD sections. * script-sections.h (Script_sections::Section_type): New enum type. (Script_sections::output_section_name): Add a new parameter for returning script section type. * script.cc (script_keyword_parsecodes): Add keywords COPY, DSECT, INFO and NOLOAD. * yyscript.y (union): Add new field SECTION_TYPE. (COPY, DSECT, INFO, NOLOAD): New tokens. (opt_address_and_section_type): Change type to output_section_header. (section_type): New non-terminal (section_header): Handle section type. (opt_address_and_section_type): Return section type value.
2010-04-09 * symtab.c (find_function_start_sal): Never return SAL pointingUlrich Weigand2-0/+17
before function start address, even if line info is missing.
2010-04-09 * NEWS: Mention tracepoints support.Pedro Alves2-0/+9
2010-04-09 gdb/Pedro Alves4-7/+30
* tracepoint.c (trace_status_mi): Report disconnected tracing and circular trace buffer statuses. gdb/doc/ * gdb.texinfo (gdb/mi Tracepoint Commands) <-trace-status>: Describe the `circular' and `disconnected' fields.
2010-04-09gdb/Jan Kratochvil2-2/+7
* config/djgpp/fnchange.lst: Fix typo in translations for symbol-without-target_section.exp and symbol-without-target_section.c.
2010-04-09Mention unavailable and invisible registers.H.J. Lu2-3/+9
2010-04-09 H.J. Lu <hongjiu.lu@intel.com> * gdb.texinfo (maint print registers): Mention unavailable and invisible registers.
2010-04-09 * tracepoint.c (cmd_qtstatus): Report trace buffer circularity.Pedro Alves2-3/+8
2010-04-09bfd/ChangeLogNick Clifton23-129/+109
2010-04-09 Nick Clifton <nickc@redhat.com> * aoutx.h (aout_link_input_bfd): Remove unused variable sym_count. * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Remove unused variables htab and hdr_info and mark info parameter as unused. * elf.c (prep_headers): Remove unused variable i_phdrp. (_bfd_elf_write_object_contents): Remove unused variable i_ehdrp. * elf32-i386.c (elf_i386_relocate_section): Mark variabled warned as unused. * peXXigen.c (pe_print_reloc): Remove unused variable datasize. * verilog.c (verilog_write_section): Remove unused variable address. binutils/ChangeLog 2010-04-09 Nick Clifton <nickc@redhat.com> * dwarf.c (process_debug_info): Remove unused variable cu_abbrev_offset_ptr. (display_debug_lines_decoded): Remove unused variable prev_line. * elfedit.c (process_archive): Remove unused variable file_name_size. * ieee.c (ieee_start_compilation_unit): Remove unused variable nindx. (ieee_set_type): Remove unused variables info, targetindx and baseindx. * objdump.c (disassmble_byte): Remove unused variable done_dot. * rddbg.c (read_section_stabs_debugging_info): Remove unused variable other. * readelf.c (dump_section_as_strings): Remove unused variable addr. (process_archive): Remove unused variable file_name_size. * stabs.c (parse_stab_string): Mark desc parameter as unused. Remove unused variable lineno. (parse_stab_struct_type): Remove unused variable orig. (stab_demangle_type): Remove unused variables constp, volatilep and hold. gas/ChangeLog 2010-04-09 Nick Clifton <nickc@redhat.com> * as.c (create_obj_attrs_section): Remove unused variable addr. * listing.c (listing_listing): Remove unused variable message. * read.c: Remove unnecessary register type qualifiers. (s_mri): Only define/use old_flag variable if MRI_MODE_CHANGE is defined. ld/ChangeLog 2010-04-09 Nick Clifton <nickc@redhat.com> * ldlang.c (wild_sort): Remove unused variable section_name. opcodes/ChangeLog 2010-04-09 Nick Clifton <nickc@redhat.com> * i386-dis.c (print_insn): Remove unused variable op. (OP_sI): Remove unused variable mask.
2010-04-09 * breakpoint.c (condition_command): Pass condition expression toPedro Alves2-2/+7
set_breakpoint_condition stripped from breakpoint number.
2010-04-092010-04-09 Phil Muldoon <pmuldoon@redhat.com>Phil Muldoon14-50/+1329
Thiago Jung Bauermann <bauerman@br.ibm.com> Tom Tromey <tromey@redhat.com> * breakpoint.c (condition_command): Simplify. Move condition setting code to ... (set_breakpoint_condition): ... here. New function. * breakpoint.h (set_breakpoint_condition): Declare. * Makefile.in (SUBDIR_PYTHON_OBS): Add py-breakpoint. (SUBDIR_PYTHON_SRCS): Likewise. (py-breakpoint.o): New rule. * python/py-breakpoint.c: New file. * python/python-internal.h (gdbpy_breakpoints) (gdbpy_initialize_breakpoints): Declare. (GDB_PY_SET_HANDLE_EXCEPTION) Define. 2010-04-09 Phil Muldoon <pmuldoon@redhat.com> * gdb.python/py-breakpoint.exp: New File. * gdb.python/py-breakpoint.C: Ditto. 2010-04-09 Phil Muldoon <pmuldoon@redhat.com> Thiago Jung Bauermann <bauerman@br.ibm.com> Tom Tromey <tromey@redhat.com> * gdb.texinfo (Breakpoints In Python): New Node.
2010-04-092010-04-07 Eric B. Weddington <eric.weddington@atmel.com>Eric B. Weddington3-25/+65
* config/tc-avr.c (mcu_types): Add support for atmega16a, atmega168a, atmega164a, atmega165a, atmega169a, atmega169pa, atmega16hva2, atmega324a, atmega324pa, atmega325a, atmega3250a, atmega328, atmega329a, atmega329pa, atmega3290a, atmega48a, atmega644a, atmega645a, atmega645p, atmega6450a, atmega6450p, atmega649a, atmega649p, atmega6490a, atmega6490p, atmega64hve, atmega88a, atmega88pa, attiny461a, attiny84a, m3000. Remove support for atmega8m1, atmega8c1, atmega16c1, atmega4hvd, atmega8hvd, attiny327, m3000f, m3000s, m3001b. * doc/c-avr.texi: Same.
2010-04-09 gdb/gdbserver/Pedro Alves16-30/+3940
* server.h (LONGEST): New. (struct thread_info) <while_stepping>: New field. (unpack_varlen_hex, xrealloc, pulongest, plongest, phex_nz): Declare. (initialize_tracepoint, handle_tracepoint_general_set) (handle_tracepoint_query, tracepoint_finished_step) (tracepoint_was_hit, release_while_stepping_state_list): (current_traceframe): Declare. * server.c (handle_general_set): Handle tracepoint packets. (read_memory): New. (write_memory): New. (handle_search_memory_1): Use read_memory. (handle_query): Report support for conditional tracepoints, trace state variables, and tracepoint sources. Handle tracepoint queries. (main): Initialize the tracepoints module. (process_serial_event): Handle traceframe reads/writes. * linux-low.c (handle_tracepoints): New. (linux_wait_1): Call it. (linux_resume_one_lwp): Handle while-stepping. (linux_supports_tracepoints, linux_read_pc, linux_write_pc): New. (linux_target_ops): Install them. * linux-low.h (struct linux_target_ops) <supports_tracepoints>: New field. * linux-x86-low.c (x86_supports_tracepoints): New. (the_low_target). Install it. * mem-break.h (delete_breakpoint): Declare. * mem-break.c (delete_breakpoint): Make external. * target.h (struct target_ops): Add `supports_tracepoints', `read_pc', and `write_pc' fields. (target_supports_tracepoints): Define. * utils.c (xrealloc, decimal2str, pulongest, plongest, thirty_two) (phex_nz): New. * regcache.h (struct regcache) <registers_owned>: New field. (init_register_cache, regcache_cpy): Declare. (regcache_read_pc, regcache_write_pc): Declare. (register_cache_size): Declare. (supply_regblock): Declare. * regcache.c (init_register_cache): New. (new_register_cache): Use it. (regcache_cpy): New. (register_cache_size): New. (supply_regblock): New. (regcache_read_pc, regcache_write_pc): New. * tracepoint.c: New. * Makefile.in (OBS): Add tracepoint.o. (tracepoint.o): New rule. gdb/ * regformats/regdat.sh: Include server.h. Don't include regcache.h.