aboutsummaryrefslogtreecommitdiff
path: root/gdb/ChangeLog
AgeCommit message (Collapse)AuthorFilesLines
2011-02-02fix gdb+python build failure if using non-GNU sedJoel Brobecker1-0/+6
Non-GNU sed do not like the '?' quantifier when used in a s/// regexp that involve back-references, causing the build to fail when trying to link with Python support. This fixes it by using the '*' quantifier instead. gdb/ChangeLog: * configure.ac: Work around non-GNU sed limitation when computing python version number. * configure: Regenerate.
2011-02-01gdb/Jan Kratochvil1-0/+6
Fix debug printing of TYPE_INSTANCE. * expprint.c (print_subexp_standard) <TYPE_INSTANCE>: New. (dump_subexp_body_standard) <TYPE_INSTANCE>: New.
2011-02-01gdb/Jan Kratochvil1-0/+13
Fix debug printing of BINOP_IN, OP_OBJC_MSGCALL, OP_F77_UNDETERMINED_ARGLIST, OP_COMPLEX, OP_OBJC_SELECTOR, OP_NAME, OP_OBJC_NSSTRING, OP_F90_RANGE and OP_DECFLOAT. * ada-operator.inc: Rename the file to ... * ada-operator.def: ... here, wrap all the entries by macro OP. * expprint.c (op_name_standard): Remove all the entries. Include "std-operator.def" instead. * expression.h (enum exp_opcode): Include "std-operator.def" and "ada-operator.def". Move all the entries ... * std-operator.def: ... here, wrap all the entries by macro OP.
2011-01-312011-01-31 Paul Pluzhnikov <ppluzhnikov@google.com>Paul Pluzhnikov1-0/+23
* breakpoint.h (remove_jit_event_breakpoints): New prototype. * breakpoint.c (remove_jit_event_breakpoints): New function. * jit.c (jit_descriptor_addr): Delete. (registering_code): Delete. (clear_int): Delete. (jit_inferior_data): New variable. (struct jit_inferior_data): New type. (get_jit_inferior_data): New function. (jit_inferior_data_cleanup): New function. (jit_read_descriptor): Adjust. (jit_register_code): Adjust. (jit_breakpoint_re_set_internal): New function; move code here ... (jit_inferior_init): ... from here. (jit_breakpoint_re_set): Adjust. (jit_reset_inferior_data_and_breakpoints): New function. (jit_inferior_created_observer): Adjust. (jit_inferior_exit_hook): Adjust. (jit_executable_changed_observer): New function. (jit_event_handler): Adjust. (_initialize_jit): Adjust.
2011-01-312011-01-31 Michael Snyder <msnyder@vmware.com>Michael Snyder1-0/+5
* m32r-tdep.c (m32r_gdbarch_init): Replace accidentally deleted line.
2011-01-31 PR python/12216:Tom Tromey1-0/+10
* python/python.c (execute_gdb_command): Call prevent_dont_repeat. * top.c (suppress_dont_repeat): New global. (dont_repeat): Use it. (prevent_dont_repeat): New function. * command.h (prevent_dont_repeat): Declare.
2011-01-31 * infcmd.c (finish_backward): Use breakpoint_set_silent.Tom Tromey1-0/+15
* python/py-breakpoint.c (bppy_set_silent): Use breakpoint_set_silent. (bppy_set_thread): Use breakpoint_set_thread. (bppy_set_task): Use breakpoint_set_task. * breakpoint.h (breakpoint_set_silent, breakpoint_set_thread) (breakpoint_set_task): Declare. (make_breakpoint_silent): Remove. * breakpoint.c (breakpoint_set_silent): New function. (breakpoint_set_thread): Likewise. (breakpoint_set_task): Likewise. (make_breakpoint_silent): Remove.
2011-01-31 * breakpoint.h (user_breakpoint_p): Declare.Tom Tromey1-0/+7
* breakpoint.c (user_breakpoint_p): New function. (breakpoint_1): Use it. (save_breakpoints): Likewise.
2011-01-31allow building GDB with Python support on MinGWJoel Brobecker1-0/+9
This makes several adjustements to the configure python-config.py scripts to deal with the differences between a Unix install of Python and a Windows install of Python (as downloaded from the Python website). Differences: - The Python executable is directly in the python prefix directory as opposed to inside the bin/ subdirectory. - The name of the python library is does not have a dot in the version number: On Unix, we have libpython2.7, while on Windows, it's libpython27. So the regexp extracting the python version from the Python lib filename had to be adjusted slightly. Also, the tests checking the name of the libpython had to be adjusted to allow for that. - There are no link options following the -lpython<version> switch on Windows, but the regexp extracting the python version was using it as a delimiter. It had to be removed. - python-config.py does not work on Windows, mostly because some sysconfig variables are missing. They are not necessary so the script was adapted to skip them if not defined. - The paths returned by python-config.py follow the Windows filename convention in terms of the directory separator, and this is causing trouble when the build environment is cygwin (while the compiler and Python are MinGW). We could have fixed that in the configure script, but it felt simpler to do so in python-config.py gdb/ChangeLog: * configure.ac: Add handling of Python distribution on Windows. * python-config.py: If the LIBS, SYSLIBS, LIBPL and/or LINKFORSHARED sysconfig variables are not defined, then do not use them. On Windows, if LIBPL is not defined, then use prefix + '/libs' instead. On Windows, return all paths using forward-slashes rather than backslashes.
2011-01-31do not use python<version> subdir when including Python .h fileJoel Brobecker1-0/+13
This is preparation work for being able to build GDB with Python support on MinGW. So far, the "python<version>" subdirectory needs to be specified when including a Python header file. In order to do that, we have some special configury that tweaks the include path returned by python-config.py such that the use of the subdirectory in the include is necessary. This was done in order to protect ourselves from possible filename conflicts, since some of the filenames chosen by Python were a little generic. The problem is that this cannot work with a standard Python install on MinGW systems. On such systems, the .h files are located in <python_prefix>/include. So, in preparation for allowing us to build GDB on MinGW with Python support enabled, this patch changes the requirement to provide the "python<version>" subdirectory in the include directive. The positive consequence is that we no longer need to have a set of #include directives for each version of Python, since the include directive is now the same for all versions of Python. However, the downside is that we are losing the level of protection we were trying to achieve by forcing the subdirectory in the include directive. In order to reduce a bit the consequences of a possible conflict, this patch also changes the location where the -I/path/to/python switch goes, to be last in the list (suggested by Doug Evans). One last change is the fact that we are now including Python.h and all other Python include headers using angle brackets rather than double-quotes. This fixes a problem on case-insensitive systems where #include "Python.h" causes our gdb/python/python.h header to be included instead of Python's <Python.h> header. gdb/ChangeLog: * configure.ac: Remove fallback behavior for building against Python. Remove tweaking of Python include path. Add PYTHON_CPPFLAGS and PYTHON_LIBS substitution. (AC_TRY_LIBPYTHON): Adjust program used in linking test. If link is successful, set PYTHON_CPPFLAGS and PYTHON_LIBS. Always restore CPPFLAGS and LIBS after linking test. * configure: Regenerated. * Makefile.in (INTERNAL_CPPFLAGS): Add @PYTHON_CPPFLAGS@. (INSTALLED_LIBS, CLIBS): Add @PYTHON_LIBS@. * python/python-internal.h: Adjust includes of Python .h files.
2011-01-31Add missing i18n markup in tracepoint.c:traceframe_walk_blocksJoel Brobecker1-0/+5
gdb/ChangeLog: * tracepoint.c (traceframe_walk_blocks): Add missing i18n markup in error message.
2011-01-31fix typo during interactive_mode check in gdb_has_a_terminalJoel Brobecker1-0/+5
Discovered by Pierre Muller. gdb/ChangeLog: * inflow.c (gdb_has_a_terminal): Fix typo in interactive_mode value test. gdb/testsuite/ChangeLog: * gdb.base/interact.exp: Add extra tests that verify that the value of the interactive-mode setting does not change after the script is sourced.
2011-01-302011-01-31 Yao Qi <yao@codesourcery.com>Yao Qi1-0/+7
* arm-linux-nat.c: Update calls to regcache_register_status instead of regcache_valid_p. * aix-thread.c: Likewise. * i386gnu-nat.c: Likewise.
2011-01-29gdb/Jan Kratochvil1-0/+6
Fix crash. * valops.c (compare_parameters): Verify TYPE_NFIELDS before touching TYPE_FIELD_ARTIFICIAL. gdb/testsuite/ * gdb.cp/noparam.exp: New file. * gdb.cp/noparam.cc: New file.
2011-01-28* MAINTAINERS: Move myself from Responsible Maintainers to AuthorizedRichard Earnshaw1-0/+5
Committers.
2011-01-28 gdb/Pedro Alves1-0/+9
* tracepoint.c (tfile_xfer_partial): If there's no traceframe selected, don't try iterating over the traceframe's blocks. (tfile_has_stack): If there's no traceframe selected, then there's no stack. (tfile_has_registers): If there's no traceframe selected, then there's no registers. gdb/testsuite/ * gdb.trace/tfile.exp: Test that with no traceframe selected, there's no stack or registers.
2011-01-28 gdb/Pedro Alves1-0/+5
* target.c (memory_xfer_partial): No need to restore shadows if we haven't read anything.
2011-01-28 gdb/Pedro Alves1-0/+5
* mips-tdep.c (mips_print_register): Use get_frame_register_value and val_print_scalar_formatted.
2011-01-27 gdb/Pedro Alves1-0/+14
* tracepoint.c (tfile_read): New. (tfile_open): Use it. (tfile_get_traceframe_address): Use it. (tfile_trace_find): Use it. (walk_blocks_callback_func): New typedef. (match_blocktype): New function. (traceframe_walk_blocks): New function. (traceframe_find_block_type): New function. (tfile_fetch_registers, tfile_xfer_partial) (tfile_get_trace_state_variable_value): Use traceframe_find_block_type and tfile_read.
2011-01-26 * remote-mips.c: Add internationalization mark ups. RemoveKevin Buettner1-0/+5
trailing \n from already marked up strings.
2011-01-26gdbTom Tromey1-0/+7
* python/py-prettyprint.c (print_string_repr): Clear 'addressprint' option when calling val_print_string. (print_children): Handle Val_pretty_default. Clear 'addressprint' option when calling val_print_string. gdb/testsuite * gdb.python/py-prettyprint.exp (run_lang_tests): Ensure no blank space before string output. Add test for "set print pretty off" case.
2011-01-26 * python/python.c (gdbpy_solib_name): Use gdb_py_longest andTom Tromey1-0/+39
GDB_PY_LL_ARG. * python/python-internal.h (GDB_PY_LL_ARG, GDB_PY_LLU_ARG): New macros. (gdb_py_longest, gdb_py_ulongest): New typedefs. (gdb_py_long_from_longest, gdb_py_long_from_ulongest) (gdb_py_long_as_ulongest): New defines. (gdb_py_object_from_longest, gdb_py_object_from_ulongest) (gdb_py_int_as_long): Declare. * python/py-value.c (valpy_lazy_string): Use gdb_py_longest, GDB_PY_LL_ARG, gdb_py_object_from_longest. (valpy_long): Add comment. * python/py-utils.c (get_addr_from_python): Use gdb_py_long_as_ulongest. Handle overflow properly. (gdb_py_object_from_longest): New function. (gdb_py_object_from_ulongest): Likewise. (gdb_py_int_as_long): Likewise. * python/py-type.c (typy_array): Use gdb_py_int_as_long. * python/py-symtab.c (salpy_get_pc): Use gdb_py_long_from_ulongest. (salpy_get_line): Use PyInt_FromLong. * python/py-param.c (set_parameter_value): Use gdb_py_int_as_long. * python/py-lazy-string.c (stpy_get_address): Use gdb_py_long_from_ulongest. * python/py-frame.c (frapy_pc): Use gdb_py_long_from_ulongest. * python/py-cmd.c (cmdpy_completer): Use gdb_py_int_as_long. * python/py-breakpoint.c (bppy_set_thread): Use gdb_py_int_as_long. (bppy_set_task): Likewise. (bppy_set_ignore_count): Likewise. (bppy_set_hit_count): Likewise. * python/py-block.c (blpy_get_start): Use gdb_py_object_from_ulongest. (blpy_get_end): Likewise. (gdbpy_block_for_pc): Use gdb_py_ulongest and GDB_PY_LLU_ARG.
2011-01-262011-01-25 Mathieu Lacage <mathieu.lacage@inria.fr>Thiago Jung Bauermann1-0/+7
PR/symtab 11766: * gdb/objfiles.h (struct objfile) <addr_low>: New field. * gdb/solib.c (solib_read_symbols): Check for addr_low in equality test for objfile, initialize addr_low if needed.
2011-01-25 * tui/tui-regs.c (tui_register_format): Remove dead code.Pedro Alves1-0/+4
2011-01-25 * printcmd.c (print_formatted): Use val_print_scalar_formattedPedro Alves1-0/+17
instead of print_scalar_formatted. (print_scalar_formatted): Don't handle 's' format strings here, and add an assertion that we never see such format here. * valprint.h (val_print_scalar_formatted): Declare. * valprint.c (val_print_scalar_formatted): New. * c-valprint.c (c_val_print): Use val_print_scalar_formatted instead of print_scalar_formatted. * jv-valprint.c (java_val_print): Ditto. * p-valprint.c (pascal_val_print): Ditto. * ada-valprint.c (ada_val_print_1): Ditto. * f-valprint.c (f_val_print): Ditto. * infcmd.c (registers_info): Ditto. * m2-valprint.c (m2_val_print): Ditto.
2011-01-25 * m2-valprint.c (print_unbounded_array): PassPedro Alves1-0/+6
value_contents_for_printing rather than value_contents, to m2_print_array_contents. Also pass in the value.
2011-01-25gdb/Jan Kratochvil1-0/+5
* dwarf2read.c (dwarf2_read_index, write_psymtabs_to_index) (save_gdb_index_command): Switch to .gdb_index version 4.
2011-01-25 * mi/mi-main.c (get_register): Use get_frame_register_value ratherPedro Alves1-0/+5
than frame_register, and always pass a valid value to val_print.
2011-01-25 Centralize printing "<optimized out>".Pedro Alves1-0/+14
gdb/ * valprint.h (val_print_optimized_out): Declare. * cp-valprint.c (cp_print_value_fields): Use val_print_optimized_out. * jv-valprint.c (java_print_value_fields): Ditto. * p-valprint.c (pascal_object_print_value_fields): Ditto. * printcmd.c (print_formatted): Ditto. * valprint.c (valprint_check_validity): Ditto. (value_check_printable): Ditto. (val_print_optimized_out): New. gdb/doc/ * gdb.texinfo: s/value optimized out/optimized out/g gdb/testsuite/ * gdb.base/frame-args.exp: Adjust. * gdb.dwarf2/dw2-noloc.exp: Adjust. * gdb.dwarf2/dw2-inline-param.exp: Adjust. * gdb.dwarf2/pieces.exp: Adjust. * gdb.opt/clobbered-registers-O2.exp: Adjust. * gdb.opt/inline-locals.exp: Adjust. * gdb.threads/fork-child-threads.exp: Adjust.
2011-01-25 gdb/Pedro Alves1-0/+5
* infcmd.c (default_print_registers_info): Allocate values so to never pass a NULL value to val_print.
2011-01-25 * cp-valprint.c (cp_print_value): Treat the 'skip' local asPedro Alves1-0/+11
boolean. Make sure to always pass a value that matches the contents buffer to callees. Preserve `address' for following iterations. * value.c (value_contents_for_printing_const): New. (value_address): Constify value argument. * value.h (value_contents_for_printing_const): Declare. (value_address): Constify value argument.
2011-01-25 * regcache.c (struct regcache_descr): RenamePedro Alves1-0/+31
sizeof_raw_register_valid_p field to sizeof_raw_register_status, and sizeof_cooked_register_valid_p to sizeof_cooked_register_status. (init_regcache_descr): Adjust. (struct regcache): Rename register_valid_p field to register_status. (regcache_xmalloc_1, regcache_xfree, regcache_save) (do_cooked_read): Adjust. (regcache_valid_p): Rename to ... (regcache_register_status): ... this. Adjust. (regcache_invalidate): Adjust. (regcache_raw_read, regcache_cooked_read, regcache_raw_write): Adjust. (regcache_raw_supply): Adjust. If buf i NULL, mark the register as unavailable, not valid. (regcache_dump): Adjust. * regcache.h (enum register_status): New. (regcache_register_status): Declare. (regcache_invalidate): Delete declaration. * corelow.c (get_core_registers): Adjust. * tracepoint.c (tfile_fetch_registers): Adjust. * trad-frame.c (REG_VALUE): Rename to ... (TF_REG_VALUE): ... this. (REG_UNKNOWN): Rename to ... (TF_REG_UNKNOWN): ... this. (trad_frame_set_value, trad_frame_set_unknown): Adjust. * mi/mi-main.c (register_changed_p): Adjust.
2011-01-25 * regcache.c (struct regcache_descr): Remove outdated comment.Pedro Alves1-0/+17
(init_regcache_descr): Remove sizeof_raw_register_valid_p overallocate hack. (regcache_xmalloc): Rename to ... (regcache_xmalloc_1): ... this. Add `readonly_p' parameter. Allocate the regcache type accordingly. (regcache_xmalloc): New as wrapper around regcache_xmalloc_1. (regcache_xfree): Asser the source is also readonly. Copy sizeof cooked registers, not raw. (regcache_dup_no_passthrough): Delete. (get_thread_arch_regcache): Use regcache_xmalloc_1. * h8300-tdep.c (h8300_push_dummy_call): Tweak comment to not mention obsolete write_register_bytes. * regcache.h (regcache_dup_no_passthrough): Delete declaration.
2011-01-25 Stop remote_read_bytes from handling partial reads itself.Pedro Alves1-0/+17
* remote-fileio.c: Include target.h. (remote_fileio_write_bytes): Delete. (remote_fileio_func_open, remote_fileio_func_write) (remote_fileio_func_rename, remote_fileio_func_unlink): Use target_read_memory. (remote_fileio_func_stat): Use target_read_memory and target_write_memory. (remote_fileio_func_gettimeofday): Use target_write_memory. (remote_fileio_func_system): Use target_read_memory. * remote.c (remote_write_bytes): Make it static. (remote_read_bytes): Don't handle partial reads here. * remote.h (remote_read_bytes): Delete declaration.
2011-01-25 Simplify XML parsing a bit.Pedro Alves1-0/+18
* xml-support.h (gdb_xml_parse_quick): Declare. * xml-support.c (gdb_xml_create_parser_and_cleanup_1): Renamed from gdb_xml_create_parser_and_cleanup, and added `old_chain' parameter. (gdb_xml_create_parser_and_cleanup): Reimplement on top of gdb_xml_create_parser_and_cleanup_1. (gdb_xml_parse_quick): New. * memory-map.c (parse_memory_map): Use gdb_xml_parse_quick. * osdata.c (osdata_parse): Ditto. * remote.c (remote_threads_info): Ditto. * solib-target.c (solib_target_parse_libraries): Ditto. * xml-syscall.c (syscall_parse_xml): Ditto. * xml-tdesc.c (tdesc_parse_xml): Ditto.
2011-01-24 * configure.tgt (mips*-*-elf): New; just like mips*-*-*, butKevin Buettner1-0/+6
with remote-mips.o added to gdb_target_obs. * Makefile.in (ALL_TARGET_OBS): Add remote-mips.o.
2011-01-24 * ada-valprint.c (val_print_packed_array_elements): Pass thePedro Alves1-0/+6
correct struct value to val_print. (ada_val_print_1): Ditto.
2011-01-242011-01-24 Pedro Alves <pedro@codesourcery.com>Pedro Alves1-0/+68
Don't lose embedded_offset in printing routines throughout. gdb/ * valprint.h (val_print_array_elements): Change prototype. * valprint.c (val_print_array_elements): Add `embedded_offset' parameter, and adjust to pass it down to val_print, while passing `valaddr' or `address' unmodified. Take embedded_offset into account when checking repetitions. * c-valprint.c (c_val_print): Pass embedded_offset to val_print_array_elements instead of adjusting `valaddr' and `address'. * m2-valprint.c (m2_print_array_contents, m2_val_print): Pass embedded_offset to val_print_array_elements instead of adjusting `valaddr'. * p-lang.h (pascal_object_print_value_fields): Adjust prototype. * p-valprint.c (pascal_val_print): Pass embedded_offset to val_print_array_elements and pascal_object_print_value_fields instead of adjusting `valaddr'. (pascal_object_print_value_fields): Add `offset' parameter, and adjust to use it. (pascal_object_print_value): Add `offset' parameter, and adjust to use it. (pascal_object_print_static_field): Use value_contents_for_printing/value_embedded_offset, rather than value_contents. * ada-valprint.c (val_print_packed_array_elements): Add `offset' parameter, and adjust to use it. Use value_contents_for_printing/value_embedded_offset, rather than value_contents. (ada_val_print): Rename `valaddr0' parameter to `valaddr'. (ada_val_print_array): Add `offset' parameter, and adjust to use it. (ada_val_print_1): Rename `valaddr0' parameter to `valaddr', and `embedded_offset' to `offset'. Don't re-adjust `valaddr'. Instead work with offsets. Use value_contents_for_printing/value_embedded_offset, rather than value_contents. Change `defer_val_int' local type to CORE_ADDR, and use value_from_pointer to extract a target pointer, rather than value_from_longest. (print_variant_part): Add `offset' parameter. Replace `outer_valaddr' parameter by a new `outer_offset' parameter. Don't re-adjust `valaddr'. Instead pass down adjusted offsets. (ada_value_print): Use value_contents_for_printing/value_embedded_offset, rather than value_contents. (print_record): Add `offset' parameter, and adjust to pass it down. (print_field_values): Add `offset' parameter. Replace `outer_valaddr' parameter by a new `outer_offset' parameter. Don't re-adjust `valaddr'. Instead pass down adjusted offsets. Use value_contents_for_printing/value_embedded_offset, rather than value_contents. * d-valprint.c (dynamic_array_type): Use value_contents_for_printing/value_embedded_offset, rather than value_contents. * jv-valprint.c (java_print_value_fields): Add `offset' parameter. Don't re-adjust `valaddr'. Instead pass down adjusted offsets. (java_print_value_fields): Take `offset' into account. Don't re-adjust `valaddr'. Instead pass down adjusted offsets. (java_val_print): Take `embedded_offset' into account. Pass it to java_print_value_fields. * f-valprint.c (f77_print_array_1): Add `embedded_offset' parameter. Don't re-adjust `valaddr' or `address'. Instead pass down adjusted offsets. (f77_print_array): Add `embedded_offset' parameter. Pass it down. (f_val_print): Take `embedded_offset' into account. gdb/testsuite/ * gdb.base/printcmds.c (some_struct): New struct and instance. * gdb.base/printcmds.exp (test_print_repeats_embedded_array): New procedure. <global scope>: Call it.
2011-01-21move handing of "set interactive-mode" to gdb_has_a_terminalJoel Brobecker1-0/+19
The real purpose of this setting is really to override what the debugger would otherwise guess from checking the stdin settings. So it seems more natural to see this setting being handled inside gdb_has_a_terminal rather than input_is_terminal (which checks for other things, such as whether the input is stdin, for instance). This patch also adjust the command help and the associated section in the GDB Manual to be a little clearer about that. gdb/ChangeLog: * inflow.c: Include "gdbcmd.h". (interactive_mode): New static global, moved here from top.c. (show_interactive_mode): New function, moved here from top.c. use gdb_has_a_terminal instead of input_from_terminal_p to determine the current mode. (gdb_has_a_terminal): Add handling of the "iteractive-mode" setting. (_initialize_inflow): Add the "set/show interactive-mode" commands. Moved here from top.c, after having adjusted slightly the help text. * top.c (interactive_mode, show_interactive_mode): Delete, moved to inflow.c. (input_from_terminal_p): Remove handling of "interactive-mode" setting, moved to infow.c. (init_main): Remove creation of the "set/show interactive-mode" commands, moved to inflow.c. gdb/doc/ChangeLog: * gdb.texinfo (Other Misc Settings): Rework part of the documentation of the "set interactive mode" command.
2011-01-19[NEWS/ia64-hpux] Add entry for native ia64-hpux supportJoel Brobecker1-0/+4
gdb/ChangeLog: * NEWS: Add entry for native ia64-hpux support.
2011-01-19gdbTom Tromey1-0/+18
PR mi/8618: * thread.c (free_thread): Free 'name'. (print_thread_info): Emit thread name. Change CLI output. (thread_name_command): New function. (do_captured_thread_select): Emit newline. (_initialize_thread): Register 'thread name' command. * target.h (struct target_ops) <to_thread_name>: New field. (target_thread_name): New macro. * target.c (update_current_target): Handle to_thread_name. * python/py-infthread.c (thpy_get_name): New function. (thpy_set_name): Likewise. (thread_object_getset): Add "name". * linux-nat.c (linux_nat_thread_name): New function. (linux_nat_add_target): Set to_thread_name. * gdbthread.h (struct thread_info) <name>: New field. gdb/doc * gdb.texinfo (Threads): Document thread name output and `thread name' command. (Threads In Python): Document Thread.name attribute. (GDB/MI Thread Commands): Document thread attributes. gdb/testsuite * gdb.python/py-infthread.exp: Add thread tests.
2011-01-18fix printing of Ada wide characters on ppc-aixJoel Brobecker1-0/+5
Same problem as before: We were downcasting the character value from int to unsigned char, which caused an overflow. The reason why we did not see this problem before is probably related to the fact that we're using stabs on AIX and thus characters types are defined as a TYPE_CODE_INT (or TYPE_CODE_RANGE?). gdb/ChangeLog: * ada-valprint.c (ada_print_scalar): Remove unsigned char downcast. (ada_val_print_1): Likewise.
2011-01-18[powerpc] breakpoint inserted past function endJoel Brobecker1-0/+7
On powerpc, the prologue scanner reads instruction after instruction, and just skips instructions that do not affect a frame. This means that it does not stop if if finds and unexpected instruction (which could possibly happen with optimization, I presume). To avoid scanning too many instructions, it tries to establish an upper limit. The upper limit is first computed using the debugging (line) info, but if that fails, it falls back on an arbitrary 100 bytes (or 25 instructions). The problem is that, if the function is shorter than those 25 instructions, we run the risk of skipping the entire function and returning a PC that's outside our function. In the event where we can find a symbol for a given PC (and therefore can determine function start and end addresses), but cannot find an upper limit using skip_prologue_using_sal, then we can at least limit make sure that the 25 instructions do not put us beyour our function. If it does, then further reduce the upper-limit to the end of the function. gdb/ChangeLog: * rs6000-tdep.c (rs6000_skip_prologue): Make sure that the prologue upper limit address is not greater than the function end address when the upper limit could not be computed using the debugging info.
2011-01-17 * cli/cli-cmds.c (apropos_command): Free the compiled regex. UseTom Tromey1-0/+10
get_regcomp_error. * utils.c: Include gdb_regex.h. (do_regfree_cleanup): New function. (make_regfree_cleanup): Likewise. (get_regcomp_error): Likewise. * gdb_regex.h (make_regfree_cleanup, get_regcomp_error): Declare.
2011-01-17 * cli/cli-cmds.c (apropos_command): Fix formatting. Don't callTom Tromey1-0/+5
re_compile_fastmap.
2011-01-17 * p-exp.y (intvar): New static variable, used to set CURRENT_TYPEPierre Muller1-0/+12
for internal variables. (last_was_structop): New static variable. (COMPLETE): New token. (field_exp): New rule to group all '.' suffix handling. Add mark_struct_expression calls when approriate to be able to correctly find fields for completion. (yylex): Adapt to handle field completion and set INTVAR when required.
2011-01-142011-01-14 Yao Qi <yao@codesourcery.com>Yao Qi1-0/+5
* arm-tdep.c (arm_register_reggroup_p): FPS register is in save_reggroup, restore_reggroup and all_reggroup.
2011-01-14Fix printing of Wide_Character & Wide_Wide_Character entities.Joel Brobecker1-0/+6
Wide_Characters and Wide_Wide_Characters are incorrectly printed. Consider for instance: Medium : Wide_Character := Wide_Character'Val(16#dead#); Trying to print the value of this variable yields: (gdb) p medium $1 = 57005 '["ad"]' The integer value is correct (57005 = 0xdead), but the character representation is not, it should be: $1 = 57005 '["dead"]' Same for Wide_Wide_Characters. There were two issues: (a) The first issue was in ada-valprint, where we were assuming that character types were 1 byte long; (b) The second problem was in c-valprint, where we were down-casting the integer value of the character to type `unsigned char', causing use to lose all but the lowest byte. gdb/ChangeLog: * ada-valprint. (ada_printchar): Use the correct type length in call to ada_emit_char. * c-valprint.c (c_val_print): Remove cast in call to LA_PRINT_CHAR.
2011-01-14 * solib-som.h (hpux_major_release): Declare variable here.Pierre Muller1-0/+13
* solib-som.c: Remove <sys/utsname.h> header. (DEFAULT_HPUX_MAJOR_RELEASE): New macro. (hpux_major_release): Make global, change default value to DEFAULT_HPUX_MAJOR_RELEASE. (get_hpux_major_release): Simply return HPUX_MAJOR_RELEASE. * hppa-hpux-nat.c: Add <sys/utsname.h> include. Add "solib-som.h" header. (set_hpux_major_release): New function. (_initialize_hppa_hpux_nat): Call set_hpux_major_release.
2011-01-14gdb: extend Linux osabi matchMike Frysinger1-0/+4
The current osabi default matching misses all *-uclinux tuples. Signed-off-by: Mike Frysinger <vapier@gentoo.org>