aboutsummaryrefslogtreecommitdiff
path: root/gdb
AgeCommit message (Collapse)AuthorFilesLines
2011-12-23*** empty log message ***gdbadmin1-1/+1
2011-12-22 PR python/12533:Tom Tromey5-10/+50
* value.h (release_value_or_incref): Declare. * value.c (struct value) <released>: New field. (free_all_values, release_value, value_release_to_mark): Update 'released'. (release_value_or_incref): New function. * python/py-value.c (valpy_new): Use release_value_or_incref. (value_to_value_object): Likewise. * varobj.c (install_new_value): Move value_incref earlier.
2011-12-22 * value.c (struct value) <modifiable, lazy, optimized_out,Tom Tromey2-35/+44
initialized, stack>: Now bitfields. Move to top. <reference_count>: Move earlier.
2011-12-22 * minsyms.h: Rearrange. Document header and all functions.Tom Tromey3-70/+196
* minsyms.c: Move some comments to minsyms.h.
2011-12-22*** empty log message ***gdbadmin1-1/+1
2011-12-21 * symtab.h: Include minsyms.h.Tom Tromey5-95/+150
(prim_record_minimal_symbol, prim_record_minimal_symbol_full) (prim_record_minimal_symbol_and_info, msymbol_hash_iw) (msymbol_hash, SYMBOL_HASH_NEXT, msymbol_objfile) (lookup_minimal_symbol, lookup_minimal_symbol_text) (lookup_minimal_symbol_solib_trampoline) (lookup_minimal_symbol_by_pc_name, lookup_minimal_symbol_by_pc) (iterate_over_minimal_symbols, lookup_minimal_symbol_and_objfile) (lookup_minimal_symbol_by_pc_section) (lookup_solib_trampoline_symbol_by_pc) (init_minimal_symbol_collection) (make_cleanup_discard_minimal_symbols, install_minimal_symbols) (msymbols_sort): Move to minsyms.h. * objfiles.c (terminate_minimal_symbol_table): Move to minsyms.c. * minsyms.c (terminate_minimal_symbol_table): Move from objfiles.c. * minsyms.h: New file.
2011-12-21 * hppa-hpux-tdep.c (hppa64_hpux_search_dummy_call_sequence): UseTom Tromey3-9/+11
ALL_OBJFILE_MSYMBOLS. (hppa_hpux_find_dummy_bpaddr): Likewise. * jit.c (jit_object_close_impl): Use terminate_minimal_symbol_table.
2011-12-21 * elfread.c (elf_symtab_read): Put the filename in the filenameTom Tromey2-5/+10
bcache.
2011-12-21 * symtab.h (struct minimal_symbol) <filename>: Now const.Tom Tromey2-1/+5
2011-12-21gdb/Ulrich Weigand4-3/+16
PR tdep/12797 * arm-tdep.c (arm_return_value): Handle complex types. gdb/testsuite/ PR tdep/12797 * gdb.base/callfuncs.exp: Remove KFAIL.
2011-12-21* ppc-linux-nat.c (create_watchpoint_request): Only use rangedAndreas Schwab2-1/+7
watchpoints when supported.
2011-12-21gdb/Jan Kratochvil2-3/+30
* symfile.c (objfilep): New typedef and new DEF_VEC_P. (reread_symbols): Remove variable reread_one, new variables new_objfiles, all_cleanups and ix. Use new_objfiles instead of reread_one. Push changed objfiles to new_objfiles, call observer_notify_new_objfile for them later.
2011-12-21Use symbol search name in expand_symtabs_matching_via_partial...Joel Brobecker4-6/+14
We are iterating over all symbols in a partial symtab that would match a given name, so we should match the partial symbols search name against the given name rather than using the natural name. In C++, that does not make a difference, but it does in Ada, because Ada searches using the symbol encoded name... We also update the generation of the .gdb_index file to match this change in the search. Although technically an incompatible change, we do not increment the gdb_index version number, because Ada is the only language where it would make a difference - except that this feature is not supported for Ada. gdb/ChangeLog: * psymtab.c (expand_symtabs_matching_via_partial): Match the partial symbols using their SYMBOL_SEARCH_NAME. * symfile.h (struct quick_symbol_functions): Udate the documentation of expand_symtabs_matching. * dwarf2read.c (write_psymbols): Use SYMBOL_SEARCH_NAME instead of SYMBOL_NATURAL_NAME in index entry.
2011-12-21Add handling for unqualified Ada operators in linespecsJoel Brobecker2-0/+23
This patch enhances the linespec parser to recognize unqualified operator names in linespecs. This allows the user to insert a breakpoint on operator "+" as follow, for instance: (gdb) break "+" Previously, it was possible to insert such a breakpoint, but one had to fully qualify the function name. For instance: (gdb) break ops."+" gdb/ChangeLog: * linespec.c (locate_first_half): Add handling of Ada operators when the current language is Ada.
2011-12-21missing check against overlay_debugging in objfiles.cJoel Brobecker2-1/+6
This fixes a problem where the debugger is trying to locate a minimal symbol from its address, when the symbol is inside a section whose VMA is different from its LMA. We have a program that was built on ppc-elf using a linker script such that data sections are placed in ROM, and then loaded onto RAM at execution. So their VMA addresses are indeed different from their LMA address. Unfortunately, there is one place where GDB gets slightly confused into thinking that these data sections are overlayed, while it's not the case here. This show up when trying to print the list of Ada tasks, where GDB is unable to determine their names, and thus prints a generic `Ravenscar task' instead: (gdb) info tasks ID TID P-ID Pri State Name 1 1d580 127 Delay Sleep Ravenscar task 2 183f8 127 Delay Sleep Ravenscar task * 3 13268 127 Runnable Ravenscar task We expected: (gdb) info tasks ID TID P-ID Pri State Name 1 1d580 127 Delay Sleep environment_task 2 183f8 127 Delay Sleep raven2 * 3 13268 127 Runnable raven1 The name of the task is determined by looking up the symbol table using the task ID, which is the address where the symbol is defined. So, ada-tasks calls... msym = lookup_minimal_symbol_by_pc (task_id); ... which in turn first tries to determine the section associated to this address (find_pc_section), which itself uses a map of sections to find it. The map itself is recomputed every time objfiles are loaded/changed by `update_section_map'. And `update_section_map' relies on `insert_section_p' to determine whether the section should be inserted in the map or not. This is where things get interesting for us, because `insert_section_p' simply rejects overlay sections: if (lma != 0 && lma != bfd_section_vma (abfd, section) && (bfd_get_file_flags (abfd) & BFD_IN_MEMORY) == 0) /* This is an overlay section. IN_MEMORY check is needed to avoid discarding sections from the "system supplied DSO" (aka vdso) on some Linux systems (e.g. Fedora 11). */ return 0; However, it shouldn't reject our section in this case, since overlay debugging is off. The fix is to add a check that overlay debugging is active before rejecting the section. This is similar to what is done in `section_is_overlay' (which takes obj_section objects), for instance. gdb/Changelog: * objfiles.c (insert_section_p): Do not detect overlay sections if overlay debugging is off.
2011-12-21[Ada] Breakpoints on task bodiesJoel Brobecker8-0/+157
Consider the following declaration: package Pck is task Dummy_Task is entry Start; end Dummy_Task; end Pck; Inserting a breakpoint on the body of that task does not currently work: (gdb) b pck.dummy_task "pck.dummy_task" is not a function Make breakpoint pending on future shared library load? (y or [n]) n What happens here is that the compiler generates two symbols: (a) Symbol `pck__dummy_task' which is a *variable* referencing the task; (b) Symbol `pck__dummy_taskTKB' which is the subprogram implementing the body of the task. The symbol lookup only finds the variable before of the TKB suffix in the subprogram name. This patch fixes the problem by adjusting the ada-lang.c:is_name_suffix routine to recognize "TKB" suffixes. But that's not enough, because the search in the symtab is performed via the block dictionary, using a hashing algorithm. So, for the search to find `pck__dummy_taskTKB', I had to modify the hashing function to ignore TKB suffixes as well. gdb/ChangeLog: * ada-lang.c (is_name_suffix): Add handling of "TKB" suffixes. Update function documentation. * dictionary.c (dict_hash): Ignore "TKB" suffixes in hash computation. gdb/testsuite/ChangeLog: * gdb.ada/task_bp: New testcase.
2011-12-21*** empty log message ***gdbadmin1-1/+1
2011-12-202011-12-20 Pedro Alves <alves.ped@gmail.com>Pedro Alves4-1/+41
Jan Kratochvil <jan.kratochvil@redhat.com> * linux-nat.c (add_lwp): Don't call linux_nat_new_thread on the first LWP. * amd64-linux-nat.c (update_debug_registers_callback): Instantiate `lwp->arch_private' if NULL. (amd64_linux_prepare_to_resume): Do nothing if `lwp->arch_private' is NULL. * i386-linux-nat.c (update_debug_registers_callback): Instantiate `lwp->arch_private' if NULL. (i386_linux_prepare_to_resume): Do nothing if `lwp->arch_private' is NULL.
2011-12-20 * python/py-auto-load.c (info_auto_load_scripts): Pass address ofDoug Evans2-3/+10
scripts vector to collect_matching_scripts. (collect_matching_scripts): Update.
2011-12-20*** empty log message ***gdbadmin1-1/+1
2011-12-19gdb/Jan Kratochvil5-22/+49
* symfile.c (reread_symbols): Move free_objfile_separate_debug, preserve_values, sym_finish and clear_objfile_data calls before BFD close. Move free_objfile_separate_debug as the very first call. New comment on the ordering. gdb/testsuite/ * gdb.base/reread.exp: If srcfile2 fails to build retry it with -DNO_SECTIONS. * gdb.base/reread2.c <!NO_SECTIONS>: New sections block.
2011-12-19 * s390-tdep.c (s390_push_dummy_call): Set addressing mode bitUlrich Weigand2-2/+13
in return PSWA.
2011-12-19 * symtab.h (add_minsym_to_hash_table): Don't declare.Tom Tromey3-5/+6
* minsyms.c (add_minsym_to_hash_table): Now static.
2011-12-19gdb/testsuite/Jan Kratochvil3-2/+16
* gdb.cp/ptype-cv-cp.exp (ptype v_volatile_const_my_int): Make PR gcc/45997 XFAIL conditional for gcc <= 4.5. * gdb.python/py-type.exp (python print ttype.template_argument(2)): Change PR gcc/41736 to the more specific PR gcc/46955. Make it conditional for gcc <= 4.5.
2011-12-19gdb/doc/Jan Kratochvil7-10/+69
* gdbint.texinfo (Testsuite): Describe KFAIL and XFAIL in Writing tests. gdb/testsuite/ * gdb.cp/ptype-cv-cp.exp (ptype v_volatile_const_my_int): Replace KFAIL by XFAIL. * gdb.cp/static-method.exp (info addr A::func()) (list static-method.cc:xxx::(anonymous namespace)::A::func) (list 'static-method.cc:xxx::(anonymous namespace)::A::func') (list 'static-method.cc':'xxx::(anonymous namespace)::A::func') (list static-method.cc:'xxx::(anonymous namespace)::A::func'): Likewise. * gdb.cp/temargs.exp (test value of F in k2_m, test type of F in k3_m) (test value of F in k3_m): Likewise. * gdb.python/py-type.exp (python print ttype.template_argument(2)): Likewise.
2011-12-19gdb/testsuite/Jan Kratochvil4-370/+11
* gdb.threads/attach-stopped.exp (continue (*: attach2 continue)) (*: attach2 stop interrupt, *: attach2, exit leaves process sleeping): Remove. * gdb.threads/attachstop-mt.c: Remove. * gdb.threads/attachstop-mt.exp: Remove.
2011-12-19try ignoring bad PLT entries in ELF symbol tablesJoel Brobecker2-0/+23
Comment says it all: /* On ia64-hpux, we have discovered that the system linker adds undefined symbols with nonzero addresses that cannot be right (their address points inside the code of another function in the .text section). This creates problems when trying to determine which symbol corresponds to a given address. We try to detect those buggy symbols by checking which section we think they correspond to. Normally, PLT symbols are stored inside their own section, and the typical name for that section is ".plt". So, if there is a ".plt" section, and yet the section name of our symbol does not start with ".plt", we ignore that symbol. */ gdb/ChangeLog: * elfread.c (elf_symtab_read): Ignore undefined symbols with nonzero addresses if they do not correspond to a .plt section when one is available in the objfile.
2011-12-19*** empty log message ***gdbadmin1-1/+1
2011-12-18gdb/gdbserver/Jan Kratochvil2-3/+11
* linux-low.c (linux_create_inferior): Put empty if clause for write. Revert: 2011-12-18 Hui Zhu <teawater@gmail.com> * linux-low.c (linux_create_inferior): Save return value to ret.
2011-12-182011-12-18 Hui Zhu <teawater@gmail.com>Hui Zhu2-2/+7
* linux-low.c (linux_create_inferior): Save return value to ret.
2011-12-18*** empty log message ***gdbadmin1-1/+1
2011-12-17* cp-name-parser.y (cp_merge_demangle_parse_infos): Don't useAndreas Schwab2-3/+5
obstack_empty_p.
2011-12-17* amd64obsd-tdep.c (amd64obsd_init_abi): Don't setMark Kettenis2-4/+21
regset_from_core_section. (amd64obsd_core_init_abi): New function that sets regset_from_core_section. (_initialize_amd64obsd_tdep): Use amd64obsd_core_init_abi for traditional core dumps.
2011-12-17* gdb.arch/amd64-i386-address.exp: Skip on *-*-openbsd*.Mark Kettenis2-1/+6
2011-12-17* amd64obsd-tdep.c (amd64obsd_sigtramp_p): Detect new signalMark Kettenis2-3/+17
trampoline to be introduced in OpenBSD 5.0.
2011-12-17gdb/Jan Kratochvil2-2/+8
Fix build regression from the PR threads/10729 fix. * s390-nat.c (s390_insert_watchpoint, s390_remove_watchpoint): Use LP, not LP->PTID.
2011-12-17* mi/mi-main.c (mi_cmd_list_thread_groups): Rename `optind' andAndrey Smirnov2-28/+36
`optarg' to `oind' and `oarg', respectively(-Wshadow). (mi_cmd_data_read_memory): Ditto. (mi_cmd_data_read_memory_bytes): Ditto.
2011-12-17* mi/mi-getopt.c (mi_getopt): Rename `optind' and `optarg' toAndrey Smirnov2-17/+23
`oind' and `oarg', respectively(-Wshadow). (mi_valid_noargs): Ditto.
2011-12-17* mi/mi-cmd-var.c (print_varobj): Rename `optind' and `optarg' toAndrey Smirnov2-8/+13
`oind' and `oarg', respectively(-Wshadow).
2011-12-17* mi/mi-cmd-target.c (mi_cmd_target_file_get): Rename `optind' andAndrey Smirnov2-17/+24
`optarg' to `oind' and `oarg', respectively(-Wshadow). (mi_cmd_target_file_put): Ditto. (mi_cmd_target_file_delete): Ditto.
2011-12-17* mi/mi-cmd-env.c (mi_cmd_env_path): Rename `optind' andAndrey Smirnov2-13/+19
`optarg' to `oind' and `oarg', respectively(-Wshadow). (mi_cmd_env_dir): Ditto.
2011-12-17* mi/mi-cmd-disas.c (mi_cmd_disassemble): Rename `optind' and `optarg'Andrey Smirnov2-11/+16
to `oind' and `oarg', respectively(-Wshadow).
2011-12-17* mi/mi-cmd-break.c (mi_cmd_break_insert): Rename `optind' andAndrey Smirnov2-15/+21
`optparg' to `oind' and `oparg', respectively(-Wshadow). (mi_cmd_break_watch): Ditto.
2011-12-17*** empty log message ***gdbadmin1-1/+1
2011-12-16 * linespec.c (collect_symbols): Call maybe_add_address afterTom Tromey2-19/+15
calling symbol_to_sal. (minsym_found): Call maybe_add_address here. (search_minsyms_for_name): Don't call maybe_add_address.
2011-12-16 * linespec.c (struct collect_info) <objfile>: Remove field.Tom Tromey2-27/+130
(decode_objc): Update. (find_method): Update. (decode_variable): Update. (struct minsym_and_objfile): New. (struct collect_minsyms): New. (classify_mtype): New function. (compare_msyms): Likewise. (add_minsym): Likewise. (check_minsym): Remove. (search_minsyms_for_name): Sort minsyms and apply only those with top priority.
2011-12-16 * cli/cli-cmds.c (filter_sals): Filter out sals with NULL symtab.Tom Tromey2-1/+5
2011-12-162011-12-16 Pedro Alves <pedro@codesourcery.com>Pedro Alves4-36/+54
* inf-loop.c: Include top.h. (inferior_event_handler): Call check_frame_language. * top.c (check_frame_language_change): New, factored out from ... (execute_command): ... this. Use check_frame_language_change. * top.h (check_frame_language_change): Declare.
2011-12-16fix typo in previous entryDoug Evans1-1/+1
2011-12-16 * boards/native-stdiogdbserver.exp: New file.Doug Evans2-0/+139