aboutsummaryrefslogtreecommitdiff
path: root/gdb
AgeCommit message (Collapse)AuthorFilesLines
2010-04-24*** empty log message ***gdbadmin1-1/+1
2010-04-232010-04-23 Stan Shebs <stan@codesourcery.com>Stan Shebs5-165/+203
* ax.h (struct agent_expr): Merge in agent_reqs fields, add some comments. (struct agent_reqs): Remove. (ax_reg_mask): Declare. * ax-general.c (new_agent_expr): Add gdbarch argument, set new fields. (free_agent_expr): Free reg_mask. (ax_print): Add scope and register mask info. (ax_reqs): Remove agent_reqs argument, use agent expression fields, and move part of register mask computation to... (ax_reg_mask): New function. * ax-gdb.c (gen_trace_static_fields): Call it. (gen_traced_pop): Ditto. (is_nontrivial_conversion): Add dummy gdbarch to new_agent_expr. (gen_trace_for_var): Pass gdbarch to new_agent_expr. (gen_trace_for_expr): Ditto, and clear optimized_out flag. (gen_eval_for_expr): Ditto, and require an rvalue. (agent_command): Call ax_reqs. (agent_eval_command): Ditto. * tracepoint.c (report_agent_reqs_errors): Use agent expression fields. (validate_action_line): Ditto. (collect_symbol): Ditto. (encode_actions_1): Ditto.
2010-04-23gdb/Jan Kratochvil5-9/+93
Fix deadlock on looped list of loaded shared objects. * solib-svr4.c (LM_PREV): New function. (IGNORE_FIRST_LINK_MAP_ENTRY): Use it. (svr4_current_sos): Check for correct l_prev. New variables prev_lm and next_lm. Clear prev_lm for solib_svr4_r_ldsomap. * config/djgpp/fnchange.lst: Add translation for solib-corrupted.exp. gdb/testsuite/ Fix deadlock on looped list of loaded shared objects. * gdb.base/solib-corrupted.exp: New.
2010-04-23 * configure.ac (CONFIG_SRCS): Add py-auto-load.o even if not usingDoug Evans6-9/+76
python. * configure: Regenerate. * main.c: #include "python/python.h". (captured_main): Defer loading auto-loaded scripts until after local_gdbinit has been sourced. * python/py-auto-load.c (gdbpy_global_auto_load): New global. (load_auto_scripts_for_objfile): New function. (auto_load_new_objfile): Call it. * python/python.h (gdbpy_global_auto_load): Declare. (load_auto_scripts_for_objfile): Declare.
2010-04-23 Add support for auto-loading scripts from .debug_gdb_scripts section.Doug Evans3-0/+36
* NEWS: Add entry for .debug_gdb_scripts. * Makefile.in SUBDIR_PYTHON_OBS): Add py-auto-load.o. (SUBDIR_PYTHON_SRCS): Add py-auto-load.c. (py-auto-load.o): New rule. * cli/cli-cmds.c (find_and_open_script): Make externally visible. * cli/cli-cmds.h (find_and_open_script): Update prototype. * python/py-auto-load.c: New file. * python/python-internal.h: #include <stdio.h>. (set_python_list, show_python_list): Declare. (gdbpy_initialize_auto_load): Declare. (source_python_script_for_objfile): Declare. * python/python.c: Remove #include of observer.h. (gdbpy_auto_load): Moved to py-auto-load.c. (GDBPY_AUTO_FILENAME): Ditto. (gdbpy_new_objfile): Delete. (source_python_script_for_objfile): New function. (set_python_list, show_python_list): Make externally visible. (_initialize_python): Move "auto-load" command to py-auto-load.c and observer_attach_new_objfile to py-auto-load.c. doc/ * gdb.texinfo (Python): Move Auto-loading section here ... (Python API): from here. (Auto-loading): Add docs for .debug_gdb_scripts auto-loaded scripts. (Maintenance Commands): Add docs for "maint print section-scripts". testsuite/ * gdb.python/py-section-script.c: New file. * gdb.python/py-section-script.exp: New file. * gdb.python/py-section-script.py: New file.
2010-04-23 Add support for auto-loading scripts from .debug_gdb_scripts section.Doug Evans11-131/+846
* NEWS: Add entry for .debug_gdb_scripts. * Makefile.in SUBDIR_PYTHON_OBS): Add py-auto-load.o. (SUBDIR_PYTHON_SRCS): Add py-auto-load.c. (py-auto-load.o): New rule. * cli/cli-cmds.c (find_and_open_script): Make externally visible. * cli/cli-cmds.h (find_and_open_script): Update prototype. * python/py-auto-load.c: New file. * python/python-internal.h: #include <stdio.h>. (set_python_list, show_python_list): Declare. (gdbpy_initialize_auto_load): Declare. (source_python_script_for_objfile): Declare. * python/python.c: Remove #include of observer.h. (gdbpy_auto_load): Moved to py-auto-load.c. (GDBPY_AUTO_FILENAME): Ditto. (gdbpy_new_objfile): Delete. (source_python_script_for_objfile): New function. (set_python_list, show_python_list): Make externally visible. (_initialize_python): Move "auto-load" command to py-auto-load.c and observer_attach_new_objfile to py-auto-load.c. doc/ * gdb.texinfo (Python): Move Auto-loading section here ... (Python API): from here. (Auto-loading): Add docs for .debug_gdb_scripts auto-loaded scripts. (Maintenance Commands): Add docs for "maint print section-scripts". testsuite/ * gdb.python/py-section-script.c: New file. * gdb.python/py-section-script.exp: New file. * gdb.python/py-section-script.py: New file.
2010-04-23 * alpha-tdep.c (INSN_OPCODE, MEM_RA, MEM_RB, MEM_DISP, BR_RA)Jerome Guitton3-2/+183
(OPR_FUNCTION, OPR_HAS_IMMEDIATE, OPR_RA, OPR_RC, OPR_LIT): New macros. (lda_opcode, stq_opcode, bne_opcode, subq_opcode, subq_function): New constants. (alpha_heuristic_analyze_probing_loop): New function. (alpha_heuristic_frame_unwind_cache): In the prologue analysis, detect and handle cases when a stack probe loop is generated. * alpha-mdebug-tdep.c (alpha_mdebug_frameless): New function. (alpha_mdebug_max_frame_size_exceeded): New function. (alpha_mdebug_after_prologue): Use alpha_mdebug_frameless. (alpha_mdebug_frame_sniffer, alpha_mdebug_frame_base_sniffer): Return 0 when the maximum debuggable frame size has been exceeded.
2010-04-23Fix ARI warning.Joel Brobecker2-1/+6
* ppc-linux-nat.c (booke_cmp_hw_point): Do not mark inline.
2010-04-23PR 10179Chris Moller11-4/+131
* symtab.c (rbreak_command): Added code to include a filename specification in the rbreak argument. * NEWS: Added a brief description of filename-qualified rbreak. * gdb.base/Makefile.in (EXECUTABLES): Added pr10179. * gdb.base/pr10179-a.c: * gdb.base/pr10179-b.c: * gdb.base/pr10179.exp: New files. * gdb.texinfo (Setting Breakpoints): Added description of filename-qualified rbreak. * refcard.tex (Breakpoints and Watchpoints): Added brief description of filename-qualified rbreak.
2010-04-23*** empty log message ***gdbadmin1-1/+1
2010-04-22gdb/Jan Kratochvil15-114/+355
Fix crashes on dangling display expressions. * ada-lang.c (ada_operator_check): New function. (ada_exp_descriptor): Fill-in the field operator_check. * c-lang.c (exp_descriptor_c): Fill-in the field operator_check. * jv-lang.c (exp_descriptor_java): Likewise. * m2-lang.c (exp_descriptor_modula2): Likewise. * scm-lang.c (exp_descriptor_scm): Likewise. * parse.c (exp_descriptor_standard): Likewise. (operator_check_standard): New function. (exp_iterate, exp_uses_objfile_iter, exp_uses_objfile): New functions. * parser-defs.h (struct exp_descriptor): New field operator_check. (operator_check_standard, exp_uses_objfile): New declarations. * printcmd.c: Remove the inclusion of solib.h. (display_uses_solib_p): Remove the function. (clear_dangling_display_expressions): Call lookup_objfile_from_block and exp_uses_objfile instead of display_uses_solib_p. * solist.h (struct so_list) <objfile>: New comment. * symtab.c (lookup_objfile_from_block): Remove the static qualifier. * symtab.h (lookup_objfile_from_block): New declaration. (struct general_symbol_info) <obj_section>: Extend the comment. gdb/testsuite/ Fix crashes on dangling display expressions. * gdb.base/solib-display.exp: Call gdb_gnu_strip_debug if LIBSEPDEBUG is SEP. (lib_flags): Remove the "debug" keyword. (libsepdebug): New variable for iterating new loop. (save_pf_prefix): New variable wrapping the loop. (sep_lib_flags): New variable derived from LIB_FLAGS. Use it. * lib/gdb.exp (gdb_gnu_strip_debug): Document the return code.
2010-04-22 * gdb.threads/watchthreads.exp: Change to obtain consistent output.Pierre Muller2-2/+6
2010-04-222010-04-22 Sergio Durigan Junior <sergiodj@linux.vnet.ibm.com>Thiago Jung Bauermann2-78/+610
Thiago Jung Bauermann <bauerman@br.ibm.com> * ppc-linux-nat.c (PTRACE_GET_DEBUGREG): Update comment. (PPC_PTRACE_GETWDBGINFO, PPC_PTRACE_SETHWDEBUG, PPC_PTRACE_DELHWDEBUG, ppc_debug_info, PPC_DEBUG_FEATURE_INSN_BP_RANGE, PPC_DEBUG_FEATURE_INSN_BP_MASK, PPC_DEBUG_FEATURE_DATA_BP_RANGE, PPC_DEBUG_FEATURE_DATA_BP_MASK, ppc_hw_breakpoint, PPC_BREAKPOINT_TRIGGER_EXECUTE, PPC_BREAKPOINT_TRIGGER READ, PPC_BREAKPOINT_TRIGGER_WRITE, PPC_BREAKPOINT_TRIGGER_RW, PPC_BREAKPOINT_MODE_EXACT PPC_BREAKPOINT_MODE_RANGE_INCLUSIVE, PPC_BREAKPOINT_MODE_RANGE_EXCLUSIVE, PPC_BREAKPOINT_MODE_MASK, PPC_BREAKPOINT_CONDITION_NONE, PPC_BREAKPOINT_CONDITION_AND, PPC_BREAKPOINT_CONDITION_EXACT, PPC_BREAKPOINT_CONDITION_OR, PPC_BREAKPOINT_CONDITION_AND_OR, PPC_BREAKPOINT_CONDITION_BE_ALL, PPC_BREAKPOINT_CONDITION_BE_SHIFT, PPC_BREAKPOINT_CONDITION_BE): Define, in case <ptrace.h> doesn't provide it. (booke_debug_info): New variable. (max_slots_number): Ditto. (hw_break_tuple): New struct. (thread_points): Ditto. (ppc_threads): New variable. (PPC_DEBUG_CURRENT_VERSION): New define. (have_ptrace_new_debug_booke): New function. (ppc_linux_check_watch_resources): Renamed to ... (ppc_linux_can_use_hw_breakpoint): ... this. Handle BookE processors. (ppc_linux_region_ok_for_hw_watchpoint): Handle BookE processors. (booke_cmp_hw_point): New function. (booke_find_thread_points_by_tid): Ditto. (booke_insert_point): Ditto. (booke_remove_point): Ditto. (ppc_linux_insert_hw_breakpoint): Ditto. (ppc_linux_remove_hw_breakpoint): Ditto. (get_trigger_type): Ditto. (ppc_linux_insert_watchpoint): Handle BookE processors. (ppc_linux_remove_watchpoint): Ditto. (ppc_linux_new_thread): Ditto. (ppc_linux_thread_exit): New function.. (ppc_linux_stopped_data_address): Handle BookE processors. (ppc_linux_watchpoint_addr_within_range): Ditto. (_initialize_ppc_linux_nat): Initialize to_insert_hw_breakpoint and to_remove_hw_breakpoint fields of the target operations struct. Add observe for the thread_exit event.
2010-04-22Reformat.H.J. Lu1-2/+2
2010-04-22Remove regmap from i386-linux-nat.c.H.J. Lu4-31/+31
2010-04-22 H.J. Lu <hongjiu.lu@intel.com> * i386-linux-nat.c (regmap): Removed. (fetch_register): Replace regmap with i386_linux_gregset_reg_offset. (store_register): Likewise. (supply_gregset): Likewise. (fill_gregset): Likewise. * i386-linux-tdep.c (i386_linux_gregset_reg_offset): Make it global. * i386-linux-tdep.h (i386_linux_gregset_reg_offset): New.
2010-04-22* cp-valprint.c (cp_print_value_fields): Replaced obstack_base()Chris Moller2-10/+26
method of popping recursion-detection stack with a method based on obstack_object_size(). (Similar to the PR9167 patch below, but for the static array obstack rather than the static member obstack.)
2010-04-22Remove amd64_linux_gregset64_reg_offset.H.J. Lu4-31/+17
2010-04-22 H.J. Lu <hongjiu.lu@intel.com> * amd64-linux-nat.c (amd64_linux_gregset64_reg_offset): Removed. (_initialize_amd64_linux_nat): Replace amd64_linux_gregset64_reg_offset with amd64_linux_gregset_reg_offset. * amd64-linux-tdep.c (amd64_linux_gregset_reg_offset): Make it global. * amd64-tdep.h (amd64_linux_gregset_reg_offset): New.
2010-04-22gdb/doc/Jan Kratochvil2-39/+60
* gdb.texinfo (Data): New @menu reference to Pretty Printing. (Python API): Change the reference to Pretty Printing API. (Pretty Printing): Move the user part under the Data node. Reformat the sample output to 72 columns. Create a new reference to Pretty Printing API. Rename the API part ... (Pretty Printing API): To a new node name. (Selecting Pretty-Printers, Progspaces In Python, Objfiles In Python) (GDB/MI Variable Objects): Change references to Pretty Printing API.
2010-04-22 PR stabs/11479.Pierre Muller3-0/+128
* gdb.stabs/gdb11479.exp: New file. * gdb.stabs/gdb11479.c: New file.
2010-04-22 * Remove unwanted space in set_length_in_type_chain parameterdeclarationPierre Muller1-1/+1
2010-04-22 PR stabs/11479.Pierre Muller2-0/+45
* stabsread.c (set_length_in_type_chain): New function. (read_struct_type): Call set_length_in_type_chain function. (read_enum_type): Idem.
2010-04-222010-04-21 Stan Shebs <stan@codesourcery.com>Stan Shebs2-1/+6
Nathan Sidwell <nathan@codesourcery.com> * tracepoint.c (trace_save): Open in binary mode.
2010-04-222010-04-21 Stan Shebs <stan@codesourcery.com>Stan Shebs2-13/+17
* gdb.texinfo (Tracepoint Actions): Mention synonymy of actions and commands. (Listing Tracepoints): Update to reflect current behavior.
2010-04-22*** empty log message ***gdbadmin1-1/+1
2010-04-21gdb ChangeLogPierre Muller9-9/+104
* gdbtypes.h (builtin_type): Add builtin_char16 and builtin_char32 fields. * gdbtypes.c (gdbtypes_post_init): Set builtin_char16 and builtin_char32 fields. * printcmd.c (decode_format): Set char size to '\0' for strings unless explicit size is given. (print_formatted): Correct calculation of NEXT_ADDRESS for 16 or 32 bit strings. (do_examine): Do not force byte size for strings. Use builtin_char16 and builtin_char32 types to display 16 or 32 bit-wide strings. (x_command): Set LAST_SIZE to 'b' for string type. gdb/doc ChangeLog * gdb.texinfo (Examining memory): Update for change in string display with explicit size. gdb/testsuite ChangeLog * gdb.base/charset.c (Strin16, String32): New variables. * gdb.base/charset.exp (gdb_test): Test correct display of 16 or 32 bit strings.
2010-04-21Reformat.H.J. Lu1-2/+2
2010-04-21Properly read i386 coredump.H.J. Lu3-26/+35
2010-04-21 H.J. Lu <hongjiu.lu@intel.com> PR corefiles/11523 * amd64-linux-tdep.c (amd64_linux_core_read_description): Check XCR0 first. * i386-linux-tdep.c (i386_linux_core_read_xcr0): Return 0 if there is no .reg-xstate section. (i386_linux_core_read_description): Check XCR0 first.
2010-04-21gdb: workaround sparc memcpy fortify errorMike Frysinger2-0/+6
Building on an x86_64-linux system with --enable-targets=all fails on the sparc code with a fortify error: cc1: warnings being treated as errors In file included from /usr/include/string.h:640, from gnulib/string.h:23, from ../../gdb/gdb_string.h:25, from ../../gdb/vec.h:25, from ../../gdb/memattr.h:24, from ../../gdb/target.h:60, from ../../gdb/exec.h:23, from ../../gdb/gdbcore.h:31, from ../../gdb/sparc-tdep.c:29: In function 'memcpy', inlined from 'sparc32_store_return_value' at ../../gdb/sparc-tdep.c:1112, inlined from 'sparc32_return_value' at ../../gdb/sparc-tdep.c:1170: /usr/include/bits/string3.h:52: error: call to __builtin___memcpy_chk will always overflow destination buffer make: *** [sparc-tdep.o] Error 1 This is due to the gcc optimizer bug PR37060, so tweak the gdb_assert () to avoid the issue. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-04-21PR 9167Chris Moller6-9/+100
* cp-valprint.c (cp_print_value_fields): Replaced obstack_base() method of popping recursion-detection stack with a method based on obstack_object_size(). * gdb.cp/Makefile.in (EXECUTABLES): Added pr9167. * gdb.cp/pr9167.cc: New file. * gdb.cp/pr9167.exp: New file.
2010-04-21* Makefile.in (nto_low_h nto-low.o nto-x86-low.o): New dependency lists.Aleksandar Ristovski3-1/+11
* nto-x86-low.c: Include server.h
2010-04-21gdb ChangeLogPierre Muller5-6/+119
PR pascal/11492. * p-valprint.c (pascal_val_print): Fix default printing of integer arrays. gdb/testsuite ChangeLog PR pascal/11492. * gdb.pascal/gdb11492.pas: New file. * gdb.pascal/gdb11492.exp: New file.
2010-04-21 Fix compilation warning on gcc-4.1.2.Pierre Muller2-1/+7
* rs6000-aix-tdep.c (rs6000_convert_from_func_ptr_addr): Initialize local variable`pc' to zero.
2010-04-21 * gdb.base/source-test.gdb: New file.Doug Evans1-1/+0
Remove duplicate entry.
2010-04-21*** empty log message ***gdbadmin1-1/+1
2010-04-20Implement thread support with core files on alpha-tru64Joel Brobecker2-10/+29
Thread support currently does not work with core files. Note that, in order to thread support to work on tru64, one need to allow GDB to write in the core file (this is because the thread debug library needs to write). An obvious visible symptom of the problem is that "info threads" does not list the various threads: (gdb) info threads * 1 <main task> 0x000003ff805c0918 in __nxm_thread_kill () from /usr/shlib/libpthread.so One other noticeable consequence is that GDB generates some warnings when using "info tasks": (gdb) info tasks warning: Could not find thread id from THREAD = 0x3ffc01b6000 warning: Could not find thread id from THREAD = 0x20000e2b4c0 ID TID P-ID Pri State Name * 1 140051000 0 30 Runnable main_task * 2 14005c000 1 30 Accept or Select Term my_t (notice also how both tasks are marked as being the active task, which cannot be true). The problem is that the dec-thread module has not updated its thread list after the core file got loaded. In fact, the list only gets resync'ed at the end of each target-wait. The solution was to implement the find_new_threads target_ops method. gdb/ChangeLog: Implement thread support with core files on alpha-tru64. * dec-thread.c (dec_thread_find_new_threads): New function, extracted from resync_thread_list. (resync_thread_list): Add OPS parameter. Replace extracted-out code by call to dec_thread_find_new_threads. (dec_thread_wait): Update call to resync_thread_list. (init_dec_thread_ops): Set dec_thread_ops.to_find_new_threads.
2010-04-20Add missing directory name in last ChangeLog entry.Joel Brobecker1-1/+1
2010-04-20[AVR] inferior call of subprogram with pointer as argumentJoel Brobecker2-2/+29
On AVR, the gdb view of an address is different from the machine view of the same address. We need to use special machinery implemented by value_pointer to take the pointer of a value. For instance, considering the following function... procedure Trace (Unit : T; Message : String); ... where T is an access Integer (a pointer to an integer), call to this function currently triggers the following warnings: (gdb) call debug.trace (me, "You") warning: Value does not fit in 16 bits. warning: Value does not fit in 16 bits. Tracing message: You It could have been worse if Trace actually tried to dereference the Unit argument... gdb/ChangeLog (from Tristan Gingold): * ada-lang.c (value_pointer): New function. (make_array_descriptor): Call value_pointer to convert addresses to pointers. Tested on avr and x86_64-linux.
2010-04-20[AIX] Memory error while checking if pointer is descriptor.Joel Brobecker2-3/+24
A long time ago (Oct 2009), I noticed a problem on AIX, where something failed with an error while the debugger was checking whether an address was a descriptor or not. Unfortunately, like an idiot, I forgot to write notes about the scenario where the problem occured - I am usually pretty meticulous about that because my memory of these things is really bad. I hope you'll forgive me for not providing a solid testcase - if it's any consolation, I've searched for a long time before giving up :-(. Based on the testsuite reports that I have, I think that this happened while inserting a breakpoint, as follow: (gdb) break x Cannot access memory at address 0x200093b4 What happened is that rs6000_convert_from_func_ptr_addr tried to read the memory at the given address, and fail because of an exception. It seems pretty clear that, if the address was in fact a descriptor, GDB would have been able to read the target memory region. So this patch protects the memory-read against exceptions, and treats such exceptions as an indication that our address is not a descriptor. gdb/ChangeLog: * rs6000-aix-tdep.c: #include exceptions.h. (rs6000_convert_from_func_ptr_addr): If an exception is thrown while reading the memory at ADDR, then ADDR cannot be a function descriptor.
2010-04-20"unsupported language" error in info types when using Ada.Joel Brobecker7-1/+92
This implements a rudimentary version of the la_print_typedef method for Ada. Ada usually does not use typedefs, but there is one exception: pointers to unconstrained arrays. Without this patch, we sometimes get an error in the "info types" output: (gdb) info types new_integer_type All types matching regular expression "new_integer_type": File foo.adb: Language not supported. For now, we treat the typedef as if it did not exist - using the underlying type instead. This is the right thing to do for most cases, the only exception being access to array types. Since we already have a general issue in handling these pointers (we confuse them with fat pointers), we will enhance ada_print_typedef to handle these pointers at the same time we address the general issue. gdb/ChangeLog: * ada-typeprint.c (ada_print_typedef): New function. * ada-lang.h (ada_print_typedef): Add declaration. * ada-lang.c (ada_language_defn): set la_print_typdef field to ada_print_typedef. gdb/testsuite/ChangeLog: * info_types.c, info_types.exp: New files. Tested on x86_64-linux.
2010-04-20Unused function in procfs.c on alpha-tru64.Joel Brobecker2-1/+7
The procfs_address_to_host_pointer function was not used outside of alpha-tru64, and thus was triggering a compiler warning. Adjusted accordingly. gdb/ChangeLog: * procfs.c (procfs_address_to_host_pointer): Only define when used.
2010-04-20procfs.c: iterate_over_mappings callback has wrong profile.Joel Brobecker2-4/+28
The function proc_find_memory_regions calls iterate_over_mappings as follow: > return iterate_over_mappings (pi, func, data, > find_memory_regions_callback); The problem is that both func and find_memory_regions_callback do not match the profile expected by iterate_over_mappings: > iterate_over_mappings (procinfo *pi, int (*child_func) (), void *data, > int (*func) (struct prmap *map, > int (*child_func) (), > void *data)) We cannot change proc_find_memory_regions such that FUNC is a pointer to a function that takes no argument (in place of the 6 that it has). This is because proc_find_memory_regions is used as a target_ops method. However, it turns out that changing iterate_over_mappings to conform to the profile imposed by the target_ops vector is possible without much effort. gdb/ChangeLog: * procfs.c (iterate_over_mappings_cb_ftype): New typedef. (iterate_over_mappings): Adjust function profile. Add declaration. (insert_dbx_link_bpt_in_region, info_mappings_callback): Adjust accordingly.
2010-04-20procfs.c: Move solib_mappings_callback up to avoid compiler warning.Joel Brobecker2-51/+52
There are currently 2 issues with the placement of this routine: - It's defined after it is being used (causing an implicit declaration); - It looks like it's being defined all the time, whereas it is used only on mips-irix (AFAICT) - shouldn't have this triggered a warning on sparc-solaris, for instance??? In any case, this patch moves this function up, inside the right region, just before the function where it is actually used. gdb/ChangeLog: * procfs.c (solib_mappings_callback): Move function up to avoid a compiler warning.
2010-04-20procfs.c: Move find_signalled_thread and find_stop_signal.Joel Brobecker2-22/+27
These two functions are only used from procfs_make_note_section, which itself is only defined if: #if defined (UNIXWARE) || defined (PIOCOPENLWP) || defined (PCAGENT) So these two functions are unused on mips-irix, and they get flagged by -Wunused-function. This patch simply moves these functions closer to the function that uses them, which also has the effect of putting them inside the same #if block as procfs_make_note_section. Thus they are defined only when used. gdb/ChangeLog: * procfs.c (find_signalled_thread, find_stop_signal): Move these functions down to define them only when used.
2010-04-20Wrong value printed by info locals for dynamic object.Joel Brobecker10-9/+151
The problem is printing the wrong value for dynamic local variables when using the "info locals" command. Consider the following code: procedure Print (I1 : Positive; I2 : Positive) is type My_String is array (I1 .. I2) of Character; I : My_String := (others => 'A'); S : String (1 .. I2 + 3) := (others => ' '); begin S (I1 .. I2) := String (I); -- BREAK Put_Line (S); end Print; After the debugger stopped at BREAK, we try printing all local variables. Here is what we get: (gdb) info locals i = "["00"]["00"]" s = "["00"]["00"]["00"]["00"]["00"]["00"]["00"]["00"]" Curiously, printing their value using the "print" command works: (gdb) print i $1 = "AA" (gdb) print s $2 = " " We traced the problem to trying to get the contents of a variable (call to value_contents) before "fix'ing" it. For those not familiar with the Ada language support, "fixing" a value consists of swapping the value's dynamic type with a static version that is appropriate for our actual value. As a result, the dynamic type was used to determine the value size, which is zero, and thus the value contents was empty. gdb/ChangeLog: * valprint.c (common_val_print): Fix the value before extracting its contents. * ada-lang.c (ada_to_fixed_value): Make this function extern. * ada-lang.h (ada_to_fixed_value): New function declaration. * ada-valprint.c (ada_value_print): Use ada_to_fixed_value to avoid code duplication and fix a bug in the handling of fixed types contents. gdb/testsuite/ChangeLog: * gdb.ada/dyn_loc: New testcase.
2010-04-20 * dwarf2read.c (dwarf2_compute_name): Handle DW_AT_linkage_name.Tom Tromey2-1/+15
(read_partial_die): Likewise. (dwarf_attr_name): Likewise.
2010-04-20PR 10867Chris Moller6-5/+127
* cp-valprint.c (global): Adding new static array recursion detection obstack. (cp_print_value_fields, cp_print_static_field): Added new static array recursion detection code. * gdb.cp/Makefile.in (EXECUTABLES): Added pr10687 * gdb.cp/pr10687.cc: New file. * gdb.cp/pr10687.exp: New file
2010-04-20* i386-linux-tdep.c (i386_linux_regset_sections): Size of theMark Kettenis2-3/+10
general-purpose register set should be 68 instead of 144. (i386_linux_sse_regset_sections): Likewise. (i386_linux_avx_regset_sections): Likewise.
2010-04-202010-04-20 Stan Shebs <stan@codesourcery.com>Stan Shebs6-97/+494
Nathan Sidwell <nathan@codesourcery.com> * dwarf2loc.c (struct axs_var_loc): New struct. (dwarf2_tracepoint_var_loc): New function. (dwarf2_tracepoint_var_access): New function. (dwarf2_tracepoint_var_ref): Use dwarf2_tracepoint_var_loc, deal with DW_OP_piece. (locexpr_describe_location_piece): New function. (locexpr_describe_location_1): New function. (locexpr_describe_location): Call it, update signature. (loclist_describe_location): Rewrite to loop over locations, update signature. * symtab.h (struct symbol_computed_ops): Add address to describe_location arguments, return void. * printcmd.c (address_info): Get context PC, pass to computed location description. * tracepoint.c (scope_info): Ditto. * ax-gdb.c (trace_kludge): Export.
2010-04-20 * dwarf2-frame.c (decode_frame_entry_1): Handle CIE version 4.Tom Tromey3-15/+114
(struct dwarf2_cie) <segment_size>: New field. * dwarf2read.c (partial_read_comp_unit_head): Accept DWARF 4. (skip_one_die): Handle DW_FORM_flag_present, DW_FORM_sec_offset, DW_FORM_exprloc. (read_attribute_value): Handle DW_FORM_flag_present, DW_FORM_sec_offset, DW_FORM_exprloc. (dump_die_shallow): Likewise. (attr_form_is_section_offset): Handle DW_FORM_sec_offset. (dwarf2_const_value): Handle DW_FORM_exprloc. (attr_form_is_block): Likewise. (struct line_header) <maximum_ops_per_instruction>: New field. (dwarf_decode_line_header): Set new field. (dwarf_decode_lines): Handle new field.
2010-04-20gdb/ChangeLog:Sergio Durigan Junior7-0/+97
2010-04-20 Jan Kratochvil <jan.kratochvil@redhat.com> * f-exp.y: Add new production to recognize the `logical*8' type. (LOGICAL_S8_KEYWORD): New token. * f-lang.c (enum f_primitive_types) <f_primitive_type_logical_s8>: New field. (f_language_arch_info): Handling `logical*8' type. (build_fortran_types): Building `logical*8' type. * f-lang.h (struct builtin_f_type) <builtin_logical_s8>: New field. gdb/testsuite/ChangeLog: 2010-04-20 Jan Kratochvil <jan.kratochvil@redhat.com> Sergio Durigan Junior <sergiodj@redhat.com> * gdb.fortran/logical.exp: New testcase. * gdb.fortran/logical.f90: New file.