aboutsummaryrefslogtreecommitdiff
path: root/gdb/common
AgeCommit message (Collapse)AuthorFilesLines
2013-04-23 * common/filestuff.c: Check USE_WIN32API before includingTom Tromey2-4/+23
sys/socket.h. (HAVE_F_GETFD): New define. (mark_cloexec): Check HAVE_F_GETFD. (gdb_open_cloexec): Change 'mode' to unsigned long. (gdb_socketpair_cloexec): Check HAVE_SOCKETPAIR. (gdb_pipe_cloexec): Check HAVE_PIPE. * common/filestuff.h (gdb_open_cloexec): Change 'mode' to unsigned long.
2013-04-22 PR gdb/7912:Tom Tromey5-11/+427
* Makefile.in (SFILES): Add filestuff.c (COMMON_OBS): Add filestuff.o. (filestuff.o): New target. * auto-load.c (auto_load_objfile_script_1): Use gdb_fopen_cloexec. * auxv.c (procfs_xfer_auxv): Use gdb_open_cloexec. * cli/cli-cmds.c (shell_escape): Call close_most_fds. * cli/cli-dump.c (fopen_with_cleanup): Use gdb_fopen_cloexec. * common/agent.c (gdb_connect_sync_socket): Use gdb_socket_cloexec. * common/filestuff.c: New file. * common/filestuff.h: New file. * common/linux-osdata.c (linux_common_core_of_thread) (command_from_pid, commandline_from_pid, print_source_lines) (linux_xfer_osdata_shm, linux_xfer_osdata_sem) (linux_xfer_osdata_msg, linux_xfer_osdata_modules): Use gdb_fopen_cloexec. * common/linux-procfs.c (linux_proc_get_int) (linux_proc_pid_has_state): Use gdb_fopen_cloexec. * config.in, configure: Rebuild. * configure.ac: Don't check for sys/socket.h. Check for fdwalk, pipe2. * corelow.c (core_open): Use gdb_open_cloexec. * dwarf2read.c (write_psymtabs_to_index): Use gdb_fopen_cloexec. * fork-child.c (fork_inferior): Call close_most_fds. * gdb_bfd.c (gdb_bfd_open): Use gdb_open_cloexec. * inf-child.c (inf_child_fileio_readlink): Use gdb_open_cloexec. * linux-nat.c (linux_nat_thread_name, linux_proc_pending_signals): Use gdb_fopen_cloexec. (linux_proc_xfer_partial, linux_proc_xfer_spu): Use gdb_open_cloexec. (linux_async_pipe): Use gdb_pipe_cloexec. * remote-fileio.c (remote_fileio_func_open): Use gdb_open_cloexec. * remote.c (remote_file_put, remote_file_get): Use gdb_fopen_cloexec. * ser-pipe.c (pipe_open): Use gdb_socketpair_cloexec, close_most_fds. * ser-tcp.c (net_open): Use gdb_socket_cloexec. * ser-unix.c (hardwire_open): Use gdb_open_cloexec. * solib.c (solib_find): Use gdb_open_cloexec. * source.c (openp, find_and_open_source): Use gdb_open_cloexec. * tracepoint.c (tfile_start): Use gdb_fopen_cloexec. (tfile_open): Use gdb_open_cloexec. * tui/tui-io.c (tui_initialize_io): Use gdb_pipe_cloexec. * ui-file.c (gdb_fopen): Use gdb_fopen_cloexec. * xml-support.c (xml_fetch_content_from_file): Use gdb_fopen_cloexec. * main.c (captured_main): Call notice_open_fds. gdbserver * Makefile.in (SFILES): Add filestuff.c. (OBS): Add filestuff.o. (filestuff.o): New target. * config.in, configure: Rebuild. * configure.ac: Check for fdwalk, pipe2.
2013-04-19gdb_byte for binary buffer, char for string: common/agent.c.Pedro Alves1-1/+2
Similarly to the remote code, agent commands are mostly ascii. Cast to gdb_byte when treating the command buffer as raw memory bytes. 2013-04-19 Pedro Alves <palves@redhat.com> * common/agent.c (agent_run_command): Add cast to gdb_byte *.
2013-04-16Update glibc_thread_db.h from upstream.Pedro Alves1-25/+46
Attempting to build gdbserver with our copy of thread_db.h yields: In file included from ../../../src/gdb/gdbserver/../common/gdb_thread_db.h:4:0, from ../../../src/gdb/gdbserver/thread-db.c:30: ../../../src/gdb/gdbserver/../common/glibc_thread_db.h:108:3: error: unknown type name ‘uint32_t’ In file included from ../../../src/gdb/gdbserver/../common/gdb_thread_db.h:4:0, from ../../../src/gdb/gdbserver/thread-db.c:30: ../../../src/gdb/gdbserver/../common/glibc_thread_db.h:199:5: error: unknown type name ‘uintptr_t’ ../../../src/gdb/gdbserver/../common/glibc_thread_db.h:269:3: error: unknown type name ‘intptr_t’ ../../../src/gdb/gdbserver/../common/glibc_thread_db.h:270:3: error: unknown type name ‘intptr_t’ We used to have a workaround for this, but the patch to import gnulib's stdint.h removed it: http://www.sourceware.org/ml/gdb-patches/2008-06/msg00050.html and defs.h made to always include stdint.h. However, gdbserver doesn't include stdint.h in its equivalent server.h. Rather than working around the issue, I've imported a more recent version from glibc, which itself includes <stdint.h>. Other than copyright years and FSF snail mail address, the file hasn't been touched since 2003 in glibc. AFAICS, our version was updated last in 2000-09-03. A note on the apparent license change: before the previous patch, this file's contents were part of gdb_thread_db.h, and we can see that its license's text was changed in this patch <http://sourceware.org/ml/gdb-patches/2009-03/msg00251.html>. That was certainly just an easy to overlook grep/sed mistake that fell through the cracks. gdb/common/ 2013-04-16 Pedro Alves <palves@redhat.com> * glibc_thread_db.h: Update from upstream glibc (git 568035b7874a099087b77f7bba3e36a1173787b0).
2013-04-16Move fallback thread_db.h to a separate file.Pedro Alves2-439/+438
Having this on a separate file makes it easier to import a new version -- one can just copy over instead of having to care about preserving the GDB-specific bits. 2013-04-16 Pedro Alves <palves@redhat.com> * common/gdb_thread_db.h [!HAVE_THREAD_DB_H]: Factor out to ... * common/glibc_thread_db.h: ... this new file ... * common/gdb_thread_db.h [!HAVE_THREAD_DB_H]: ... and include it.
2013-04-16PR build/11881: LIBTHREAD_DB_SO can be undefined.Pedro Alves1-12/+11
This patch: http://sourceware.org/ml/gdb-patches/2009-04/msg00115.html Changed behaviour by only defining LIBTHREAD_DB_SO if thread_db.h exists. The definition of LIBTHREAD_DB_SO and LIBTHREAD_DB_SEARCH_PATH should be moved outside of #ifdef HAVE_THREAD_DB_H. This is based on a patch attached to the PR, however, it needed a tweak, as it was it broke the HAVE_THREAD_DB_H path. 2013-04-16 Will Newton <will.newton@gmail.com> Pedro Alves <palves@redhat.com> PR build/11881 * common/gdb_thread_db.h (LIBTHREAD_DB_SO) (LIBTHREAD_DB_SEARCH_PATH): Move outside of #ifdef HAVE_THREAD_DB_H.
2013-03-12 * ada-lang.c (ada_read_renaming_var_value): Pass constKeith Seitz2-5/+6
pointer to expression string to parse_exp_1. (create_excep_cond_exprs): Likewise. * ax-gdb.c (agent_eval_command_one): Likewise. (maint_agent_printf_command): Likewise. Constify much of the string handling/parsing. * breakpoint.c (set_breakpoint_condition): Pass const pointer to expression string to parse_exp_1. (update_watchpoint): Likewise. (parse_cmd_to_aexpr): Constify string handling. Pass const pointer to parse_exp_1. (init_breakpoint_sal): Pass const pointer to parse_exp_1. (find_condition_and_thread): Likewise. Make TOK const. (watch_command_1): Make "arg" const. Constify string handling. Copy the expression string instead of changing the input string. (update_breakpoint_location): Pass const pointer to parse_exp_1. * eval.c (parse_and_eval_address): Make "exp" const. (parse_to_comma_and_eval): Make "expp" const. (parse_and_eval): Make "exp" const. * expression.h (parse_expression): Make argument const. (parse_exp_1): Make first argument const. * findcmd.c (parse_find_args): Treat "args" as const. * linespec.c (parse_linespec): Pass const pointer to linespec_expression_to_pc. (linespec_expression_to_pc): Make "exp_ptr" const. * parse.c (parse_exp_1): Make "stringptr" const. Make a copy of the expression to pass to parse_exp_in_context until this whole interface can be constified. (parse_expression): Make "string" const. * printcmd.c (ui_printf): Treat "arg" as const. Handle const strings. * tracepoint.c (validate_actionline): Pass const pointer to all calls to parse_exp_1. (encode_actions_1): Likewise. * value.h (parse_to_comma_and_eval): Make argument const. (parse_and_eval_address): Likewise. (parse_and_eval): Likewise. * varobj.c (varobj_create): Pass const pointer to parse_exp_1. (varobj_set_value): Likewise. * cli/cli-cmds.c (disassemble_command): Treat "arg" as const and constify string handling. Pass const pointers to parse_and_eval_address and parse_to_comman_and_eval. * cli/cli-utils.c (skip_to_space): Rename to ... (skip_to_space_const): ... this. Handle const strings. * cli/cli-utils.h (skip_to_space): Turn into macro which invokes skip_to_space_const. (skip_to_space_const): Declare. * common/format.c (parse_format_string): Make "arg" const. Handle const strings. * common/format.h (parse_format_string): Make "arg" const. * gdbserver/ax.c (ax_printf): Make "format" const. * python/python.c (gdbpy_parse_and_eval): Do not make a copy of the expression string.
2013-03-11LBR, BTM, or BTS records may have incorrect branch "from" information afer anMarkus Metzger1-1/+186
EIST transition, T-states, C1E, or Adaptive Thermal Throttling (AAJ122). This results in sporadic test fails. Disable btrace on those processors. gdb/ * common/linux-btrace.c: Include sys/ptrace, sys/types, sys/wait.h, and signal.h. (linux_supports_btrace): Add kernel and cpuid check. (kernel_supports_btrace): New function. (cpu_supports_btrace): New function. (intel_supports_btrace): New function.
2013-03-11Implement branch tracing on Linux based on perf_event such that it can be sharedMarkus Metzger2-0/+502
between gdb and gdbserver. gdb/ * common/linux_btrace.h: New file. * common/linux_btrace.c: New file. * Makefile.in (SFILES): Add btrace.c. (HFILES_NO_SRCDIR): Add common/linux-btrace.h. (COMMON_OBS): Add btrace.o. (linux-btrace.o): New rule. gdbserver/ * Makefile.in (SFILES): Add $(srcdir)/common/linux-btrace.c. (linux_btrace_h): New variable. (linux-btrace.o): New rule.
2013-03-11Add branch trace information to struct thread_info.Markus Metzger1-0/+73
Add functions to enable, disable, clear, and fetch a thread's branch trace. gdb/ * target.h: Include btrace.h. (struct target_ops) <to_supports_btrace, to_enable_btrace, to_disable_btrace, to_teardown_btrace, to_read_btrace>: New. * target.c (target_supports_btrace): New function. (target_enable_btrace): New function. (target_disable_btrace): New function. (target_teardown_btrace): New function. (target_read_btrace): New function. * btrace.h: New file. * btrace.c: New file. * Makefile.in: Add btrace.c. * gdbthread.h: Include btrace.h. (struct thread_info): Add btrace field. * thread.c: Include btrace.h. (clear_thread_inferior_resources): Call target_teardown_btrace. * common/btrace-common.h: New file.
2013-03-10gdb/Jan Kratochvil1-23/+15
* common/linux-ptrace.c (linux_ptrace_test_ret_to_nx): Call also kill for CHILD, ignore PTRACE_KILL errors, move the inner block variable kill_status to outer block.
2013-02-25Tweak warning output on Linux kernels with broken i386 NX support.Pedro Alves1-2/+3
The "you have broken" bit of this text reads to me as if I had broken it myself somehow. This patch eliminates that ambiguity. 2013-02-25 Pedro Alves <palves@redhat.com> * common/linux-ptrace.c (linux_ptrace_test_ret_to_nx): Change warning text.
2013-02-14Move savestring to common/common-utils.c, make gdbserver use it.Pedro Alves2-0/+17
This makes gdbserver share gdb's savestring, instead of baking its own. Tested on x86_64 Fedora 17. gdb/ 2013-02-14 Pedro Alves <palves@redhat.com> * utils.c (savestring): Don't #undef it. Move function to common/common-utils.c. * common/common-utils.c: Include gdb_string.h. (savestring): Move here from utils.c. * common/common-utils.h (savestring): Declare. gdb/gdbserver/ 2013-02-14 Pedro Alves <palves@redhat.com> * tracepoint.c (save_string): Delete. (add_tracepoint_action): Use savestring instead of save_string.
2013-02-08 * common/format.c (parse_format_string): Fix whitespace.Doug Evans1-7/+7
2013-01-08gdb: x86: fix x32 builds with inline asmMike Frysinger1-1/+2
We need to cast the pointer up to 64bits so that the push works on x32 targets. For 64bit targets, this makes no difference. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2013-01-01Update years in copyright notice for the GDB files.Joel Brobecker35-36/+35
Two modifications: 1. The addition of 2013 to the copyright year range for every file; 2. The use of a single year range, instead of potentially multiple year ranges, as approved by the FSF.
2012-12-15gdb/Yao Qi1-0/+303
2012-12-15 Yao Qi <yao@codesourcery.com> Doug Evans <dje@google.com> * common/queue.h: New.
2012-11-29 * contrib/ari/gdb_ari.sh: Remove rules for xasprintf andTom Tromey2-23/+0
xvasprintf. * common/common-utils.c (xasprintf, xvasprintf): Remove. * common/common-utils.h (xasprintf, xvasprintf): Remove.
2012-11-26gdb/Pedro Alves1-1/+1
2012-11-26 Maxime Villard <rustyBSD@gmx.fr> Pedro Alves <palves@redhat.com> * common/linux-osdata.c (linux_xfer_osdata_fds): Decrease buffer size parameter passed to readlink by one byte. * fbsd-nat.c (fbsd_pid_to_exec_file): Ditto. * linux-nat.c (linux_child_pid_to_exec_file): Ditto. * nbsd-nat.c (nbsd_pid_to_exec_file): Ditto. * inf-child.c (inf_child_fileio_readlink): Decrease local buffer's size by one byte. gdb/gdbserver/ 2012-11-26 Maxime Villard <rustyBSD@gmx.fr> * hostio.c (handle_readlink): Decrease buffer size parameter passed to readlink by one byte.
2012-11-20Fix 'info os' crashes on sparc.David S. Miller1-24/+3
* common/linux-osdata.c (get_number_of_cpu_cores): Delete. (linux_xfer_osdata_processes): Fetch _SC_NPROCESSORS_ONLN via sysconf. (get_cores_used_by_process): Update comment.
2012-11-152012-11-15 Pierre Muller <muller@sourceware.org>Pierre Muller4-2/+174
ARI fixes: move gdb_wait and gdb_stat headers to common subdirectory. * gdb_stat.h: Delete. Moved to common directory. * common/gdb_stat.h: New file. * gdb_wait.h: Delete. Moved to common directory. * common/gdb_wait.h: New file. * Makefile.in (H_FILES_NO_SRC): Adapt to new header location. * contrib/ari/gdb_ari.sh (wait.h rule): Adapt to new gdb_wait.h location. (stat.h rule): Adapt to new gdb_stat.h location. * common/linux-osdata.c: Include "gdb_stat.h" header instead of <sys/stat.h> header. * common/linux-ptrace.c: Include "gdb_wait.h" header instead of <sys/wait.h> header. gdbserver ChangeLog entry: 2012-11-15 Pierre Muller <muller@sourceware.org> * configure.ac (AC_CHECK_HEADERS): Add wait.h header. * config.in: Regenerate. * configure: Regenerate. * linux-low.c: Use "gdb_stat.h" header instead of <sys/stat.h> header. Use "gdb_wait.h" header instead of <sys/wait.h> header. * lynx-low.c: Use "gdb_wait.h" header instead of <sys/wait.h> header. * remote-utils.c: Use "gdb_stat.h" header instead of <sys/stat.h> header. * server.c: Remove HAVE_WAIT_H conditional. Use "gdb_wait.h" header instead of <sys/wait.h> header. * spu-low.c: Use "gdb_wait.h" header instead of <sys/wait.h> header.
2012-11-09 * gdbarch.sh (target_gdbarch): Remove macro.Tom Tromey1-2/+2
(get_target_gdbarch): Rename to target_gdbarch. * gdbarch.c, gdbarch.h: Rebuild. * ada-tasks.c, aix-thread.c, amd64-linux-nat.c, arch-utils.c, arm-tdep.c, auxv.c, breakpoint.c, bsd-uthread.c, corefile.c, darwin-nat-info.c, dcache.c, dsrec.c, exec.c, fbsd-nat.c, filesystem.c, gcore.c, gnu-nat.c, i386-darwin-nat.c, i386-nat.c, ia64-vms-tdep.c, inf-ptrace.c, infcmd.c, jit.c, linux-nat.c, linux-tdep.c, linux-thread-db.c, m32r-rom.c, memattr.c, mep-tdep.c, microblaze-tdep.c, mips-linux-nat.c, mips-linux-tdep.c, mips-tdep.c, monitor.c, moxie-tdep.c, nto-procfs.c, nto-tdep.c, ppc-linux-nat.c, proc-service.c, procfs.c, progspace.c, ravenscar-thread.c, record.c, remote-m32r-sdi.c, remote-mips.c, remote-sim.c, remote.c, rl78-tdep.c, rs6000-nat.c, rx-tdep.c, s390-nat.c, sol-thread.c, solib-darwin.c, solib-dsbt.c, solib-frv.c, solib-ia64-hpux.c, solib-irix.c, solib-pa64.c, solib-som.c, solib-spu.c, solib-sunos.c, solib-svr4.c, solib.c, spu-linux-nat.c, spu-multiarch.c, spu-tdep.c, symfile-mem.c, symfile.c, symtab.c, target-descriptions.c, target.c, target.h, tracepoint.c, windows-nat.c, windows-tdep.c, xcoffsolib.c, cli/cli-dump.c, common/agent.c, mi/mi-interp.c, python/py-finishbreakpoint.c, python/py-inferior.c, python/python.c: Update.
2012-11-07 * common/linux-osdata.c (dirent.h): ARI fix: Remove.Pierre Muller1-1/+0
File already uses "gdb_dirent.h" header.
2012-09-17gdb/Jan Kratochvil1-17/+88
* common/linux-ptrace.c: Change __i386__ to __i386__ || __x86_64__. (linux_ptrace_test_ret_to_nx): Extend comment for x86_64. Change __i386__ to __i386__ || __x86_64__. Extend code also for __x86_64__. Extend code also for PaX support. Convert all gdb_assert to warning calls.
2012-08-10gdb: add completion handler for "handle" and "signal"Mike Frysinger1-0/+72
The command line completion has spoiled me. Thus the lack of completion with the "handle" command annoys me. Patch! This does a few things: - adds a VEC_merge helper - adds a generic signal completer - adds a completion handler for the "handle" command - sets the completion handler for the "signal" command URL: http://sourceware.org/bugzilla/show_bug.cgi?id=10436 Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-08-08 * gdb_string.h: Moved to ...Doug Evans2-2/+70
* common/gdb_string.h: ... here. * common/vec.h: Remove #ifndef GDBSERVER conditional inclusion of gdb_string.h and gdb_assert.h. gdbserver/ * configure.ac: Add check for strstr. * config.in: Regenerate. * configure: Regenerate. * linux-thread-db.c: #include "gdb_vecs.h". (try_thread_db_load_from_pdir_1): New arg "subdir". All callers updated. (try_thread_db_load_from_pdir): New arg "subdir". All callers updated. (thread_db_load_search): Use a vector to iterate over path elements. Handle text appearing after "$pdir". gdbserver/ * Makefile.in (SFILES): Add gdb_vecs.c. (OBS): Add gdb_vecs.o. (gdb_vecs_h, host_defs_h): New variables. (thread-db.o): Add $(gdb_vecs_h) dependency. (gdb_vecs.o): New rule. * thread-db.c: #include "gdb_vecs.h". (thread_db_load_search): Use a vector to iterate over path elements. Handle text appearing after "$pdir".
2012-07-18 * common/gdb_vecs.h: Moved here from ./gdb_vecs.h.Doug Evans3-0/+175
* common/gdb_vecs.c: New file, contents from utils.c. * common/host-defs.h: New file, contents from defs.h. * utils.h: New file, contents from defs.h. * defs.h: Move all declarations of objects defined in utils.c to utils.h (except QUIT() and related). #include "utils.h", "host-defs.h". * probe.h (probe_p): Move here from gdb_vecs.h. * symfile.c: #include "probe.h" instead of "gdb_vecs.h". * utils.c (free_char_ptr_vec): Moved to common/gdb_vecs.c. (dirnames_to_char_ptr_vec_append, dirnames_to_char_ptr_vec): Ditto. * Makefile.in (SFILES): Add common/gdb_vecs.c. (HFILES_NO_SRCDIR): Add common/gdb_vecs.h, common/host-defs.h, utils.h. (COMMON_OBS): Add gdb_vecs.o. (gdb_vecs.o): New rule.
2012-07-07gdb/Jan Kratochvil2-0/+125
* common/linux-ptrace.c: Include gdb_assert.h. <__i386__> (linux_ptrace_test_ret_to_nx_instr): New declaration. <__i386__>: Include sys/reg.h, sys/mman.h, signal.h, sys/wait.h and stdint.h. (linux_ptrace_test_ret_to_nx, linux_ptrace_init_warnings): New functions. * common/linux-ptrace.h (linux_ptrace_init_warnings): New declarations. * linux-nat.c (linux_child_post_attach) (linux_child_post_startup_inferior): Call linux_ptrace_init_warnings. gdb/gdbserver/ * gdbserver/linux-low.c (initialize_low): Call linux_ptrace_init_warnings.
2012-07-02 Add target-side support for dynamic printf.Stan Shebs3-0/+465
* NEWS: Mention the additional style. * breakpoint.h (struct bp_target_info): New fields tcommands, persist. (struct bp_location): New field cmd_bytecode. * breakpoint.c: Include format.h. (disconnected_dprintf): New global. (parse_cmd_to_aexpr): New function. (build_target_command_list): New function. (insert_bp_location): Call it. (remove_breakpoints_pid): Skip dprintf breakpoints. (print_one_breakpoint_location): Ditto. (dprintf_style_agent): New global. (dprintf_style_enums): Add dprintf_style_agent. (update_dprintf_command_list): Add agent case. (agent_printf_command): New function. (_initialize_breakpoint): Add new commands. * common/ax.def (printf): New bytecode. * ax.h (ax_string): Declare. * ax-gdb.h (gen_printf): Declare. * ax-gdb.c: Include cli-utils.h, format.h. (gen_printf): New function. (maint_agent_print_command): New function. (_initialize_ax_gdb): Add maint agent-printf command. * ax-general.c (ax_string): New function. (ax_print): Add printf disassembly. * Makefile.in (SFILES): Add format.c (COMMON_OBS): Add format.o. * common/format.h: New file. * common/format.c: New file. * printcmd.c: Include format.h. (ui_printf): Call parse_format_string. * remote.c (remote_state): New field breakpoint_commands. (PACKET_BreakpointCommands): New enum. (remote_breakpoint_commands_feature): New function. (remote_protocol_features): Add new BreakpointCommands entry. (remote_can_run_breakpoint_commands): New function. (remote_add_target_side_commands): New function. (remote_insert_breakpoint): Call it. (remote_insert_hw_breakpoint): Ditto. (_initialize_remote): Add new packet configuration for target-side breakpoint commands. * target.h (struct target_ops): New field to_can_run_breakpoint_commands. (target_can_run_breakpoint_commands): New macro. * target.c (update_current_target): Handle to_can_run_breakpoint_commands. [gdbserver] * Makefile.in (WARN_CFLAGS_NO_FORMAT): Define. (ax.o): Add it to build rule. (ax-ipa.o): Ditto. (OBS): Add format.o. (IPA_OBS): Add format.o. * server.c (handle_query): Claim support for breakpoint commands. (process_point_options): Add command case. (process_serial_event): Leave running if there are printfs in effect. * mem-break.h (any_persistent_commands): Declare. (add_breakpoint_commands): Declare. (gdb_no_commands_at_breakpoint): Declare. (run_breakpoint_commands): Declare. * mem-break.c (struct point_command_list): New struct. (struct breakpoint): New field command_list. (any_persistent_commands): New function. (add_commands_to_breakpoint): New function. (add_breakpoint_commands): New function. (gdb_no_commands_at_breakpoint): New function. (run_breakpoint_commands): New function. * linux-low.c (linux_wait_1): Test for and run breakpoint commands locally. * ax.c: Include format.h. (ax_printf): New function. (gdb_eval_agent_expr): Add printf opcode. [doc] * gdb.texinfo (Dynamic Printf): Mention agent style and disconnected dprintf. (Maintenance Commands): Describe maint agent-printf. (General Query Packets): Mention BreakpointCommands feature. (Packets): Document commands extension to Z0 packet. * agentexpr.texi (Bytecode Descriptions): Document printf bytecode. [testsuite] * gdb.base/dprintf.exp: Add agent style tests.
2012-06-28 * osdata.c (info_osdata_command): Filter out "Title" columnsStan Shebs1-10/+13
from non-MI uses. * common/linux-osdata.c (struct osdata_type): Add title field. (osdata_table): Add titles to each entry. (linux_command_xfer_osdata): Add a column for title data. * gdb.texinfo (Miscellaneous GDB/MI Commands): Update -info-os example, add note about title column.
2012-06-28gdb/Jan Kratochvil1-4/+10
* common/buffer.c: Include inttypes.h and stdint.h. (buffer_xml_printf): Use PRId64, PRIu64, PRIx64 and PRIo64.
2012-05-24gdb/Pedro Alves2-121/+121
2012-05-24 Pedro Alves <palves@redhat.com> PR gdb/7205 Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout. gdb/gdbserver/ 2012-05-24 Pedro Alves <palves@redhat.com> PR gdb/7205 Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout. include/gdb/ 2012-05-24 Pedro Alves <palves@redhat.com> PR gdb/7205 * gdb/signals.def: Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout. sim/arm/ 2012-05-24 Pedro Alves <palves@redhat.com> PR gdb/7205 Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout. sim/avr/ 2012-05-24 Pedro Alves <palves@redhat.com> PR gdb/7205 Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout. sim/common/ 2012-05-24 Pedro Alves <palves@redhat.com> PR gdb/7205 Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout. sim/cr16/ 2012-05-24 Pedro Alves <palves@redhat.com> PR gdb/7205 Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout. sim/d10v/ 2012-05-24 Pedro Alves <palves@redhat.com> PR gdb/7205 Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout. sim/erc32/ 2012-05-24 Pedro Alves <palves@redhat.com> PR gdb/7205 Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout. sim/m32c/ 2012-05-24 Pedro Alves <palves@redhat.com> PR gdb/7205 Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout. sim/ppc/ 2012-05-24 Pedro Alves <palves@redhat.com> PR gdb/7205 Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout. sim/rl78/ 2012-05-24 Pedro Alves <palves@redhat.com> PR gdb/7205 Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout. sim/rx/ 2012-05-24 Pedro Alves <palves@redhat.com> PR gdb/7205 Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
2012-05-24gdb/Pedro Alves2-31/+31
2012-05-24 Pedro Alves <palves@redhat.com> PR gdb/7205 Replace target_signal with gdb_signal throughout. gdb/gdbserver/ 2012-05-24 Pedro Alves <palves@redhat.com> PR gdb/7205 Replace target_signal with gdb_signal throughout. include/gdb/ 2012-05-24 Pedro Alves <palves@redhat.com> PR gdb/7205 Replace target_signal with gdb_signal throughout. sim/common/ 2012-05-24 Pedro Alves <palves@redhat.com> PR gdb/7205 Replace target_signal with gdb_signal throughout.
2012-05-22 * common/buffer.c (buffer_grow): ARI fix: Remove unneededPierre Muller1-2/+0
call to abort.
2012-05-112012-05-11 Stan Shebs <stan@codesourcery.com>Stan Shebs2-40/+1131
Kwok Cheung Yeung <kcy@codesourcery.com> * NEWS: Describe new info os commands. * common/linux-osdata.c (PID_T, TIME_T): Define. (MAX_PID_T_STRLEN): New. (linux_common_core_of_thread): Add comment. Change to use PID_T and MAX_PID_T_STRLEN. (command_from_pid): Add comment. Change to use PID_T. (commandline_from_pid): Change to use PID_T. (user_from_pid): Add comment. (get_process_owner): Add comment. Change to use PID_T and MAX_PID_T_STRLEN. (get_number_of_cpu_cores): Add comment. (get_cores_used_by_process): Add comment. Change to use PID_T and MAX_PID_T_STRLEN. (linux_xfer_osdata_processes): Change to use PID_T and MAX_PID_T_STRLEN. (compare_processes): New function. (linux_xfer_osdata_processgroups): New function. (linux_xfer_osdata_threads): Change to use PID_T. (linux_xfer_osdata_fds): New function. (format_socket_state, print_sockets): New functions. (union socket_addr): New union. (linux_xfer_osdata_isockets): New function. (time_from_time_t, group_from_gid): New functions. (linux_xfer_osdata_shm): New function. (linux_xfer_osdata_sem): New function. (linux_xfer_osdata_msg): New function. (linux_xfer_osdata_modules): New function. (osdata_table): Add new entries. * common/buffer.c (buffer_xml_printf): Add support for long and long long format specifiers. * gdb.texinfo (Operating System Auxiliary Information): Document new 'info os' subcommands. * gdb.base/info-os.exp: New file. * gdb.base/info-os.c: New file.
2012-04-19gdb:Yao Qi2-0/+1159
* Makefile.in (SFILES): Add common/vec.c and remove vec.c. (vec.o): New rule. * vec.c: Move it ... * common/vec.c: ... here. * vec.h: Move it ... * common/vec.h: ... here. gdb/gdbserver: * Makefile.in (SFILES): Add common/vec.c. (OBS): Add vec.o. (vec.o): New rule.
2012-04-16gdb/Yao Qi2-3/+2
* common/agent.c (agent_run_command): Add one more parameter `len'. Update callers. * common/agent.h: Update declaration. * linux-nat.c (linux_child_static_tracepoint_markers_by_strid): Update. (linux_child_static_tracepoint_markers_by_strid): Ditto. gdb/gdbserver/ * tracepoint.c (COPY_FIELD_TO_BUF): New macro. (struct tracepoint_action_ops) <send>: New field. (m_tracepoint_action_send, r_tracepoint_action_send): New. (agent_expr_send, x_tracepoint_action_send): New. (l_tracepoint_action_send): New. (cmd_qtdp): Download and install tracepoint according to `use_agent'. (run_inferior_command): Add one more parameter `len'. Update callers. (tracepoint_send_agent): New. (cmd_qtdp, cmd_qtstart): Call tracepoint_send_agent.
2012-03-13gdb/Jan Kratochvil4-46/+81
* common/linux-procfs.c (linux_proc_get_int): New, from linux_proc_get_tgid, change its LWPID type to pid_t, add parameter field. (linux_proc_get_tgid): Only call linux_proc_get_int. (linux_proc_get_tracerpid): New. (linux_proc_pid_has_state): New, from linux_proc_pid_is_zombie. (linux_proc_pid_is_stopped, linux_proc_pid_is_zombie): Only call linux_proc_pid_has_state. * common/linux-procfs.h (linux_proc_get_tracerpid): New declaration. * common/linux-ptrace.c: Include linux-procfs.h and buffer.h. (linux_ptrace_attach_warnings): New. * common/linux-ptrace.h (struct buffer, linux_ptrace_attach_warnings): New declaration. * linux-nat.c: Include exceptions.h, linux-ptrace.h and buffer.h. (linux_nat_attach): New variables ex, buffer, message and message_s. Wrap to_attach by TRY_CATCH and call linux_ptrace_attach_warnings. gdb/gdbserver/ * linux-low.c (linux_attach_lwp_1): New variable buffer. Call linux_ptrace_attach_warnings. gdb/testsuite/ * gdb.base/attach-twice.c: New files. * gdb.base/attach-twice.exp: New files.
2012-03-13gdb/Jan Kratochvil3-0/+61
* Makefile.in (linux-ptrace.o): New. * common/linux-procfs.c (linux_proc_pid_is_zombie): New, from linux-nat.c. * common/linux-procfs.h (linux_proc_pid_is_zombie): New declaration. * common/linux-ptrace.c: New file. * config/alpha/alpha-linux.mh (NATDEPFILES): Add linux-ptrace.o. * config/arm/linux.mh: Likewise. * config/i386/linux.mh: Likewise. * config/i386/linux64.mh: Likewise. * config/ia64/linux.mh: Likewise. * config/m32r/linux.mh: Likewise. * config/m68k/linux.mh: Likewise. * config/mips/linux.mh: Likewise. * config/pa/linux.mh: Likewise. * config/powerpc/linux.mh: Likewise. * config/powerpc/ppc64-linux.mh: Likewise. * config/powerpc/spu-linux.mh: Likewise. * config/s390/s390.mh: Likewise. * config/sparc/linux.mh: Likewise. * config/sparc/linux64.mh: Likewise. * config/xtensa/linux.mh: Likewise. * linux-nat.c (linux_lwp_is_zombie): Remove, move it to common/linux-procfs.c. (wait_lwp): Rename linux_lwp_is_zombie to linux_proc_pid_is_zombie. gdb/gdbserver/ * Makefile.in (linux-ptrace.o): New. * configure.srv (arm*-*-linux*, bfin-*-*linux*, crisv32-*-linux*) (cris-*-linux*, i[34567]86-*-linux*, ia64-*-linux*, m32r*-*-linux*) (m68*-*-linux*, m68*-*-uclinux*, mips*-*-linux*, powerpc*-*-linux*) (s390*-*-linux*, sh*-*-linux*, sparc*-*-linux*, tic6x-*-uclinux) (x86_64-*-linux*, xtensa*-*-linux*): Add linux-ptrace.o to SRV_TGTOBJ of these targets. * linux-low.c (linux_attach_lwp_1): Remove redundent else clause.
2012-03-05gdb/Jan Kratochvil1-0/+2
Code cleanup. * common/linux-osdata.c (linux_common_core_of_thread): New function comment. * linux-nat.c (linux_nat_wait_1): Replace linux_nat_core_of_thread_1 call by linux_common_core_of_thread. (linux_nat_core_of_thread_1): Remove. * linux-nat.h (linux_nat_core_of_thread_1): Remove declaration. * linux-thread-db.c: Include linux-osdata.h. (update_thread_core): Replace linux_nat_core_of_thread_1 call by linux_common_core_of_thread.
2012-03-04gdb/Yao Qi1-9/+9
* common/agent.c (gdb_connect_sync_socket): Add _ markup and remove trailing new line. (agent_run_command, agent_run_command): Add _ markup. (agent_capability_check): Likewise.
2012-03-03gdb:Yao Qi2-4/+5
* common/agent.c (agent_look_up_symbols): Add one parameter 'arg'. * common/agent.h: Update declaration. * inf-child.c (inf_child_use_agent): New. (inf_child_can_use_agent): New. (inf_child_target): Initialize fields `to_use_agent' and `to_can_use_agent'. * agent.c (agent_new_objfile): New. (_initialize_agent): Add agent_new_objfile to new_objfile observer. * linux-nat.c (linux_child_static_tracepoint_markers_by_strid): New. (linux_target_install_ops): Initialize field `to_static_tracepoint_markers_by_strid'. * remote.c (free_current_marker): Move it to ... * tracepoint.c (free_current_marker): ... here. New. (cleanup_target_stop): New. * tracepoint.h: Declare free_current_marker. * NEWS: Add one entry about `info static-tracepoint-marker'. gdb/gdbserver: * tracepoint.c (tracepoint_look_up_symbols): Update call to agent_look_up_symbols. gdb/testsuite: * gdb.trace/strace.exp: run strace_info_marker in linux native gdb.
2012-03-03gdb:Yao Qi2-0/+13
* common/agent.c (agent_loaded_p): New. (agent_look_up_symbols): New global. * common/agent.h: Declare agent_loaded_p. gdb/gdbserver: * Makefile.in (linux-low.o): Keep dependence on agent.h. (linux-x86-low.o): Likewise. * server.h: Remove in_process_agent_loaded. * tracepoint.c (in_process_agent_loaded): Removed. Moved it common/agent.c. Update callers.
2012-03-03gdb:Yao Qi2-0/+57
* common/agent.c (struct ipa_sym_addresses) <addr_capability>: New. (agent_capability_check, agent_capability_invalidate): New. (symbol_list): New array element. * common/agent.h (enum agent_capa): New. * target.c (target_pre_inferior): Call agent_capability_invalidate. gdb/gdbserver: * tracepoint.c (gdb_agent_capability): New global. (in_process_agent_loaded_ust): Renamed to `in_process_agent_supports_ust'. Update callers. (in_process_agent_supports_ust): Call agent_capability_check. (clear_installed_tracepoints): Assert that agent supports agent.
2012-03-03gdb:Yao Qi2-0/+4
* target.h (struct target_ops) <to_use_agent>: New field. (struct target_ops) <to_can_use_agent>: New field. (target_use_agent, target_can_use_agent): New macro. * target.c (update_current_target): Update. * remote.c: New enum `PACKET_QAgent'. (remote_protocol_features): Add a new element. (remote_use_agent, remote_can_use_agent): New. (init_remote_ops): Initialize field `can_use_agent' with remote_can_use_agent. Intiailize field `use_agent' with remote_use_agent. * common/agent.c (use_agent): New global. * common/agent.h: Declare it. * tracepoint.c (info_static_tracepoint_markers_command): Add comment. * Makefile.in (SFILES): Add common/agent.c and agent.c. (COMMON_OBS): Add common/agent.o and agent.o (common-agent.o): New rule. * agent.c: New. gdb/doc: * gdb.texinfo (In-Process Agent): New node. Document new commands. (General Query Packets): Add packet `QAgent'. gdb/gdbserver: * linux-low.c (linux_supports_agent): New. (linux_target_ops): Initialize field `supports_agent' with linux_supports_agent. * target.h (struct target_ops) <supports_agent>: New. (target_supports_agent): New macro. * server.c (handle_general_set): Handle packet 'QAgent'. (handle_query): Send `QAgent+'. * Makefile.in (server.o): Depends on agent.h.
2012-03-03gdb:Yao Qi2-0/+339
* common/agent.c: New. * common/agent.h: New. * configure.ac: Add `sys/socket.h' and `sys/un.h' to AC_CHECK_HEADERS. * configure, configh.in: Regenerated. gdb/gdbserver: * Makefile.in (OBS): Add agent.o. Add new rule for agent.o. Track dependence of tracepoint.c on agent.h. * tracepoint.c (run_inferior_command_1): (run_inferior_command): Call agent_run_command. (gdb_ust_connect_sync_socket): Deleted. Move it to common/agent.c. (resume_thread, stop_thread): Likewise. (gdb_ust_socket_init): Renamed to ... (gdb_agent_socket_init): ... New. (gdb_ust_thread): Renamed to ... (gdb_agent_helper_thread): ... New. (gdb_ust_init): Move some code to ... (gdb_agent_init): ... here. New. [HAVE_UST]: Call gdb_ust_init. (initialize_tracepoint_ftlib): Call gdb_agent_init. * configure.ac: Add `sys/un.h' to AC_CHECK_HEADERS. * config.in, configure: Regenerated.
2012-03-012012-03-01 Pedro Alves <palves@redhat.com>Pedro Alves1-42/+0
* common/signals.c (default_target_signal_to_host) (default_target_signal_from_host): Move ... * arch-utils.c: ... here. * arch-utils.h (default_target_signal_to_host) (default_target_signal_from_host): Declare. * common/signals.c (target_signal_from_command): Move ... * infrun.c: ... here. * inferior.h (target_signal_from_command): Declare. * target.h (target_signal_from_command) (default_target_signal_from_host, default_target_signal_to_host): Delete declarations. * common/signals.c (_initialize_signals): Delete.
2012-02-272012-02-27 Pedro Alves <palves@redhat.com>Pedro Alves2-0/+36
gdb/gdbserver/ * linux-low.c (pid_is_stopped): Delete, moved to common/. (linux_attach_lwp_1): Adjust to use linux_proc_pid_is_stopped. gdb/ * linux-nat.c (pid_is_stopped): Delete, moved to common/. (linux_nat_post_attach_wait): Adjust to use linux_proc_pid_is_stopped. * common/linux-procfs.h (linux_proc_pid_is_stopped): Declare. * common/linux-procfs.c (linux_proc_pid_is_stopped): New function, based on pid_is_stopped from both linux-nat.c and gdbserver/linux-low.c, and renamed.
2012-01-112012-01-11 Andreas Tobler <andreast@fgznet.ch>Andreas Tobler1-1/+1
* common/gdb_assert.h (gdb_static_assert): Rename static_assert to an internal gdb_static_assert. * mi/mi-common.c: Rename static_assert to gdb_static_assert.
2012-01-04Copyright year update in most files of the GDB Project.Joel Brobecker21-40/+21
gdb/ChangeLog: Copyright year update in most files of the GDB Project.