aboutsummaryrefslogtreecommitdiff
path: root/gdb
AgeCommit message (Collapse)AuthorFilesLines
2013-09-16Based on the discussion at:Sergio Durigan Junior8-0/+152
<https://sourceware.org/ml/gdb-patches/2013-09/msg00301.html> <https://sourceware.org/ml/gdb-patches/2013-09/msg00383.html> This patch adds a new convenience function called $_isvoid, whose only purpose is to check whether an expression is void or not. This became necessary because the new convenience variable $_exitsignal (not yet approved) has a mutual exclusive behavior with $_exitcode, i.e., when one is "defined" (i.e., non-void), the other is cleared (i.e., becomes void). Doug wanted a way to identify which variable to use, and checking for voidness is the obvious solution. It is worth mentioning that my first attempt, after a conversation with Doug, was to actually implement a new $_isdefined() convenience function. I would do that (for convenience variables) by calling lookup_only_internalvar. However, I found a few problems: - Whenever I called $_isdefined ($variable), $variable became defined (with a void value), and $_isdefined always returned true. - Then, I tried to implement $_isdefined ("variable"), and do the "$" + "variable" inside GDB, thus making it impossible for GDB to create the convenience variable. However, it was hard to extract the string without having to mess with values and their idiossincrasies. Therefore, I decided to abandon this attempt (specially because I didn't want to spend too much time struggling with it). Anyway, after talking to Doug again we decided that it would be easier to implement $_isvoid, and this will probably help in cases like <http://stackoverflow.com/questions/3744554/testing-if-a-gdb-convenience-variable-is-defined>. I wrote a NEWS entry for it, and some new lines on the documentation. gdb/ 2013-09-16 Sergio Durigan Junior <sergiodj@redhat.com> * NEWS: Mention new convenience function $_isvoid. * value.c (isvoid_internal_fn): New function. (_initialize_values): Add new convenience function $_isvoid. gdb/doc/ 2013-09-16 Sergio Durigan Junior <sergiodj@redhat.com> * gdb.texinfo (Convenience Functions): Mention new convenience function $_isvoid. gdb/testsuite/ 2013-09-16 Sergio Durigan Junior <sergiodj@redhat.com> * gdb.base/gdbvars.c (foo_void): New function. (foo_int): Likewise. * gdb.base/gdbvars.exp (test_convenience_functions): New function. Call it.
2013-09-16gdbserver, aarch64: Zero out regs in aarch64_linux_set_debug_regs.Will Newton2-0/+6
Apply the same fix that was applied to aarch64-linux-nat.c. 2013-09-16 Will Newton <will.newton@linaro.org> * linux-aarch64-low.c (aarch64_linux_set_debug_regs): Zero out regs.
2013-09-16 * arm-linux-tdep.c: Add "elf/common.h" header.Pierre Muller3-6/+14
Remove AT_HWCAP macro definintion as it is provided in added include file. * s390-tdep.c: Remove system header <elf.h> Add "elf/common.h" header for AT_HWCAP definition. (s390_core_read_description): Use correct CORE_ADDR for hwcap local variable used as third parameter of function target_auxv_search.
2013-09-14 * common/filestuff.c (gdb_fopen_cloexec): Do not try to use "e"Pierre Muller2-1/+14
mode if operating system doesn't know O_CLOEXEC.
2013-09-13Code cleanup: Move variable.Jan Kratochvil2-1/+7
gdb/ 2013-09-13 Jan Kratochvil <jan.kratochvil@redhat.com> Code cleanup. * symfile.c (reread_symbols): Move variable obfd_filename to a more inner block.
2013-09-13gdb/ChangeLog:Ulrich Weigand21-23/+921
2013-09-13 Andreas Arnez <arnez@linux.vnet.ibm.com> * NEWS: Mention TDB support. * features/s390-tdb.xml: New file. * features/s390-te-linux64.xml: New file. * features/s390x-te-linux64.xml: New file. * features/Makefile (WHICH): Add new tdescs above. (s390-te-linux64-expedite): Set. (s390x-te-linux64-expedite): Set. * features/s390-te-linux64.c: New file (generated). * features/s390x-te-linux64.c: New file (generated). * regformats/s390-te-linux64.dat: New file (generated). * regformats/s390x-te-linux64.dat: New file (generated). * s390-tdep.h (HWCAP_S390_HIGH_GPRS): Define. (HWCAP_S390_TE): Likewise. (S390_TDB_DWORD0_REGNUM): Likewise. (S390_TDB_DWORD0_REGNUM): Likewise. (S390_TDB_ABORT_CODE_REGNUM): Likewise. (S390_TDB_CONFLICT_TOKEN_REGNUM): Likewise. (S390_TDB_ATIA_REGNUM): Likewise. (S390_TDB_R0_REGNUM): Likewise. (S390_TDB_R1_REGNUM): Likewise. (S390_TDB_R2_REGNUM): Likewise. (S390_TDB_R3_REGNUM): Likewise. (S390_TDB_R4_REGNUM): Likewise. (S390_TDB_R5_REGNUM): Likewise. (S390_TDB_R6_REGNUM): Likewise. (S390_TDB_R7_REGNUM): Likewise. (S390_TDB_R8_REGNUM): Likewise. (S390_TDB_R9_REGNUM): Likewise. (S390_TDB_R10_REGNUM): Likewise. (S390_TDB_R11_REGNUM): Likewise. (S390_TDB_R12_REGNUM): Likewise. (S390_TDB_R13_REGNUM): Likewise. (S390_TDB_R14_REGNUM): Likewise. (S390_TDB_R15_REGNUM): Likewise. (S390_NUM_REGS): Increase. (S390_IS_TDBREGSET_REGNUM): New macro. (s390_regmap_tdb): Declare. (s390_sizeof_tdbregset): Define. (tdesc_s390_te_linux64): Declare. (tdesc_s390x_te_linux64): Likewise. * s390-tdep.c: Add includes for "auxv.h", <elf.h>, "features/s390-te-linux64.c", and "features/s390x-te-linux64.c". (s390_regmap_tdb): New regmap. (s390_supply_tdb_regset): New function. (s390_tdb_regset): New regset. (s390_linux64v2_regset_sections): Add TDB regset to list. (s390x_linux64v2_regset_sections): Likewise. (s390_regset_from_core_section): Recognize TDB core note section. (s390_core_read_description): If HWCAP indicates TE support, select tdesc_s390_te_linux64 or tdesc_s390_s390x_te_linux64. (s390_gdbarch_init): Handle TDB regset. (_initialize_s390_tdep): Initialize new tdescs. * s390-nat.c (HWCAP_S390_HIGH_GPRS): Remove define. (have_regset_tdb): New variable. (s390_native_supply): Support register invalidation. (fetch_regset): Invalidate registers if ptrace yields ENODATA. (check_regset): Treat ENODATA as "regset exists". (s390_linux_fetch_inferior_registers): Add TDB. (s390_read_description): Check for TDB existence and select appropriate tdesc. * gdbserver/Makefile.in (clean): Add removal of new makefile targets. (s390-te-linux64.c): New makefile target. (s390x-te-linux64.c): Likewise. * gdbserver/configure.srv (srv_regobj): Append new objects s390-te-linux64.o and s390x-te-linux64.o. (srv_xmlfiles): Append new files s390-te-linux64.xml, s390x-te-linux64.xml, and s390-tdb.xml. * gdbserver/linux-s390-low.c (init_registers_s390_te_linux64): New declaration. (tdesc_s390_te_linux64): Likewise. (init_registers_s390x_te_linux64): Likewise. (tdesc_s390x_te_linux64): Likewise. (s390_check_regset): Treat ENODATA as "regset exists". (s390_arch_setup): Add TDB regset support. (initialize_low_arch): Initialize registers for new tdescs. gdb/doc/ChangeLog: 2013-09-13 Andreas Arnez <arnez@linux.vnet.ibm.com> * gdb.texinfo (Decimal Floating Point format): Mention S/390. (Standard Target Features): Add new node to menu. (S/390 and System z Features): New node. gdb/testsuite/ChangeLog: 2013-09-13 Andreas Arnez <arnez@linux.vnet.ibm.com> * gdb.arch/s390-tdbregs.c: New file. * gdb.arch/s390-tdbregs.exp: New file.
2013-09-132013-09-13 Andreas Arnez <arnez@linux.vnet.ibm.com>Ulrich Weigand4-324/+328
* s390-tdep.h (S390_IS_GREGSET_REGNUM): New macro. (S390_IS_FPREGSET_REGNUM): New macro. * s390-tdep.c (s390_dwarf_regmap): Make const. (regnum_is_gpr_full): New function for replacing repeated code. (s390_pseudo_register_name): Use it. (s390_pseudo_register_type): Likewise. (s390_pseudo_register_read): Likewise. (s390_pseudo_register_write): Likewise. (s390_unwind_pseudo_register): Likewise. (s390_regmap_gregset): New format for regmap. (s390x_regmap_gregset): Likewise. (s390_regmap_fpregset): Likewise. (s390_regmap_upper): Likewise. (s390_regmap_last_break): Likewise. (s390_regmap_system_call): Likewise. (s390_supply_regset): Adjust to new regmap format. (s390_collect_regset): Likewise. * s390-nat.c (s390_native_supply): Adjust to new regmap format. (s390_native_collect): Likewise. (supply_gregset): Likewise. (fill_gregset): Likewise. (supply_fpregset): Likewise. (fill_fpregset): Likewise. (fetch_regset): Likewise. (store_regset): Likewise. (s390_linux_fetch_inferior_registers): Likewise. (s390_linux_fetch_inferior_registers): Likewise.
2013-09-13doc,mi: example refers to -list-features instead of -list-target-featuresSanimir Agovic2-1/+6
Corrected mi documentation about -list-target-features, example now uses the correct mi command. 2013-09-13 Sanimir Agovic <sanimir.agovic@intel.com> * gdb.texinfo (GDB/MI Miscellaneous Commands): Use -list-target-features in the example.
2013-09-12 * README: New file.Stan Shebs2-0/+386
2013-09-12 * gdb.python/py-events.py (new_objfile_handler): Remove accidentallyDoug Evans2-1/+5
added code to print event.inferior.
2013-09-122013-09-12 Andrew Pinski <apinski@cavium.com>Andrew Pinski2-0/+5
* aarch64-linux-nat.c (aarch64_linux_set_debug_regs): Zero out regs.
2013-09-11minidebuginfo: Fix stripping/debuginfoJan Kratochvil4-8/+24
gdb/doc/ 2013-09-11 Jan Kratochvil <jan.kratochvil@redhat.com> * gdb.texinfo (MiniDebugInfo): Prepare file debug and use it to create mini_debuginfo. Strip binary before adding mini_debuginfo to it. gdb/testsuite/ 2013-09-11 Jan Kratochvil <jan.kratochvil@redhat.com> * gdb.base/gnu-debugdata.exp (objcopy 1): Move it lower and use only debug part of the binary.
2013-09-11minidebuginfo: ppc64 sync testcase->docJan Kratochvil2-1/+8
gdb/doc/ 2013-09-11 Jan Kratochvil <jan.kratochvil@redhat.com> Sync documentation with gdb.base/gnu-debugdata.exp. * gdb.texinfo (MiniDebugInfo): Add comment and "D" in the example.
2013-09-11minidebuginfo: Obvious changesJan Kratochvil4-4/+14
gdb/doc/ 2013-09-11 Jan Kratochvil <jan.kratochvil@redhat.com> * gdb.texinfo (MiniDebugInfo): Fix two trailing dots. gdb/testsuite/ 2013-09-11 Jan Kratochvil <jan.kratochvil@redhat.com> * gdb.base/gnu-debugdata.exp (strip): Add -R .comment. (addlink): Add comment.
2013-09-102013-09-10 Andreas Arnez <arnez@linux.vnet.ibm.com>Ulrich Weigand2-1/+6
* config/s390/s390.mh (NATDEPFILES): Add linux-waitpid.o.
2013-09-10test: adjust 'cd' regexpr to match an optional canonically pathnameSanimir Agovic2-1/+6
New regexpr now correctly deals with trailing canonical pathname. Before only the following output was matched: (gdb) cd Working directory /users/foo In addition it now matches an optional trailing canonical pathname: (gdb) cd Working directory /users/foo (canonically /nfs/users/foo). Triggered by `realpath .` != `pwd` 2013-09-10 Sanimir Agovic <sanimir.agovic@intel.com> testsuite/ * gdb.base/default.exp: Adjust regexpr for 'cd' to match optional canonical pathname.
2013-09-09Remove use of deprecated_init_ui_hook from quit_confirm.Andrew Burgess2-12/+7
https://sourceware.org/ml/gdb-patches/2013-09/msg00224.html gdb/ChangeLog * top.c (quit_confirm): Remove use of deprecated_init_ui_hook.
2013-09-06remote-sim.c: Send debug output to gdb_stdlog.Pedro Alves2-22/+35
Tested by building for --target=arm-eabi, and playing with the debug output a bit. gdb/ 2013-09-06 Pedro Alves <palves@redhat.com> * remote-sim.c (dump_mem, gdbsim_fetch_register) (gdbsim_store_register, gdbsim_kill, gdbsim_load) (gdbsim_create_inferior, gdbsim_open, gdbsim_close) (gdbsim_detach, gdbsim_resume_inferior, gdbsim_wait) (gdbsim_files_info, gdbsim_mourn_inferior): Send debug output to gdb_stdlog.
2013-09-06remote-sim.c: Don't install a deprecated_xfer_memory method.Pedro Alves2-22/+45
Manually tested with a --target=arm-eabi build, and doing things like: $ arm-eabi-gcc ~/gdb/tests/main.c -o a.out -c -g $ ./gdb a.out ... (gdb) tar sim (gdb) load (gdb) disassemble 0 Dump of assembler code for function main: 0x00000000 <+0>: mov r12, sp 0x00000004 <+4>: push {r11, r12, lr, pc} 0x00000008 <+8>: sub r11, r12, #4 0x0000000c <+12>: sub sp, sp, #8 0x00000010 <+16>: str r0, [r11, #-16] 0x00000014 <+20>: str r1, [r11, #-20] 0x00000018 <+24>: mov r3, #0 0x0000001c <+28>: mov r0, r3 0x00000020 <+32>: sub sp, r11, #12 0x00000024 <+36>: ldm sp, {r11, sp, pc} End of assembler dump. (gdb) p *0 = 1 0x00000001 gdb/ 2013-09-06 Pedro Alves <palves@redhat.com> * remote-sim.c (dump_mem): Constify buf parameter. gdbsim_xfer_inferior_memory): Rename to ... (gdbsim_xfer_memory): ... this. Adjust interface as target_xfer_partial helper. (gdbsim_xfer_partial): New function. (init_gdbsim_ops): Don't install a deprecated_xfer_memory hook. Install a to_xfer_partial hook. Send output to gdb_stdlog.
2013-09-06remote-sim.c: cleanup debug output code.Pedro Alves2-9/+13
Manually tested with a --target=arm-eabi build, and doing $ arm-eabi-gcc ~/gdb/tests/main.c -o a.out -c -g $ ./gdb a.out ... (gdb) tar sim (gdb) load (gdb) set debug remote 1 (gdb) disassemble 0 Dump of assembler code for function main: gdbsim_xfer_inferior_memory: myaddr 0x7fffffffd400, memaddr 0x0, len 4, write 0 0x00000000 <+0>: 0xe1a0c00d mov r12, sp gdbsim_xfer_inferior_memory: myaddr 0x7fffffffd400, memaddr 0x4, len 4, write 0 0x00000004 <+4>: 0xe92dd800 push {r11, r12, lr, pc} gdbsim_xfer_inferior_memory: myaddr 0x7fffffffd400, memaddr 0x8, len 4, write 0 0x00000008 <+8>: 0xe24cb004 sub r11, r12, #4 gdbsim_xfer_inferior_memory: myaddr 0x7fffffffd400, memaddr 0xc, len 4, write 0 0x0000000c <+12>: 0xe24dd008 sub sp, sp, #8 gdbsim_xfer_inferior_memory: myaddr 0x7fffffffd400, memaddr 0x10, len 4, write 0 0x00000010 <+16>: 0xe50b0010 str r0, [r11, #-16] gdbsim_xfer_inferior_memory: myaddr 0x7fffffffd400, memaddr 0x14, len 4, write 0 0x00000014 <+20>: 0xe50b1014 str r1, [r11, #-20] gdbsim_xfer_inferior_memory: myaddr 0x7fffffffd400, memaddr 0x18, len 4, write 0 0x00000018 <+24>: 0xe3a03000 mov r3, #0 gdbsim_xfer_inferior_memory: myaddr 0x7fffffffd400, memaddr 0x1c, len 4, write 0 0x0000001c <+28>: 0xe1a00003 mov r0, r3 gdbsim_xfer_inferior_memory: myaddr 0x7fffffffd400, memaddr 0x20, len 4, write 0 0x00000020 <+32>: 0xe24bd00c sub sp, r11, #12 gdbsim_xfer_inferior_memory: myaddr 0x7fffffffd400, memaddr 0x24, len 4, write 0 0x00000024 <+36>: 0xe89da800 ldm sp, {r11, sp, pc} End of assembler dump. (gdb) p *0 = 1 gdbsim_xfer_inferior_memory: myaddr 0xc69bc0, memaddr 0x0, len 4, write 1 0x00000001 $1 = 1 Which happens to differ from before, I think due to stdout line buffering: (gdb) disassemble 0 Dump of assembler code for function main: 0x00000000 <+0>: gdbsim_xfer_inferior_memory: myaddr 0x0x7fffffffd400, memaddr 0x0, len 4, write 0 0xe1a0c00d But the new output looks reasonable to me, better even. gdb/ 2013-09-06 Pedro Alves <palves@redhat.com> * remote-sim.c (gdbsim_xfer_inferior_memory): Use host_address_to_string, and send debug output to gdb_stdlog.
2013-09-06[gdbserver] Garbage collect unused dependency-tracking Makefile variables.Pedro Alves2-50/+9
These used to be necessary for manual rule dependency tracking. Nothing uses them anymore. (regdat_sh is still needed.) gdb/gdbserver/ 2013-09-06 Pedro Alves <palves@redhat.com> * Makefile.in (gdb_proc_service_h, regdef_h, regcache_h) (signals_def, signals_h, ptid_h, ax_h, agent_h, linux_btrace_h) (linux_osdata_h, vec_h, gdb_vecs_h, host_defs_h, libiberty_h) (server_h, gdbthread_h, linux_low_h, linux_ptrace_h) (gdb_thread_db_h, linux_procfs_h, lynx_low_h, nto_low_h) (mips_linux_watch_h, i386_low_h, win32_low_h): Delete.
2013-09-06[gdbserver] Update a couple Makefile rules.Pedro Alves2-4/+11
These two are still written in the pre-auto-dependency-tracking style. They probably were written before that, and committed afterwards without adjustment. An easy oversight to make. gdb/gdbserver/ 2013-09-06 Pedro Alves <palves@redhat.com> * Makefile.in (linux-btrace.o, mips-linux-watch.o): Remove explicit header dependencies and use $COMPILE/$POSTCOMPILE.
2013-09-06[gdbserver] Fix IPA build.Pedro Alves3-0/+7
Somehow, my builds yesterdays didn't trip on this... ../src/gdb/gdbserver/linux-amd64-ipa.c: In function ‘initialize_low_tracepoint’: ../src/gdb/gdbserver/linux-amd64-ipa.c:172:3: error: ‘ipa_tdesc’ undeclared (first use in this function) ../src/gdb/gdbserver/linux-amd64-ipa.c:172:3: note: each undeclared identifier is reported only once for each function it appears in gdb/gdbserver/ 2013-09-06 Pedro Alves <palves@redhat.com> * linux-amd64-ipa.c: Include tracepoint.h. * linux-i386-ipa.c: Include tracepoint.h.
2013-09-06Extract Linux-specific portitions of cris-tdep.c to a new file.Ricard Wanderlof6-18/+112
This brings in some standard functionality hitherdo missing from the CRIS/CRISv32 port thanks to the new call to gdbarch_init_osabi, as well as clearly showing that there is Linux support for this platform by virtue of the existence of a cris-linux-tdep.c file. 2013-09-06 Ricard Wanderlof <ricardw@axis.com> * Makefile.in (ALL_TARGET_OBS): Add cris-linux-tdep.o. * configure.tgt: Add cris-linux-tdep.o and linux-tdep.o to gdb_target_obs for cris target. * cris-tdep.c (struct gdbarch_tdep): Move to cris-tdep.h. (cris_gdbarch_init): Move calls to set_gdbarch_fetch_tls_load_module_address and set_solib_svr4_fetch_link_map_offsets to cris-linux-tdep.c. Add call to gdbarch_init_osabi. * cris-linux-tdep.c: New file. * cris-tdep.h: New file.
2013-09-06OBVIOUS: Remove legacy comment referring to deprecated_init_ui_hook.Andrew Burgess2-2/+6
gdb/ChangeLog * tui/tui-io.c (tui_initialize_io): Remove legacy comment referring to deprecated_init_ui_hook.
2013-09-06Give every interpreter a command_loop_proc.Andrew Burgess6-11/+30
https://sourceware.org/ml/gdb-patches/2013-09/msg00179.html gdb/ChangeLog * cli/cli-interp.c (_initialize_cli_interp): Add a command_loop_proc to interp_procs. * event-top.c (cli_command_loop): Change signature to match interp_command_loop_ftype. * event-top.h (cli_command_loop): Same. * interps.c (interp_new): Require every interpreter to have a command_loop_proc. (current_interp_command_loop): Just call the command_loop_proc on the current interpreter. * tui/tui-interp.c (_initialize_tui_interp): Add a command_loop_proc to interp_procs.
2013-09-06Add support for threaded debugging for CRISv32.Ricard Wanderlof4-0/+33
2013-09-06 Ricard Wanderlof <ricardw@axis.com> * cris-tdep.c (cris_gdbarch_init): Add call to get_gdbarch_fetch_tls_load_module_address. gdbserver * linux-crisv32-low.c (PTRACE_GET_THREAD_AREA): New macro. (ps_get_thread_area): New function.
2013-09-06Fix filename format in previous ChangeLog entry.Andrew Burgess1-3/+3
I used the wrong format for the filenames in a previous changelog entry, I incorrectly included the "gdb/" prefix.
2013-09-06Cosmetic clean up of names of *elf_greg_t types for CRIS/CRISv32.Ricard Wanderlof2-9/+16
2013-09-06 Ricard Wanderlof <ricardw@axis.com> * cris-tdep.c (cris_elf_greg_t): Rename from elf_greg_t. (cris_elf_gregset_t): Rename from elf_gregset_t. (crisv32_elf_gregset_t): Adjust. (cris_supply_gregset, fetch_core_registers): Adjust.
2013-09-06Trivial patch to remove dependency on host unsigned long typeRicard Wanderlof2-1/+5
from cris-tdep.c. 2013-09-06 Ricard Wanderlof <ricardw@axis.com> * cris-tdep.c (elf_greg_t): Change typedef to unsigned char[4]
2013-09-06Fix compilation for target gdbserver on CRISv32 platform.Ricard Wanderlof2-3/+7
One misspelled function call, and one superfluous typedef. The latter causes an error of the following type when building: linux-crisv32-low.c:372: error: conflicting types for 'elf_gregset_t' /.../target/include/asm/elf.h:36: error: previous declaration of 'elf_gregset_t' was here 2013-09-06 Ricard Wanderlof <ricardw@axis.com> * linux-crisv32-low.c (elf_gregset_t): Delete typedef. (initialize_low_arch): Call init_registers_crisv32 rather than init_register_crisv32.
2013-09-05Add missing new files from these previous commits:Pedro Alves7-0/+462
2013-09-05 Pedro Alves <palves@redhat.com> * server.h (handle_vFile, hostio_last_error_from_errno): Move to ... * hostio.h: ... this new file. * hostio.c, server.c, linux-low.c, nto-low.c, spu-low, win32-low.c: Include hostio.h. 2013-09-05 Pedro Alves <palves@redhat.com> * server.h (gdb_client_data, handler_func, callback_handler_func) (delete_file_handler, add_file_handler, append_callback_event) (delete_callback_event, start_event_loop, initialize_event_loop): Move to event-loop.h and include it. * event-loop.h: New file. 2013-09-05 Pedro Alves <palves@redhat.com> * dll.c, inferiors.c, remote-utils.c, server.c: Include "dll.h". * server.h (struct dll_info, all_dlls, dlls_changed, clear_dlls) (loaded_dll, unloaded_dll): Move to ... * dll.h: ... this new file. * inferiors.c, remote-utils.c, win32-low.c: Include "dll.h". 2013-09-05 Pedro Alves <palves@redhat.com> * server.h (current_process, get_thread_process, all_processes) (add_inferior_to_list, for_each_inferior, current_inferior) (remove_inferior, add_process, remove_process, find_process_pid) (have_started_inferiors_p, have_attached_inferiors_p) (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id) (clear_inferiors, find_inferior, find_inferior_id) (inferior_target_data, set_inferior_target_data) (inferior_regcache_data, set_inferior_regcache_data): Move to inferiors.h, and include it. * inferiors.h: New file. 2013-09-05 Pedro Alves <palves@redhat.com> * ax.c, linux-low.c, linux-x86-low.c, server.c: Include tracepoint.h. * server.h (IPA_BUFSIZ, initialize_tracepoint, tracing) (disconnected_tracing, tracepoint_look_up_symbols, stop_tracing (handle_tracepoint_general_set, handle_tracepoint_query) (tracepoint_finished_step, tracepoint_was_hit) (release_while_stepping_state_list, current_traceframe) (in_readonly_region, traceframe_read_mem) (fetch_traceframe_registers, traceframe_read_sdata) (traceframe_read_info, struct fast_tpoint_collect_status) (fast_tracepoint_collecting, force_unlock_trace_buffer) (handle_tracepoit_bkpts, initialize_low_tracepoint) (supply_fast_tracepoint_registers) (supply_static_tracepoint_registers, set_trampoline_buffer_space) (ipa_tdesc, claim_trampoline_space) (have_fast_tracepoint_trampoline_buffer, gdb_agent_about_to_close) (agent_mem_read, agent_get_trace_state_variable_value) (agent_set_trace_state_variable_value, agent_tsv_read) (agent_mem_read_string, get_raw_reg_func_addr) (get_get_tsv_func_addr, get_set_tsv_func_addr): Move to ... * tracepoint.h: ... this new file. 2013-09-05 Pedro Alves <palves@redhat.com> * server.h (perror_with_name, error, fatal, warning, paddress) (pulongest, plongest, phex_nz, pfildes): Move to utils.h, and include it. * utils.h: New file. 2013-09-05 Pedro Alves <palves@redhat.com> * server.h (remote_debug, noack_mode, transport_is_reliable) (gdb_connected, STDIO_CONNECTION_NAME, remote_connection_is_stdio) (read_ptid, write_ptid, putpkt, putpkt_binary, putpkt_notif) (getpkt, remote_prepare, remote_open, remote_close, write_ok) (write_enn, initialize_async_io, enable_async_io) (disable_async_io, check_remote_input_interrupt_request) (convert_ascii_to_int, convert_int_to_ascii, new_thread_notify) (dead_thread_notify, prepare_resume_reply) (decode_address_to_semicolon, decode_address, decode_m_packet) (decode_M_packet, decode_X_packet, decode_xfer_write) (decode_search_memory_packet, unhexify, hexify) (remote_escape_output, unpack_varlen_hex, clear_symbol_cache) (look_up_one_symbol, relocate_instruction) (monitor_output): Move to remote-utils.h, and include it. * remote-utils.h: New file.
2013-09-05[gdbserver] Split a new hostio.h file out of server.h.Pedro Alves8-6/+14
gdb/gdbserver/ 2013-09-05 Pedro Alves <palves@redhat.com> * server.h (handle_vFile, hostio_last_error_from_errno): Move to ... * hostio.h: ... this new file. * hostio.c, server.c, linux-low.c, nto-low.c, spu-low, win32-low.c: Include hostio.h.
2013-09-05[gdbserver] Split a new event-loop.h file out of server.h.Pedro Alves2-14/+9
gdb/gdbserver/ 2013-09-05 Pedro Alves <palves@redhat.com> * server.h (gdb_client_data, handler_func, callback_handler_func) (delete_file_handler, add_file_handler, append_callback_event) (delete_callback_event, start_event_loop, initialize_event_loop): Move to event-loop.h and include it. * event-loop.h: New file.
2013-09-05[gdbserver] Split a new dll.h file out of server.h.Pedro Alves7-16/+14
gdb/gdbserver/ 2013-09-05 Pedro Alves <palves@redhat.com> * dll.c, inferiors.c, remote-utils.c, server.c: Include "dll.h". * server.h (struct dll_info, all_dlls, dlls_changed, clear_dlls) (loaded_dll, unloaded_dll): Move to ... * dll.h: ... this new file. * inferiors.c, remote-utils.c, win32-low.c: Include "dll.h".
2013-09-05[gdbserver] Split a new inferiors.h file out of server.h.Pedro Alves4-95/+17
gdb/gdbserver/ 2013-09-05 Pedro Alves <palves@redhat.com> * server.h (current_process, get_thread_process, all_processes) (add_inferior_to_list, for_each_inferior, current_inferior) (remove_inferior, add_process, remove_process, find_process_pid) (have_started_inferiors_p, have_attached_inferiors_p) (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id) (clear_inferiors, find_inferior, find_inferior_id) (inferior_target_data, set_inferior_target_data) (inferior_regcache_data, set_inferior_regcache_data): Move to inferiors.h, and include it. * inferiors.h: New file.
2013-09-05[gdbserver] Move bytecode compilation bits from server.h to ax.h.Pedro Alves4-56/+64
gdb/gdbserver/ 2013-09-05 Pedro Alves <palves@redhat.com> * server.h (struct emit_ops, current_insn_ptr, emit_error): Move ... * ax.h: ... here.
2013-09-05[gdbserver] Split a new tracepoint.h file out of server.h.Pedro Alves8-112/+30
gdb/gdbserver/ 2013-09-05 Pedro Alves <palves@redhat.com> * ax.c, linux-low.c, linux-x86-low.c, server.c: Include tracepoint.h. * server.h (IPA_BUFSIZ, initialize_tracepoint, tracing) (disconnected_tracing, tracepoint_look_up_symbols, stop_tracing (handle_tracepoint_general_set, handle_tracepoint_query) (tracepoint_finished_step, tracepoint_was_hit) (release_while_stepping_state_list, current_traceframe) (in_readonly_region, traceframe_read_mem) (fetch_traceframe_registers, traceframe_read_sdata) (traceframe_read_info, struct fast_tpoint_collect_status) (fast_tracepoint_collecting, force_unlock_trace_buffer) (handle_tracepoit_bkpts, initialize_low_tracepoint) (supply_fast_tracepoint_registers) (supply_static_tracepoint_registers, set_trampoline_buffer_space) (ipa_tdesc, claim_trampoline_space) (have_fast_tracepoint_trampoline_buffer, gdb_agent_about_to_close) (agent_mem_read, agent_get_trace_state_variable_value) (agent_set_trace_state_variable_value, agent_tsv_read) (agent_mem_read_string, get_raw_reg_func_addr) (get_get_tsv_func_addr, get_set_tsv_func_addr): Move to ... * tracepoint.h: ... this new file.
2013-09-05[gdbserver] Split a new utils.h file out of server.h.Pedro Alves2-11/+8
gdb/gdbserver/ 2013-09-05 Pedro Alves <palves@redhat.com> * server.h (perror_with_name, error, fatal, warning, paddress) (pulongest, plongest, phex_nz, pfildes): Move to utils.h, and include it. * utils.h: New file.
2013-09-05[gdbserver] Split a new remote-utils.h file out of server.h.Pedro Alves2-64/+19
gdb/gdbserver/ 2013-09-05 Pedro Alves <palves@redhat.com> * server.h (remote_debug, noack_mode, transport_is_reliable) (gdb_connected, STDIO_CONNECTION_NAME, remote_connection_is_stdio) (read_ptid, write_ptid, putpkt, putpkt_binary, putpkt_notif) (getpkt, remote_prepare, remote_open, remote_close, write_ok) (write_enn, initialize_async_io, enable_async_io) (disable_async_io, check_remote_input_interrupt_request) (convert_ascii_to_int, convert_int_to_ascii, new_thread_notify) (dead_thread_notify, prepare_resume_reply) (decode_address_to_semicolon, decode_address, decode_m_packet) (decode_M_packet, decode_X_packet, decode_xfer_write) (decode_search_memory_packet, unhexify, hexify) (remote_escape_output, unpack_varlen_hex, clear_symbol_cache) (look_up_one_symbol, relocate_instruction) (monitor_output): Move to remote-utils.h, and include it. * remote-utils.h: New file.
2013-09-05[gdbserver] Delete _ macro (gettext).Pedro Alves2-6/+4
server.h nowadays includes gdb_locale.h, which already brings this in. gdb/gdbserver/ 2013-09-05 Pedro Alves <palves@redhat.com> * server.h (_): Delete.
2013-09-05Remove deprecated_command_loop_hook.Andrew Burgess4-17/+15
https://sourceware.org/ml/gdb-patches/2013-09/msg00174.html gdb/ChangeLog * gdb/defs.h (deprecated_command_loop_hook): Remove, including references in comments. * gdb/interps.c (current_interp_command_loop): No longer use deprecated_command_loop_hook. (clear_interpreter_hooks): Remove deprecated_command_loop_hook setup. * gdb/top.c (deprecated_command_loop_hook): Remove.
2013-09-05dwarf2loc.c: minor cleanup. don't print integer with paddress.Pedro Alves2-3/+10
A couple years ago, dwarf_expr_fetch used to return a CORE_ADDR. It was made to return a ULONGEST since, and the 'dwarf_regnum' local adjusted accordingly, but, we kept printing it with paddress. gdbarch_dwarf2_reg_to_regnum takes the register number as 'int', so there's really no point in using ULONGEST/pulongest either. gdb/ 2013-09-05 Pedro Alves <palves@redhat.com> * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): 'dwarf_regnum' local is now int instead of ULONGEST. Print it with %d instead of paddress.
2013-09-052013-09-05 Tristan Gingold <gingold@adacore.com>Tristan Gingold2-1/+4
* MAINTAINERS: Remove avr maintainership.
2013-09-05Rework value_of_register in terms of value_of_register_lazy.Pedro Alves2-29/+7
I noticed that value_of_register (used for getting values _of_ registers ($pc, $rax, etc.), rather than variables _in_ registers), kind of builds a franken-value, by propagating the lval and address of the frame register value, but not the entire location, like necessary for lval_computed (if some unwinder ever returns that, the resulting value will misbehave). This gets in the way of printing optimized out (not saved) lval_registers differently from other optimized out values, as it doesn't make sure the resulting value is lval_register. I started out by just doing something like: - VALUE_LVAL (reg_val) = lval; - set_value_address (reg_val, addr); + VALUE_LVAL (reg_val) = lval_register; ... just like value_of_register_lazy below. That's sufficient to fix the issue. Then I noticed this is using frame_register, which we should avoid nowadays, for it returns elements of a value, but not all that's sometimes necessary (unavailable-ness is all or nothing with it, for instance), and considered using get_frame_register_value instead (which returns a struct value), and value_contents_copy, just like value_fetch_lazy's handling of lval_register. But at that point, I realized we might as well just defer all that work to value_of_register_lazy/value_fetch_lazy... Doing it this way adds a frame_find_by_id lookup (from within value_fetch_lazy), while we already have a frame pointer handy in value_of_register. I considered factoring out the lazy register fetching out of value_fetch_lazy, into a function that takes a frame pointer and call that instead, avoiding the lookup, but then it looked like too much complication for an early optimization, and went back to keeping it simple. Tested on x86_64 Fedora 17. gdb/ 2013-09-05 Pedro Alves <palves@redhat.com> * findvar.c (value_of_register): Rework in terms of value_of_register_lazy.
2013-09-052013-09-05 Muhammad Bilal <mbilal@codesourcery.com>Muhammad Bilal2-1/+5
* symfile.c (add_symbol_file_command): Remove trailing whitespaces and blank line after comment.
2013-09-05[TUI] Rewrite register-changed decision bits.Pedro Alves2-40/+23
I stumbled on the TUI's register-changed decision code before (used to decided whether the register should be highlighted in the register window), for it is trying to compare all the different possible states and contents or previous/current register contents, and as such may need updating whenever the value machinery changes to have more state. It's just much simpler and more future proof to compare the previous/current printable representation instead. The bit in tui_register_format that returns early if the register has no name gets a bit in the way of the new prototype (what to return in that case? NULL, empty string, etc.?). Fortunately, that check isn't really necessary. All the callers will have already skipped unnamed registers. gdb/ 2013-09-05 Pedro Alves <palves@redhat.com> * tui/tui-regs.c (tui_register_format): Don't look at the register's name here. Return string representing register value instead of storing it in the data element. (tui_get_register): Compare register string representations instead of register value states and contents.
2013-09-05[PR tui/15933] TUI shows registers of the wrong frame the first timePedro Alves2-1/+7
I've stumbled on this by inspection. When the TUI's register window is first displayed, it always shows the registers of the current frame, instead of of the selected frame, which is obviously bogus. E.g., (gdb) step # into "function" (gdb) up (gdb) tui reg general # or C-x 2, C-x 2 shows the registers of "function", rather than the caller's. A subsequent: (gdb) frame or (gdb) down (gdb) up can be used as workaround to "fix" it. gdb/ 2013-09-05 Pedro Alves <palves@redhat.com> PR tui/15933 * tui/tui-regs.c (tui_show_registers): Show registers of the selected frame, not the current frame.
2013-09-052013-09-05 Ricard Wanderlof <ricardw@axis.com>Ricard Wanderlof2-0/+5
* MAINTAINERS: Add myself to Write After Approval.
2013-09-04 * gdb.python/py-events.py (exit_handler): Verify we get the expectedDoug Evans5-17/+24
event. (continue_handler, new_objfile_handler): Ditto. (test_events): Rename command to "test-events". (test_newobj_events): Rename command to "test-objfile-events". * gdb.python/py-events.exp: Update. * gdb.python/py-evsignal.exp: Update. * gdb.python/py-evthreads.exp: Update.