aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-05-24 * boards/fission-dwp.exp: New file.Doug Evans2-0/+65
2013-05-24 * contrib/cc-with-tweaks.sh (-p): Handle no dwo files.Doug Evans2-4/+11
2013-05-24 * aarch64.c (aarch64_find_call): Promote to bfd_vma before signAlan Modra2-1/+6
extending.
2013-05-24daily updateAlan Modra1-1/+1
2013-05-24*** empty log message ***gdbadmin1-1/+1
2013-05-23common/filestuff.c: No sockets on DJGPP.Pedro Alves5-3/+23
Building gdb with --host=i586-pc-msdosdjgpp ends up with: i586-pc-msdosdjgpp-gcc -g -O2 -I../../src/gdb/config/djgpp -I. -I../../src/gdb -I../../src/gdb/common -I../../src/gdb/config -DLOCALEDIR="\"/usr/local/share/locale\"" -DHAVE_CONFIG_H -I../../src/gdb/../include/opcode -I../../src/gdb/../opcodes/.. -I../../src/gdb/../readline/.. -I../bfd -I../../src/gdb/../bfd -I../../src/gdb/../include -I../libdecnumber -I../../src/gdb/../libdecnumber -I./../intl -I../../src/gdb/gnulib/import -Ibuild-gnulib/import -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wpointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wmissing-prototypes -Wdeclaration-after-statement -Wempty-body -Werror -c -o filestuff.o -MT filestuff.o -MMD -MP -MF .deps/filestuff.Tpo ../../src/gdb/common/filestuff.c ../../src/gdb/common/filestuff.c:38:24: fatal error: sys/socket.h: No such file or directory There are no sockets on djgpp. This #ifdef's out the bits in the file that use sockets, depending on whether winsock or sys/socket.h is available. As alternative approach, given ser-tcp.c, ser-pipe.c, etc. are split into separate files, and which to use is selected by configure.ac: dnl Figure out which of the many generic ser-*.c files the _host_ supports. SER_HARDWIRE="ser-base.o ser-unix.o ser-pipe.o ser-tcp.o" case ${host} in *go32* ) SER_HARDWIRE=ser-go32.o ;; *djgpp* ) SER_HARDWIRE=ser-go32.o ;; *mingw32*) SER_HARDWIRE="ser-base.o ser-tcp.o ser-mingw.o" ;; esac AC_SUBST(SER_HARDWIRE) ... I considered splitting filestuff.c similarly. But I quickly gave up on the idea, as it looked like a lot more complication over this approach, for no real gain. Plus, there are uses of these functions outside the ser*.c framework. gdbserver's configure.ac is already checking for sys/socket.h. gdb/ 2013-05-23 Pedro Alves <palves@redhat.com> * common/filestuff.c [USE_WIN32API]: Define HAVE_SOCKETS. [HAVE_SYS_SOCKET_H]: Define HAVE_SOCKETS. (socket_mark_cloexec, gdb_socketpair_cloexec, gdb_socket_cloexec): Only define if HAVE_SOCKETS is defined. * configure.ac: Check for sys/socket.h. * config.in, configure: Regenerate.
2013-05-23dwarf2read.c: Don't assume uint32_t is unsigned int on all hosts.Pedro Alves2-9/+15
Building gdb on GNU/Linux, for --host=i586-pc-msdosdjgpp, I get: ../../src/gdb/dwarf2read.c: In function 'create_dwp_hash_table': ../../src/gdb/dwarf2read.c:8626:7: error: format '%u' expects argument of type 'unsigned int', but argument 2 has type 'uint32_t' [-Werror=format] ../../src/gdb/dwarf2read.c:8632:7: error: format '%u' expects argument of type 'unsigned int', but argument 2 has type 'uint32_t' [-Werror=format] ../../src/gdb/dwarf2read.c: In function 'create_dwo_in_dwp': ../../src/gdb/dwarf2read.c:8754:6: error: format '%u' expects argument of type 'unsigned int', but argument 4 has type 'uint32_t' [-Werror=format] ../../src/gdb/dwarf2read.c: In function 'open_and_init_dwp_file': ../../src/gdb/dwarf2read.c:9248:6: error: format '%u' expects argument of type 'unsigned int', but argument 3 has type 'long unsigned int' [-Werror=format] ../../src/gdb/dwarf2read.c:9248:6: error: format '%u' expects argument of type 'unsigned int', but argument 4 has type 'long unsigned int' [-Werror=format] And: $ grep uint32_t /usr/i586-pc-msdosdjgpp/sys-include/* /usr/i586-pc-msdosdjgpp/sys-include/stdint.h:typedef unsigned long uint32_t; As decided on the discussion at <http://sourceware.org/ml/gdb-patches/2013-05/msg00788.html>, use pulongest rather than PRIu32. Tested on F17. Also confirmed GDB still builds OK with --host=i686-w64-mingw32. gdb/ 2013-05-23 Pedro Alves <palves@redhat.com> * dwarf2read.c (create_dwp_hash_table, create_dwo_in_dwp) (open_and_init_dwp_file): Use %s/pulongest instead of %u for printing uint32_t variables.
2013-05-23range stepping: testsPedro Alves6-0/+541
This adds tests to verify range stepping is used as expected, by inspecting the RSP traffic, looking for vCont;s and vCont;r packets. gdb/testsuite/ 2013-05-23 Yao Qi <yao@codesourcery.com> Pedro Alves <palves@redhat.com> * gdb.base/range-stepping.c: New file. * gdb.base/range-stepping.exp: New file. * gdb.trace/range-stepping.c: New file. * gdb.trace/range-stepping.exp: New file. * lib/range-stepping-support.exp: New file.
2013-05-23range stepping: gdbserver (x86 GNU/Linux)Pedro Alves8-12/+141
This patch adds support for range stepping to GDBserver, teaching it about vCont;r. It'd be easy to enable this for all hardware single-step targets without needing the linux_target_ops hook, however, at least PPC needs special care, due to the fact that PPC atomic sequences can't be hardware single-stepped through, a thing which GDBserver doesn't know about. So this leaves the support limited to x86/x86_64. gdb/ 2013-05-23 Pedro Alves <palves@redhat.com> * NEWS: Mention GDBserver range stepping support. gdb/gdbserver/ 2013-05-23 Yao Qi <yao@codesourcery.com> Pedro Alves <palves@redhat.com> * linux-low.c (lwp_in_step_range): New function. (linux_wait_1): If the thread was range stepping and stopped outside the stepping range, report the stop to GDB. Otherwise, continue stepping. Add range stepping debug output. (linux_set_resume_request): Copy the step range from the resume request to the lwp. (linux_supports_range_stepping): New. (linux_target_ops) <supports_range_stepping>: Set to linux_supports_range_stepping. * linux-low.h (struct linux_target_ops) <supports_range_stepping>: New field. (struct lwp_info) <step_range_start, step_range_end>: New fields. * linux-x86-low.c (x86_supports_range_stepping): New. (the_low_target) <supports_range_stepping>: Set to x86_supports_range_stepping. * server.c (handle_v_cont): Handle 'r' action. (handle_v_requests): Append ";r" if the target supports range stepping. * target.h (struct thread_resume) <step_range_start, step_range_end>: New fields. (struct target_ops) <supports_range_stepping>: New field. (target_supports_range_stepping): New macro.
2013-05-23range stepping: gdbPedro Alves8-1/+245
This patch teaches GDB to take advantage of target-assisted range stepping. It adds a new 'r ADDR1,ADDR2' action to vCont (vCont;r), meaning, "step once, and keep stepping as long as the thread is in the [ADDR1,ADDR2) range". Rationale: When user issues the "step" command on the following line of source, a = b + c + d * e - a; GDB single-steps every single instruction until the program reaches a new different line. E.g., on x86_64, that line compiles to: 0x08048434 <+65>: mov 0x1c(%esp),%eax 0x08048438 <+69>: mov 0x30(%esp),%edx 0x0804843c <+73>: add %eax,%edx 0x0804843e <+75>: mov 0x18(%esp),%eax 0x08048442 <+79>: imul 0x2c(%esp),%eax 0x08048447 <+84>: add %edx,%eax 0x08048449 <+86>: sub 0x34(%esp),%eax 0x0804844d <+90>: mov %eax,0x34(%esp) 0x08048451 <+94>: mov 0x1c(%esp),%eax and the following is the RSP traffic between GDB and GDBserver: --> vCont;s:p2e13.2e13;c <-- T0505:68efffbf;04:30efffbf;08:3c840408;thread:p2e13.2e13;core:1; --> vCont;s:p2e13.2e13;c <-- T0505:68efffbf;04:30efffbf;08:3e840408;thread:p2e13.2e13;core:2; --> vCont;s:p2e13.2e13;c <-- T0505:68efffbf;04:30efffbf;08:42840408;thread:p2e13.2e13;core:2; --> vCont;s:p2e13.2e13;c <-- T0505:68efffbf;04:30efffbf;08:47840408;thread:p2e13.2e13;core:0; --> vCont;s:p2e13.2e13;c <-- T0505:68efffbf;04:30efffbf;08:49840408;thread:p2e13.2e13;core:0; --> vCont;s:p2e13.2e13;c <-- T0505:68efffbf;04:30efffbf;08:4d840408;thread:p2e13.2e13;core:0; --> vCont;s:p2e13.2e13;c <-- T0505:68efffbf;04:30efffbf;08:51840408;thread:p2e13.2e13;core:0; IOW, a lot of roundtrips between GDB and GDBserver. If we add a new command to the RSP, meaning "keep stepping and don't report a stop until the program goes out of the [0x08048434, 0x08048451) address range", then the RSP traffic can be reduced down to: --> vCont;r8048434,8048451:p2db0.2db0;c <-- T0505:68efffbf;04:30efffbf;08:51840408;thread:p2db0.2db0;core:1; As number of packets is reduced dramatically, the performance of stepping source lines is much improved. In case something is wrong with range stepping on the stub side, the debug info or even gdb, this adds a "set/show range-stepping" command to be able to turn range stepping off. gdb/ 2013-05-23 Yao Qi <yao@codesourcery.com> Pedro Alves <palves@redhat.com> * gdbthread.h (struct thread_control_state) <may_range_step>: New field. * infcmd.c (step_once, until_next_command): Enable range stepping. * infrun.c (displaced_step_prepare): Disable range stepping. (resume): Disable range stepping if stepping over a breakpoint or we have software watchpoints. If range stepping is enabled, assert the thread is in the stepping range. (clear_proceed_status_thread): Clear may_range_step. (handle_inferior_event): Disable range stepping as soon as we know the thread that hit the event. Re-enable it whenever we're going to step with a step range. * remote.c (struct vCont_action_support) <r>: New field. (use_range_stepping): New global. (remote_vcont_probe): Handle 'r' action. (append_resumption): Append an 'r' action if the thread may range step. (show_range_stepping): New function. (set_range_stepping): New function. (_initialize_remote): Call add_setshow_boolean_cmd to register the 'set range-stepping' and 'show range-stepping' commands. * NEWS: Mention range stepping, the new vCont;r action, and the new "set/show range-stepping" commands. gdb/doc/ 2013-05-23 Yao Qi <yao@codesourcery.com> Pedro Alves <palves@redhat.com> * gdb.texinfo (Packets): Document 'vCont;r'. (Continuing and Stepping): Document target-assisted range stepping, and the 'set range-stepping' and 'show range-stepping' commands.
2013-05-23Convert rs->support_vCont_t to a struct.Pedro Alves2-5/+24
Convert the 'support_vCont_t' int field to a struct, in preparation for adding more fields to it. gdb/ 2013-05-23 Yao Qi <yao@codesourcery.com> Pedro Alves <palves@redhat.com> * remote.c (struct vCont_action_support): New struct. (struct remote_state) <support_vCont_t>: Remove field. <vCont_actions_support>: New field. (remote_vcont_probe, remote_stop_ns): Update.
2013-05-23Factor out in-stepping-range checks.Pedro Alves4-4/+20
This adds a function for doing within-thread's-stepping-range checks, and converts a couple spots to use it. Following patches will add more uses. gdb/ 2013-05-23 Yao Qi <yao@codesourcery.com> Pedro Alves <palves@redhat.com> * gdbthread.h (pc_in_thread_step_range): New declaration. * thread.c (pc_in_thread_step_range): New function. * infrun.c (handle_inferior_event): Use it.
2013-05-232013-05-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>Andreas Krebbel5-10/+21
* s390-opc.c: Fix length operand in RSL_LRDFU and RSL_LRDFEU instruction format. 2013-05-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * gas/s390/zarch-zEC12.d: Adjust length operands for cdzt, cxzt, czdt, and czxt. * gas/s390/zarch-zEC12.d: Likewise.
2013-05-23mi/mi-cmd-break.c: Use xsnprintf instead of sprintf (ARI fix)Joel Brobecker2-1/+7
gdb/ChangeLog: * mi/mi-cmd-break.c (mi_argv_to_format): Use xsnprintf instead of sprintf.
2013-05-23Document new <data-dir>/system-gdbinit areaJoel Brobecker3-0/+46
gdb/doc/ChangeLog: * gdb.texinfo (Installed System-wide Configuration Scripts): Add subsection describing the scripts now available under the data-dir's system-gdbbinit subdirectory. * NEWS: Add entry announcing the availability of system-wide configuration scripts for ElinOS and Wind River Linux.
2013-05-23 * format.c (bfd_check_format_matches): Don't match a target inAlan Modra2-1/+28
targ_selvecs if some other target is a better match. If targets implement match priority, fall back to the first of the best matches.
2013-05-23daily updateAlan Modra1-1/+1
2013-05-23*** empty log message ***gdbadmin1-1/+1
2013-05-22 * ada-lang.c (is_known_support_routine): Add explicit free ofKeith Seitz5-17/+53
'func_name' from find_frame_funname. (ada_unhandled_exception_name_addr_from_raise): Add cleanups for func_name from find_frame_funname. * python/py-frame.c (frapy_name): Add explicit free of 'name' from find_frame_funname. * stack.c (find_frame_funname): Add comment explaining that funcp must be freed by the caller. Return copy of symbol names instead of pointers. (print_frame): Add a cleanup for 'funname' from find_frame_funname. * stack.h (find_frame_funname): Remove "const" from 'funname' parameter.
2013-05-22 PR c++/15401:Tom Tromey5-12/+28
* c-valprint.c (c_value_print): Use value_addr for references. Convert back to reference type with value_ref. gdb/testsuite * gdb.cp/class2.cc (main): New local 'aref'. * gdb.cp/class2.exp: Check printing of 'aref'.
2013-05-22include/opcode/Richard Sandiford12-9/+226
2013-05-22 Jürgen Urban <JuergenUrban@gmx.de> * mips.h (M_LQC2_AB, M_SQC2_AB): New macros. opcodes/ 2013-05-22 Jürgen Urban <JuergenUrban@gmx.de> * mips-opc.c (mips_builtin_opcodes): Add R5900 VU0 instructions. gas/ 2013-05-22 Jürgen Urban <JuergenUrban@gmx.de> * config/tc-mips.c (macro): Handle M_LQC2_AB and M_SQC2_AB. gas/testsuite/ 2013-05-22 Jürgen Urban <JuergenUrban@gmx.de> * gas/mips/r5900-full.s, gas/mips/r5900-full.d: Add tests for LQ and SQ macros. * gas/mips/r5900-vu0.s, gas/mips/r5900-vu0.d: New test. * gas/mips/mips.exp: Run it.
2013-05-22Add EM_INTEL205 to EM_INTEL209H.J. Lu2-0/+13
* common.h (EM_INTEL205): New. (EM_INTEL206): Likewise. (EM_INTEL207): Likewise. (EM_INTEL208): Likewise. (EM_INTEL209): Likewise.
2013-05-22 * gdb.threads/wp-replication.c (main): Insert some code at the startDoug Evans2-2/+11
to ensure the breakpoint on main is only hit once. Fix comment.
2013-05-22Fix reporting of DLL unload events on MS-Windows.Eli Zaretskii2-1/+7
gdb/windows-nat.c (handle_unload_dll): Don't call solib_add for the unloaded DLL, it will be done by handle_solib_event. See http://sourceware.org/ml/gdb-patches/2013-05/msg00713.html for the details.
2013-05-22 * aarch64.c: New file.Alan Modra5-3/+116
* corefile.c (find_call): Call aarch64_find_call for bfd_arch_aarch64. * Makefile.am (sources): Add aarch64.c. * Makefile.in: Regenerate.
2013-05-222013-05-22 Phil Muldoon <pmuldoon@redhat.com>Phil Muldoon2-8/+48
* ui-out.c: Create typedef ui_out_level_p and define vector operations for that type. (struct ui_out): Use a vector instead of an array. (current_level): Return level from a vector. (push_level): Create a level in a vector. (pop_level): Delete a level in a vector. (ui_out_new): Create initial level zero level, and store in a vector. (ui_out_destroy): Add vector cleanup.
2013-05-22readline/Yao Qi3-2/+10
* configure.in: Invoke AC_CANONICAL_BUILD. Change $host_os to $build_os. * configure: Regenerated.
2013-05-22Let the ARI know gdb_Py_DECREF is OK.Pedro Alves2-1/+6
The ARI complains with: > gdb/python/python-internal.h:177: code: editCase function: Function name starts lower case but has uppercased letters. gdb/python/python-internal.h:177:gdb_Py_DECREF (void *op) gdb_Py_DECREF is just wrapping a python macro that happens to be mixed case. gdb/ 2013-05-22 Pedro Alves <palves@redhat.com> * python/python-internal.h (gdb_Py_DECREF): Tag with "ARI: editCase function".
2013-05-22 PR binutils/15462Alan Modra2-1/+6
* elfxx-mips.c (_bfd_mips_elf_relocate_section): Warning fix.
2013-05-22 PR binutils/15474Alan Modra2-3/+10
* srec.c (srec_set_section_contents): Properly convert size and offset to address when octets_per_byte is not unity.
2013-05-22daily updateAlan Modra1-1/+1
2013-05-22*** empty log message ***gdbadmin1-1/+1
2013-05-212013-05-21 Paul Pluzhnikov <ppluzhnikov@google.com>Paul Pluzhnikov2-1/+6
* solib-svr4.c (svr4_free_so): Protect against NULL dereference.
2013-05-21gold/Cary Coutant7-8/+162
* symtab.h (Symbol::is_cxx_vtable): New function. * target-reloc.h (relocate_section): Check for vtable symbol. * testsuite/Makefile.am (missing_key_func.sh): New test case. * testsuite/Makefile.in: Regenerate. * testsuite/missing_key_func.cc: New test source. * testsuite/missing_key_func.sh: New test script.
2013-05-21gold/Cary Coutant4-16/+25
* object.cc (Sized_relobj_file::get_symbol_location_info): Set type of enclosing symbol. (Relocate_info::location): Check symbol type when describing symbol. * object.h (Symbol_location_info): Remove unused line_number; add enclosing_symbol_type. * testsuite/debug_msg.sh: Adjust expected output.
2013-05-21py_decref: Don't check for NULL before calling Py_DECREF.Pedro Alves3-3/+13
The only difference between Py_DECREF and Py_XDECREF is that the latter allows passing in a NULL object, while the former prohibits it. Given that, it's natural to expect the same from py_decref vs py_xdecref. gdb/ 2013-05-21 Pedro Alves <palves@redhat.com> * python/py-prettyprint.c (apply_val_pretty_printer): Check whether PRINTER is NULL before installing a Py_DECREF cleanup. * python/py-utils.c (py_decref): Don't check for NULL before calling Py_DECREF.
2013-05-21Centralize workaround for Python 2.6's Py_DECREF.Pedro Alves3-9/+21
Wrap/redefine Py_DECREF ourselves, avoiding the need for uses to care about extra braces due to the fact that Python only started wrapping Py_DECREF in 'do {} while (0)' after 2.6. gdb/ 2013-05-21 Pedro Alves <palves@redhat.com> * python/py-utils.c (py_decref): Remove extra braces. (gdb_pymodule_addobject): Remove extra braces. * python-internal.h (gdb_Py_DECREF): New static inline function. (Py_DECREF): Redefine as calling gdb_Py_DECREF.
2013-05-21 * gdb.base/filesym.exp: Use gdb_test_multiple instead ofKeith Seitz2-14/+28
gdb_expect. Add test to flush the remaining input buffer so that this file passes testsuite/12649.
2013-05-21Fix internal error caused by interaction between catch signal and forkPhilippe Waroquiers5-0/+120
2013-05-212013-05-21 Sterling Augustine <saugustine@google.com>Sterling Augustine2-0/+131
* boards/remote-stdio-gdbserver.exp: New file.
2013-05-21gdb/Jan Kratochvil2-1/+10
Workaround Python 2.6. * python/py-utils.c (gdb_pymodule_addobject): Wrap Py_DECREF into a block.
2013-05-21gdb/testsuite/Jan Kratochvil2-2/+8
PR testsuite/12649 * gdb.mi/mi-dprintf.exp (mi_continue_dprintf): Fix expect strings for racy matches.
2013-05-21gdb/Jan Kratochvil3-17/+29
Code cleanup: constification. * solib.c (solib_ops): Make return type and ops variable type const. (set_solib_ops): Make the new_ops parameter and ops variable const. (solib_find, solib_map_sections, clear_so, free_so, update_solib_list) (solib_add, solib_keep_data_in_core, clear_solib) (solib_create_inferior_hook, in_solib_dynsym_resolve_code) (reload_shared_libraries, solib_global_lookup): Make the ops variable const. * solib.h (set_solib_ops): Make the new_ops parameter const.
2013-05-21 * gdb.dwarf2/dw2-dir-file-name.exp: Don't use brace expansion,Christian Groessler2-4/+34
since it's not supported in all shells.
2013-05-21 PR ld/12982Alan Modra2-1/+7
* ld-plugin/pr12982.d: Fail if RWE GNU_STACK present.
2013-05-21Add new system-gdbinit infrastructureJoel Brobecker4-5/+174
gdb/ChangeLog: * data-directory/Makefile.in (SYSTEM_GDBINIT_SRCDIR): New variable. (VPATH): Add SYSTEM_GDBINIT_SRCDIR. (SYSTEM_GDBINIT_DIR, SYSTEM_GDBINIT_INSTALL_DIR) (SYSTEM_GDBINIT_FILES): New variables. (all): Add stamp-system-gdbinit. (stamp-system-gdbinit): New rule. (clean-system-gdbinit, install-system-gdbinit) (uninstall-system-gdbinit): New rules. Make them .PHONY. (install-only): Add dependency on install-system-gdbinit. (uninstall): Add dependency on uninstall-system-gdbinit. (clean): Add dependency on clean-system-gdbinit. * system-gdbinit/elinos.py: New file. * system-gdbinit/wrs-linux.py: New file.
2013-05-21[Ada] Fix cleanup leak in ada-lang.c:old_renaming_is_invisibleJoel Brobecker2-4/+16
gdb/ChangeLog: * ada-lang.c (old_renaming_is_invisible): Fix cleanup leak.
2013-05-212013-05-21 Hui Zhu <hui@codesourcery.com>Hui Zhu13-24/+453
* breakpoint.c (dprintf_breakpoint_ops): Remove its static. * breakpoint.h (dprintf_breakpoint_ops): Add extern. * mi/mi-cmd-break.c (ctype.h): New include. (gdb_obstack.h): New include. (mi_argv_to_format, mi_cmd_break_insert_1): New. (mi_cmd_break_insert): Call mi_cmd_break_insert_1. (mi_cmd_dprintf_insert): New. * mi/mi-cmds.c (mi_cmds): Add "dprintf-insert". * mi/mi-cmds.h (mi_cmd_dprintf_insert): New extern. 2013-05-21 Hui Zhu <hui@codesourcery.com> * gdb.texinfo (GDB/MI Breakpoint Commands): Describe the "-dprintf-insert" command. 2013-05-21 Hui Zhu <hui@codesourcery.com> * gdb.mi/Makefile.in (PROGS): Add "mi-dprintf". * gdb.mi/mi-dprintf.exp, gdb.mi/mi-dprintf.c: New.
2013-05-21 * gas/ppc/vsx2.d: Ignore trailing padding.Alan Modra2-0/+5
2013-05-21 * ld-powerpc/export-class.exp (supports_ppc64): Delete.Alan Modra3-31/+29
(powerpc_export_class_test): Add "endian" param. (abis): Add little-endian targets and test. * ld-powerpc/powerpc-64-export-class.xd: Update for little-endian.