Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
* dwarf2read.c (read_subrange_type): Set TYPE_HIGH_BOUND_UNDEFINED.
* valarith.c (value_subscripted_rvalue): Suppress error if
TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED.
|
|
This is to prevent an internal error during an Ada task switch. A task
switch is simply a thread switch under the hood. What we do is collect
the info from the Ada Task Control Block, deduce the associated thread
ptid, and then switch to that thread. If the thread ptid computation
routine has not been implemented for the target, of if there is a bug,
then we end up computing a bogus ptid which GDB does not know about,
which eventually leads to an assertion failure:
(gdb) task 1
[New Thread 5715]
/[...]/gdb/thread.c:595: internal-error: is_thread_state:
Assertion `tp' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n)
When this happens, it's just nicer for the user to print an error
message, and cancel the task switch. After this patch is applied,
this is what we get:
(gdb) task 1
[New Thread 10250]
Unable to compute thread ID for task 1.
Cannot switch to this task.
gdb/ChangeLog:
* ada-tasks.c (task_command_1): Check that the task ptid is valid
before doing the associated thread switch.
|
|
* server.h (internal_error): Declare.
(gdb_assert, ASSERT_FUNCTION, gdb_assert_fail): Define.
* utils.c (internal_error): New function.
|
|
* linux-record.c (record_linux_msghdr): Remove unintended semicolons.
|
|
|
|
* breakpoint.c (break_command_really): Make nonstatic and
rename to...
(create_breakpoint): ...this. Rename prior function by this name
to...
(create_breakpoint_sal): ...this.
(create_breakpoints): Rename to...
(create_breakpoints_sal): ...this.
(set_breakpoint): Remove.
* breakpoint.h: Adjust to above changes.
* mi/mi-cmd-break.c (mi_cmd_break_insert): Simplify.
|
|
|
|
|
|
* ax-gdb.c: Include cp-support.h.
(find_field): Remove.
(gen_primitive_field): New function.
(gen_struct_ref_recursive): New function.
(gen_struct_ref): Rewrite to call gen_struct_ref_recursive instead
of find_field.
(gen_static_field): New function.
(gen_struct_elt_for_reference): New.
(gen_namespace_elt): New.
(gen_maybe_namespace_elt): New.
(gen_aggregate_elt_ref): New.
(gen_expr): Add OP_SCOPE, display opcode name in error message.
|
|
DW_TAG_subprogram.
|
|
Ralf's copyright assignment does not cover GDB for the moment.
He only contributed one other change, in 2005, so this should be fine.
|
|
PR c++/7936:
* cp-support.h: Added char *declaration element to using_direct
data struct.
(cp_add_using): Added char *declaration argument.
(cp_add_using_directive): Ditto.
(cp_lookup_symbol_imports): made extern.
* cp-namespace.c: Updated with the above changes.
* dwarf2read.c (read_import_statement): Ditto.
(read_namespace): Ditto.
(read_import_statement): Support import declarations.
* cp-namespace.c (cp_lookup_symbol_imports): Check for imported
declarations.
Added support for 'declaration_only' search.
(cp_lookup_symbol_namespace): Attempt to search for the name as
is before consideration of imports.
* symtab.c (lookup_symbol_aux_local): Added a 'declaration_only'
search at every block level search.
Now takes language argument.
(lookup_symbol_aux): Updated.
2010-03-15 Sami Wagiaalla <swagiaal@redhat.com>
* gdb.cp/shadow.exp: Removed kfail; test has been fix.
* gdb.cp/nsusing.exp: Ditto.
|
|
* c-exp.y (name_not_typename): Add 'operator' clause.
gdb/testsuite
* gdb.cp/userdef.exp: Add tests for explicit calls to operator==.
* gdb.cp/userdef.cc (operator==): New function.
(main): New locals mem1, mem2.
|
|
|
|
* configure.ac: Exit if ${gdb_target_obs}" is not set.
* configure: Regenerate.
|
|
|
|
* symfile.c (addr_info_make_relative): Ignore also missing ".dynbss"
and ".sdynbss". Update the comment.
|
|
|
|
Declare and use new loadtimeout variable.
|
|
Use gdb_load later.
|
|
|
|
format to `error'.
(usr_store_inferior_registers): Ditto.
|
|
|
|
(_initialize_charset): Correct type of w32_host_default_charset.
|
|
memory failed.
|
|
`stopped_by_watchpoint' and `stopped_data_address'.
* linux-low.c (linux_wait_for_lwp): Check for watchpoint triggers
here, and cache them in the lwp object.
(wait_for_sigstop): Check stopped_by_watchpoint lwp field
directly.
(linux_resume_one_lwp): Clear the lwp's stopped_by_watchpoint
field.
(linux_stopped_by_watchpoint): Rewrite.
(linux_stopped_data_address): Rewrite.
|
|
literal. Add missing endlines to prints to stderr.
|
|
|
|
|
|
PR c++/9708:
* dwarf2read.c (die_needs_namespace) <DW_TAG_variable>: A variable
in a lexical block does not need a namespace.
(new_symbol) <DW_TAG_variable>: Put extern variables on
list_in_scope in all cases.
gdb/testsuite
PR c++/9708:
* gdb.cp/m-static.exp: Add regression test.
* gdb.cp/m-static.cc (method): New method.
(main): Call it.
|
|
|
|
* ax-gdb.c (gen_expr): Add shift expressions.
(gen_expr_binop_rest): Ditto.
|
|
* buildsym.c (finish_block): Reset using_directives pointer
after block initialization.
2010-03-12 Sami Wagiaalla <swagiaal@redhat.com>
* gdb.cp/gdb2384-base.h: Created 'namespace B'.
* gdb.cp/gdb2384-base.cc: Use 'namespace B'.
|
|
* lib/gdb.exp (gdb_test_multiple): Handle -timeout.
|
|
* lib/gdb.exp (skip_stl_tests): New.
(gdb_compile): Symbian needs -ldl.
(shlib_target_file): New.
(shlib_symbol_file): New.
(gdb_load_shlibs): Use shlib_target_file.
* lib/mi-support.exp (mi_load_shlibs): Use shlib_target_file.
* gdb.cp/exception.exp: Use skip_stl_tests.
* gdb.cp/bs15503.exp: Use skip_stl_tests. Use untested.
* gdb.cp/try_catch.exp: Use skip_stl_tests.
* gdb.cp/mb-templates.exp: Ditto.
* gdb.base/commands.exp: Relax regexes.
* gdb.base/watchpoint-solib.exp: Don't skip on symbian. Use
shlib_target_file and shlib_symbol_file.
* gdb.base/maint.exp: Allow lowercase t. Allow .rodata in
sections.
* gdb.base/ending-run.exp: Accept E32Main for symbian.
* gdb.base/solib-disc.exp: Use
shlib_target_file and shlib_symbol_file.
* gdb.base/unload.exp: Don't skip on symbian. Use
shlib_target_file and shlib_symbol_file.
* gdb.base/list.exp: Check use_gdb_stub instead of is_remote.
|
|
Nathan Sidwell <nathan@codesourcery.com>
* gdb.texinfo (Tracepoint Actions): Clarify that while-stepping is
doing instruction stepping.
(Tracepoint Restrictions): New node.
|
|
2010-03-12 H.J. Lu <hongjiu.lu@intel.com>
* amd64-tdep.c (amd64_word_names): Replace "sp" with "".
* i386-tdep.c (i386_word_names): Likewise.
|
|
* gdb.trace/report.exp: Adjust for x86 and x86_64.
Issue a tfind end before looking for a tracepoint frame.
* gdb.trace/tfind.exp: Adjust tstatus output.
Adjust disassembly output.
* gdb.trace/while-dyn.exp: Adjust for x86 and x86_64.
|
|
inspecting trace frames.
* tracepoint.c (finish_tfind_command): Invalidate the target
dcache.
|
|
|
|
* solib-svr4.c (LM_ADDR_CHECK) <info_verbose>: Use printf_unfiltered
for the PIC displacement, print also the displacement value.
(svr4_exec_displacement): Print DISPLACEMENT if INFO_VERBOSE.
gdb/testsuite/
* gdb.base/break-interp.exp: Create new displacement parameter value
for the test_ld calls.
(reach): New parameter displacement, verify its content. New push of
pf_prefix "reach-$func:". Import global expect_out.
(test_core): New parameter displacement, verify its content. New push
of pf_prefix "core:". New command "set verbose on". Import global
expect_out.
(test_attach): New parameter displacement, verify its content. New
push of pf_prefix "attach:". New command "set verbose on". Import
global expect_out.
(test_ld): New parameter displacement, pass it to the reach, test_core
and test_attach calls and verify its content in the "ld.so exit" test.
* gdb.base/prelink.exp: Remove gdb_exit and final return.
(prelink): Update expected text, use gdb_test.
|
|
(mips_exit_cleanups, mips_send_command, mips_open, pmon_open)
(ddb_open, lsi_open, mips_remove_breakpoint, mips_remove_watchpoint)
(mips_stopped_by_watchpoint, send_srec, pmon_checkset)
(pmon_make_fastrec, pmon_check_ack, mips_expect_download)
(pmon_check_entry_address, pmon_check_total, pmon_end_download)
(pmon_download, pmon_load_fast, _initialize_remote_mips): Add
comments describing each of these functions.
(mips_enter_debug, mips_exit_debug, common_open)
(mips_signal_from_protocol, pmon_makeb64, pmon_zeroset): Add
blank line after the comment describing the function.
|
|
Lengthen timeout while doing >600 checkpoints test.
Rename duplicate "kill all one" test to keep test names unique.
|
|
|
|
* solib-svr4.c (svr4_exec_displacement): Return now success, new
parameter displacementp. Update comment.
(svr4_relocate_main_executable): Return if non-zero SECTION_OFFSETS
element exists. Return if svr4_exec_displacement was not successful.
Update comment.
|
|
* solib-svr4.c (read_program_header): Support type == -1 to read
all program headers.
(read_program_headers_from_bfd): New function.
(svr4_static_exec_displacement): Remove and move the comment ...
(svr4_exec_displacement): ... here. Remove variable found. New
variable displacement. Check also DYNAMIC. Verify DISPLACEMENT
alignment for ELF targets. Compare target vs. exec_bfd PHDRs for ELF
targets using read_program_headers_from_bfd. Remove the call of
svr4_static_exec_displacement.
|
|
(_PUBNAMES_HEADER): Remove.
(_ACTUAL_PUBNAMES_HEADER_SIZE): Remove.
(struct aranges_header): Remove.
(_ARANGES_HEADER, _ACTUAL_ARANGES_HEADER_SIZE): Remove.
(struct dwarf2_per_objfile) <pubnames, aranges>: Remove.
(PUBNAMES_SECTION): Remove.
(ARANGES_SECTION): Remove.
(dwarf2_locate_sections): Don't handle pubnames or aranges.
(dwarf2_build_psymtabs): Remove dead code.
(dwarf2_build_psymtabs_easy): Remove.
|
|
dwarf2_build_frame_info.
* dwarf2read.c (struct dwarf2_section_info) <readin>: New field.
(struct dwarf2_per_objfile) <objfile>: New field.
(dwarf2_has_info): Now idempotent. Set objfile field.
(dwarf2_read_section): Check and set readin field. Call
posix_madvise.
(dwarf2_build_psymtabs): Don't read all sections.
(read_type_comp_unit_head): Read types section.
(create_debug_types_hash_table): Likewise.
(init_cu_die_reader): Add asserts.
(process_type_comp_unit): Add assert.
(dwarf2_build_psymtabs_hard): Read info section.
(load_partial_comp_unit): Add assert.
(create_all_comp_units): Read info section.
(load_full_comp_unit): Likewise.
(dwarf2_ranges_read): Read ranges section.
(dwarf2_record_block_ranges): Add assert.
(dwarf2_read_abbrevs): Read abbrev section.
(read_indirect_string): Read str section.
(dwarf_decode_line_header): Read line section.
(read_signatured_type_at_offset): Read types section.
(dwarf_decode_macros): Read macinfo section.
(dwarf2_symbol_mark_computed): Read loc section.
* dwarf2-frame.c (dwarf2_frame_find_fde): Call
dwarf2_build_frame_info.
(dwarf2_build_frame_info): Unconditionally set
dwarf2_frame_objfile_data on the objfile.
* configure.ac: Check for posix_madvise.
* config.in, configure: Rebuild.
|
|
(xcoff_end_psymtab): Update.
* psymtab.c (allocate_psymtab): Remove dead code.
* psympriv.h (struct partial_symtab) <read_symtab_private>: Now
void*.
* mdebugread.c (parse_partial_symbols): Update.
(new_psymtab): Likewise.
* dwarf2read.c (process_psymtab_comp_unit): Update.
(psymtab_to_symtab_1): Update.
* dbxread.c (start_psymtab): Update.
(end_psymtab): Likewise.
|