aboutsummaryrefslogtreecommitdiff
path: root/gdb
AgeCommit message (Collapse)AuthorFilesLines
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.
2013-09-04 * dwarf2read.c (queue_and_load_all_dwo_tus): New function.Doug Evans5-6/+95
(queue_and_load_dwo_tu): New function. (lookup_dwo_signatured_type): Set per_cu.tu_read. (maybe_queue_comp_unit): Rename this_cu argument to dependent_cu. Make dependent_cu optional. (dw2_do_instantiate_symtab): If we just loaded a CU from a DWO, and an older .gdb_index is in use, queue and load all its TUs too. testsuite/ * gdb.base/enumval.c (ZERO): New enum value. (main): Use it * gdb.base/enumval.exp: Test ability to print ZERO.
2013-09-04Code cleanup: Change OPF_DISABLE_REALPATH to OPF_RETURN_REALPATH.Jan Kratochvil9-28/+50
gdb/ 2013-09-04 Jan Kratochvil <jan.kratochvil@redhat.com> Code cleanup: Change OPF_DISABLE_REALPATH to OPF_RETURN_REALPATH. * cli/cli-cmds.c (find_and_open_script): Add OPF_RETURN_REALPATH to variable search_flags. * defs.h (OPF_DISABLE_REALPATH): Rename to ... (OPF_RETURN_REALPATH): ... here. * dwarf2read.c (try_open_dwop_file): Set OPF_RETURN_REALPATH for flags. * exec.c (exec_file_attach): Remove OPF_DISABLE_REALPATH from openp call. Twice. * nto-tdep.c (nto_find_and_open_solib): Add OPF_RETURN_REALPATH for openp call. * solib.c (solib_find): Likewise. Four times. * source.c (openp): Change OPF_DISABLE_REALPATH to OPF_RETURN_REALPATH in the function comment and for the realpath_fptr variable. (source_full_path_of): Add OPF_RETURN_REALPATH for openp call. (find_and_open_source): Likewise. Twice. * symfile.c (symfile_bfd_open): Likewise, also twice.
2013-09-04 * progspace.c (save_current_space_and_thread): Remove unnecessaryDoug Evans2-1/+7
call to save_current_inferior.
2013-09-04Avoid printing unavailable/optimized out registers (sh64-tdep.c)Andrew Burgess2-1/+9
https://sourceware.org/ml/gdb-patches/2013-08/msg00834.html gdb/ChangeLog * sh64-tdep.c (sh64_do_register): Return after printing message about unavailable register contents.
2013-09-042013-09-04 Muhammad Bilal <mbilal@codesourcery.com>Muhammad Bilal4-56/+68
Pedro Alves <palves@redhat.com> * symfile.c (add_symbol_file_command): Error out on unknown option. Handle EXPECTING_SEC_ADDR/EXPECTING_SEC_NAME before '-' options and collapse into single conditional branch. 2013-09-13 Muhammad Bilal <mbilal@codesourcery.com> Pedro Alves <palves@redhat.com> * gdb.base/relocate.exp: Check that invalid options are rejected.
2013-09-03 * inf-child.c (inf_child_follow_fork) New parameterLuis Machado9-18/+41
detach_fork. * inf-ptrace.c (inf_ptrace_follow_fork): Likewise. * inf-ttrace.c (inf_ttrace_follow_fork): Likewise. * inferior.h (detach_fork): Remove. * infrun.c (detach_fork): Adjust comment and make it static. (follow_fork): Pass detach_fork parameter to target_follow_fork. * linux-nat.c (linux_child_follow_fork): New parameter detach_fork. * target.c (target_follow_fork): New parameter detach_fork. Pass detach_fork as parameter and print its value. * target.h (struct target_ops) <to_follow_fork>: New int parameter. (target_follow_fork): New parameter detach_fork.
2013-09-03Fix build failure in solib-ia64-hpux.cJoel Brobecker2-1/+7
The field "bfd" no longer exists in struct target_section. Use the_bfd_section->owner instead. gdb/ChangeLog: * solib-ia64-hpux.c (ia64_hpux_relocate_section_addresses): Replace sec->bfd by sec->the_bfd_section->owner.
2013-09-02gdb/Yao Qi4-18/+26
* linux-tdep.c (linux_is_uclinux): New function. Code moved from linux_has_shared_address_space. (linux_has_shared_address_space): Call linux_is_uclinux. * linux-tdep.h (linux_is_uclinux): Declare. * m68klinux-tdep.c (m68k_linux_get_sigtramp_info): Call linux_is_uclinux.
2013-09-02gdb/Yao Qi7-8/+13
* config/djgpp/fnchange.lst: Remove entry of i386-interix-nat.c and i386-interix-tdep.c. * configure.ac: Remove '*-*-interix*'. * configure: Re-generated. * defs.h (enum gdb_osabi): Remove GDB_OSABI_INTERIX. * i386-cygwin-tdep.c (i386_cygwin_osabi_sniffer): Remove obsolete comments. * osabi.c (gdb_osabi_names): Remove "Interix".
2013-09-02gdb/Yao Qi2-1/+5
* arch-utils.c: Fix typo in the comment to gdbarch_update_p.
2013-09-02[gdbserver] Fix trace-buffer-size.exp FAILs.Pedro Alves2-4/+20
I'm seeing trace-buffer-size.exp failing (with gdbserver): (gdb) PASS: gdb.trace/trace-buffer-size.exp: tstatus check 2 show trace-buffer-size 4 Requested size of trace buffer is 4. (gdb) PASS: gdb.trace/trace-buffer-size.exp: show trace buffer size set trace-buffer-size -1 memory clobbered past end of allocated block Remote connection closed (gdb) FAIL: gdb.trace/trace-buffer-size.exp: set trace buffer size 2 set trace-buffer-size unlimited (gdb) PASS: gdb.trace/trace-buffer-size.exp: set trace-buffer-size unlimited That "memory clobbered past end of allocated block" is mcheck triggering. Valgrind shows: ==23624== Invalid write of size 1 ==23624== at 0x418DD8: clear_trace_buffer (tracepoint.c:1443) ==23624== by 0x418F3A: init_trace_buffer (tracepoint.c:1497) ==23624== by 0x41D95B: cmd_bigqtbuffer_size (tracepoint.c:4061) ==23624== by 0x41DEEC: handle_tracepoint_general_set (tracepoint.c:4193) clear_trace_buffer does: static void clear_trace_buffer (void) { trace_buffer_start = trace_buffer_lo; trace_buffer_free = trace_buffer_lo; trace_buffer_end_free = trace_buffer_hi; trace_buffer_wrap = trace_buffer_hi; /* A traceframe with zeroed fields marks the end of trace data. */ ((struct traceframe *) trace_buffer_free)->tpnum = 0; ((struct traceframe *) trace_buffer_free)->data_size = 0; traceframe_read_count = traceframe_write_count = 0; traceframes_created = 0; } And the tpnum+data_size fields are over 4 bytes... This fixes it by ensuring we allocate space at least for an EOB. We have code elsewhere that relies on the EOB being present (like e.g., find_traceframe), so this seems simplest. gdb/gdbserver/ 2013-09-02 Pedro Alves <palves@redhat.com> * tracepoint.c (TRACEFRAME_EOB_MARKER_SIZE): New macro. (init_trace_buffer): Ensure at least TRACEFRAME_EOB_MARKER_SIZE is allocated. (trace_buffer_alloc): Use TRACEFRAME_EOB_MARKER_SIZE.
2013-09-02record: upcase record_print_flag enumeration constantsMarkus Metzger4-6/+13
* record.h (record_print_flag) <record_print_src_line, record_print_insn_range>: Rename into ... (record_print_flag) <record_print_src_line, record_print_insn_range>: ... this. Update all users.
2013-09-02 * win32-low.c (child_xfer_memory): Check if ReadProcessMemoryPierre Muller2-6/+21
or WriteProcessMemory complete successfully and handle ERROR_PARTIAL_COPY error.
2013-09-02server.c:gdb_read_memory: Fix error return.Pedro Alves2-1/+6
When I added gdb_read_memory, with bits factored out from elsewhere, I missed adjusting this error return. gdb_read_memory has an interface similar to Like GDB's xfer_partial: > /* Read trace frame or inferior memory. Returns the number of bytes > actually read, zero when no further transfer is possible, and -1 on > error. Return of a positive value smaller than LEN does not > indicate there's no more to be read, only the end of the transfer. Returning EIO, a positive value, is obviously bogus, for the caller will confuse it with a successful partial transfer. Found by inspection. Tested on x86_64 Fedora 17. gdb/gdbserver/ 2013-09-02 Pedro Alves <palves@redhat.com> * server.c (gdb_read_memory): Return -1 on traceframe memory read error instead of EIO.
2013-09-02 Fix small indentation error in last commitPierre Muller1-2/+2
2013-09-02 * windows-nat.c (windows_xfer_memory): Handle ERROR_PARTIAL_COPYPierre Muller2-1/+14
error code.
2013-09-02 * windows-nat.c (windows_xfer_memory): Fix compilation failurePierre Muller2-4/+9
by use of plongest function.
2013-09-022013-09-02 Tristan Gingold <gingold@adacore.com>Tristan Gingold3-1/+788
* NEWS: Add entry mentioning support for native Windows x64 SEH data. * amd64-windows-tdep.c: #include "objfiles.h", "frame-unwind.h", "coff/internal.h", "coff/i386.h", "coff/pe.h" and "libcoff.h". (struct amd64_windows_frame_cache): New struct. (amd64_windows_w2gdb_regnum): New global. (pc_in_range, amd64_windows_frame_decode_epilogue) (amd64_windows_frame_decode_insns, amd64_windows_find_unwind_info) (amd64_windows_frame_cache, amd64_windows_frame_prev_register) (amd64_windows_frame_this_id): New functions. (amd64_windows_frame_unwind): New static global. (amd64_windows_skip_prologue): New function. (amd64_windows_init_abi): Call frame_unwind_prepend_unwinder with amd64_windows_frame_unwind. Call set_gdbarch_skip_prologue with amd64_windows_skip_prologue.
2013-08-30GDB 7.6.1 released.gdbadmin1-0/+4