Age | Commit message (Collapse) | Author | Files | Lines |
|
* linux-x86-low.c (update_debug_registers_callback): New.
(i386_dr_low_set_addr): Use it.
(i386_dr_low_get_addr): New.
(i386_dr_low_set_control): Use update_debug_registers_callback.
(i386_dr_low_get_control): New.
(i386_dr_low_get_status): Adjust.
* linux-low.c (linux_stop_lwp): New.
* linux-low.h (linux_stop_lwp): Declare.
* i386-low.c (I386_DR_GET_RW_LEN): Take the dr7 contents as
argument instead of a i386_debug_reg_state.
(I386_DR_WATCH_HIT): Take the dr6 contents as argument instead of
a i386_debug_reg_state.
(i386_insert_aligned_watchpoint): Adjust.
(i386_remove_aligned_watchpoint): Adjust.
(i386_low_stopped_data_address): Read the debug registers from the
inferior instead of from the mirrors.
* i386-low.h (struct i386_debug_reg_state): Extend comment.
(i386_dr_low_get_addr): Declare.
(i386_dr_low_get_control): Declare.
(i386_dr_low_get_status): Change prototype.
* win32-i386-low.c (dr_status_mirror, dr_control_mirror): New globals.
(i386_dr_low_get_addr): New.
(i386_dr_low_get_control): New.
(i386_dr_low_get_status): Adjust prototype. Return
dr_status_mirror.
(i386_initial_stuff): Clear dr_status_mirror and
dr_control_mirror.
(i386_get_thread_context): Adjust.
(i386_set_thread_context): Adjust.
(i386_thread_added): Adjust.
|
|
* dwarf2read.c (dwarf2_per_objfile): New members debug_info_type_hash,
debug_types_type_hash.
(dwarf2_cu, dwarf2_per_cu_data): Delete member type_hash.
All uses updated.
(lookup_die_type): Renamed from tag_type_to_tag. First look in
appropriate type_hash table. All callers updated.
(allocate_signatured_type_table): Renamed from
allocate_signatured_type_hash_table. All callers updated.
(create_signatured_type_table_from_index): Renamed from
create_signatured_type_hash_from_index. All callers updated.
(read_die_type): Add comment. Move actual reading to ...
(read_die_type_1): ... here. New function.
(follow_die_ref_or_sig): Tweak comment.
(set_die_type): Rewrite to use appropriate choice of
debug_info_type_hash or debug_types_type_hash.
(get_die_type_at_offset): New function.
(get_die_type): Call it.
testsuite/
PR symtab/11942
* gdb.dwarf2/dw4-sig-types.cc: New file.
* gdb.dwarf2/dw4-sig-types.h: New file.
* gdb.dwarf2/dw4-sig-types-b.cc: New file.
* gdb.dwarf2/dw4-sig-types.exp: New file.
|
|
|
|
|
|
* python/py-type.c (typy_richcompare): Initialize worklist.
|
|
(arm_psr_thumb_bit): New. Update all uses of CPSR_T to
call this function.
(arm_pc_is_thumb): Add a gdbarch argument. Update all callers.
Check is_m after force-mode.
(arm_gdbarch_init): Check the binary before the target description.
Add check for M profile attribute. If we have an M-profile device,
but no target register description, use arm-with-m. Recognize the
new org.gnu.gdb.arm.m-profile feature and its xpsr register.
(_initialize_arm_tdep): Call initialize_tdesc_arm_with_m.
* arm-tdep.h (XPSR_T): Define.
(struct gdbarch_tdep): Add is_m member.
* features/arm-m-profile.xml, features/arm-with-m.c,
features/arm-with-m.xml: New files.
doc/
* gdb.texinfo (ARM Features): Document
org.gnu.gdb.arm.m-profile.
|
|
|
|
|
|
(read_enumeration_type): Add comment.
(process_enumeration_scope): Move definition of some locals
closer to their use.
(read_namespace_type): Add comment.
|
|
PR python/11145:
* python/py-value.c: Include expression.h.
(valpy_do_cast): New function.
(valpy_cast): Use it.
(valpy_dynamic_cast): New function.
(valpy_reinterpret_cast): Likewise.
(value_object_methods): Add dynamic_cast, reinterpret_cast.
gdb/doc
PR python/11145:
* gdb.texinfo (Values From Inferior): Document dynamic_cast and
reinterpret_cast methods.
gdb/testsuite
PR python/11145:
* gdb.python/py-value.c (Base, Derived): New types.
(base): New global.
* gdb.python/py-value.exp (test_subscript_regression): Add
dynamic_cast test.
|
|
* python/py-value.c (valpy_nonzero): Don't throw error for other
Value types.
|
|
PR python/10676:
* python/py-type.c: Include bcache.h, vec.h.
(struct type_equality_entry): New.
(compare_strings): New function.
(check_types_equal): Likewise.
(check_types_worklist): Likewise.
(typy_richcompare): Likewise.
(type_object_type): Set tp_richcompare field.
gdb/testsuite
PR python/10676:
* gdb.python/py-type.exp (test_fields): Add tests for type
equality.
|
|
* python/py-type.c (typy_fields): Call check_typedef.
(typy_template_argument): Add TRY_CATCH.
|
|
PR python/11915:
* python/py-type.c (typy_array): New function.
(type_object_methods): Add "array".
gdb/doc
PR python/11915:
* gdb.texinfo (Types In Python): Document array method.
gdb/testsuite
PR python/11915:
* gdb.python/py-type.exp (test_fields): Add tests for array.
|
|
have any children. Create a new abbrev for it.
Add missing terminal sequence to .debug_abbrev.
|
|
|
|
|
|
|
|
(gdbpy_event_fds): Change type to `struct serial *' a array from
int array.
(gdbpy_run_events): Change parameters. Use serial_readchar in
place of read.
(gdbpy_post_event): Use serial_write in place of write.
(gdbpy_initialize_events): Use serial_pipe instead of pipe, and
serial_async in place of add_file_handler.
|
|
* serial.c (serial_interface_lookup): Take a const char pointer.
(serial_fdopen): Rename to ...
(serial_fdopen_ops): ... this. Add an OPS parameter and use it.
Call the OPS' fdopen function if there is one.
(serial_fdopen): Rewrite as wrapper to serial_fdopen_ops.
(serial_pipe): New.
(struct serial_ops) <fdopen>: New field.
* ser-mingw.c (free_pipe_state):
(free_pipe_state): Close output on non-pex pipes.
(pipe_windows_fdopen): New.
(gdb_pipe): New.
(_initialize_ser_windows): Register pipe_windows_fdopen.
* ser-go32.c (gdb_pipe): New.
* ser-pipe.c (pipe_close): Close file descriptor even if there's
no state pointer.
(pipe_ops): Delete.
(gdb_pipe): New.
|
|
* dwarf2read.c (struct delayed_method_info): New struct.
(struct dwarf2_cu): Add vector method_list.
(scan_partial_symbols): Count methods for union, class, structure,
and interface types.
(add_to_method_list): New function.
(free_delayed_list): New function.
(compute_delayed_physnames): New function.
(process_full_comp_unit): Make a cleanup for the CU's delayed
physname list, compute the delayed physnames, and free the
the list.
(dwarf2_add_member_fn): For C++ and Java, delay the computation
of the physname until after the CU is read.
* dwarf2read.c (read_structure_type): Check if the current
DIE's type was already completed after dwarf2_full_name
was called.
|
|
* gdb.dwarf2/pr11465.exp: New test.
* gdb.dwarf2/pr11465.S: New file.
* gdb.dwarf2/dw2-double-set-die-type.S: New file.
* gdb.dwarf2/dw2-double-set-die-type.exp: New test.
|
|
|
|
|
|
|
|
registers. Update data sets with the new v2_double element in the
VSX register union. Add vector_register3_vr data set for the AltiVec
registers. Use gdb_test_no_output instead of send_gdb.
|
|
python.exp.
* gdb.python/py-shared.c: New file.
* gdb.python/py-shared-sl.c: New file.
* gdb.python/python-1.c: New file.
* gdb.python/python-sl.c: Delete.
* gdb.python/python.c: Mention python-1.c.
* gdb.python/python.exp: Move shared library tests to
py-shared.exp.
* gdb.python/Makefile.in (EXECUTABLES): Add py-shared and python.
(MISCELLANEOUS): New.
(clean mostlyclean): Also remove $MISCELLANEOUS.
|
|
* parser-defs.h (parse_float, parse_c_float): Declare.
* parse.c (parse_float, parse_c_float): New function.
* c-exp.y (parse_number): Call parse_c_float.
* objc-exp.y (parse_number): Ditto.
* p-exp.y (parse_number): Ditto. Use ANSI/ISO-style definition.
* jv-exp.y (parse_number): Call parse_float, fix suffix handling.
testsuite/
* gdb.base/printcmds.exp (test_float_accepted): New function.
Move existing float tests there. Add tests for floats with suffixes.
(test_float_rejected): New function.
* gdb.java/jv-print.exp (test_float_accepted): New function.
(test_float_rejected): New function.
* gdb.objc/print.exp: New file.
* gdb.pascal/print.exp: New file.
* lib/objc.exp: New file.
|
|
See http://sourceware.org/ml/gdb/2010-07/msg00118.html for
a description of the problem. Namely, the file and fullname
fields are inverted in the output of the -file-list-exec-source-files
GDB/MI command:
(gdb) interpreter-exec mi -file-list-exec-source-files
^done,files=[{file="/takamaka.a/brobecke/ex/list-exec-source-files/foo.c",fullname="foo.c"},{file="/takamaka.a/brobecke/ex/list-exec-source-files/foo.c",fullname="foo.c"},{file="",fullname="init.c"},{file="",fullname="../sysdeps/x86_64/elf/start.S"},{file="",fullname="../sysdeps/x86_64/elf/start.S"}]
It turns out to be a silly thinko: The map_symbol_filenames function
calls the psymtab version of map_symbol_filenames routine, and this
version called the callback function with filename and fullname
in the wrong order (fullname/filename instead of filename/fullname).
The routine description in symfile.h confirst that expected order for
the FUN callback parameters:
/* Call a callback for every file defined in OBJFILE. FUN is the
callback. It is passed the file's name, the file's full name,
and the DATA passed to this function. */
void (*map_symbol_filenames) (struct objfile *objfile,
void (*fun) (const char *, const char *,
void *),
void *data);
Fixing this error uncovered another location where the arguments
were reversed: maybe_add_partial_symtab_filename. Once the first
error was fixed, the debugger would crash while attempting to do
completion, because it was given a NULL fullname instead of the
non-NULL filename.
gdb/ChangeLog:
* psymtab.c (map_symbol_filenames_psymtab): Call FUN with
the arguments in the correct order.
* symtab.c (maybe_add_partial_symtab_filename): Declare
the arguments in the correct order.
|
|
* varobj.c (varobj_create): Replace variable old_fi with old_id,
initialize it by null_frame_id, wrap its usage by get_frame_id,
frame_id_p and frame_find_by_id.
|
|
reading up to final gdb prompt.
(show): Likewise.
|
|
|
|
* configure: Rebuild.
* configure.ac: Add install-python to CONFIG_INSTALL.
* Makefile.in (install-python): New.
|
|
(gdb_assert_fail): Fix typo in comment.
* avr-tdep.c (avr_return_value): Use gdb_assert_not_reached instead of
gdb_assert (0).
* darwin-nat.c (darwin_check_new_threads): Ditto.
* dwarf2read.c (dwarf2_get_section_info): Ditto.
(munmap_section_buffer): Ditto.
* m32c-tdep.c (make_types): Ditto.
(m32c_decode_srcdest4, m32c_decode_sd23, m32c_frame_base): Ditto.
* macroexp.c (get_character_constant): Ditto.
(get_string_literal): Ditto.
* mep-tdep.c (mep_pseudo_cr_size): Ditto.
(mep_pseudo_cr_index, mep_register_type): Ditto.
(mep_pseudo_register_read, mep_pseudo_register_write): Ditto.
(mep_get_insn, mep_analyze_prologue): Ditto.
* objfiles.c (qsort_cmp): Ditto.
* prologue-value.c (pv_is_identical): Ditto.
* record.c (record_get_loc): Ditto.
* value.c (value_static_field): Ditto.
* xtensa-tdep.c (call0_track_op): Ditto.
|
|
PR symtab/11919:
* gdbtypes.c (lookup_struct_elt_type): Clean up error emission.
* parse.c (parse_field_expression): Use RETURN_MASK_ERROR. Move
name-copying lower. Document exception behavior.
* completer.c (expression_completer): Catch exceptions from
parse_field_expression.
gdb/testsuite
PR symtab/11919:
* gdb.base/completion.exp: Add test.
|
|
|
|
* gdb.base/callfuncs.exp (set_lang_c): Delete, set c language directly.
* gdb.base/printcmds.exp (set_lang_c): Delete, set c language directly.
Simplify, early exit if runto_main fails.
* gdb.fortran/exprs.exp: load_lib fortran.exp.
(set_lang_fortran): Moved to lib/fortran.exp.
* gdb.fortran/types.exp: load_lib fortran.exp.
(set_lang_fortran): Moved to lib/fortran.exp.
* gdb.java/jmisc.exp (set_lang_java): Moved to lib/java.exp.
* gdb.java/jprint.exp (set_lang_java): Ditto.
* gdb.java/jv-exp.exp: load_lib java.exp.
If set_lang_java fails, issue a warning instead of failure to be
consistent with other set_lang_foo uses.
(set_lang_java): Moved to lib/java.exp.
* gdb.java/jv-print.exp (set_lang_java): Moved to lib/java.exp.
If set_lang_java fails, issue a warning instead of failure to be
consistent with other set_lang_foo uses.
* gdb.pascal/types.exp: load_lib pascal.exp.
(set_lang_pascal): Moved to lib/pascal.exp.
* lib/fortran.exp: New file.
* lib/java.exp (set_lang_java): New function.
* lib/pascal.exp (set_lang_pascal): New function.
|
|
* linux-thread-db.c (add_thread_db_info): Skip glibc/BZ5983
workaround on core files.
(try_thread_db_load_1): Don't try enabling thread event reporting
on core files.
(thread_db_load): Allow thread_db on core files.
(attach_thread): Don't check thread signals on core files, nor try
really attaching to the thread, nor enabling thread event event
reporting.
(thread_db_detach): Don't try disabing thread event reporting or
removing thread event breakpoints when debugging a core file.
(find_new_threads_callback): Don't try enabling thread event
reporting on core files.
(thread_db_find_new_threads_2): Don't look for a stopped lwp when
debugging a core file.
(thread_db_find_new_threads): Don't update thread
cores (processors) when debugging a core (dump).
|
|
PR corefile/8210
bfd/
* bfd-in2.h: Regenerate.
* corefile.c (bfd_core_file_pid): New.
* targets.c (BFD_JUMP_TABLE_CORE): Add NAME##_core_file_pid.
(struct bfd_target) <_core_file_pid>: New.
* libbfd-in.h (_bfd_nocore_core_file_pid): Declare.
* libbfd.c (_bfd_nocore_core_file_pid): New.
* elf-bfd.h (bfd_elf32_core_file_pid, bfd_elf64_core_file_pid):
Declare.
* elfcode.h (elf_core_file_pid): New define.
* elfcore.h (elf_core_file_pid): New function.
* elf.c (elfcore_make_pid): Rewrite.
(elfcore_grok_prstatus): Only set core_pid if not set yet.
(elfcore_grok_prstatus) [!HAVE_PRSTATUS_T_PR_WHO]: Fallback to
getting the lwpid from prstat.pr_pid.
* elf64-x86-64.c (elf64_x86_64_grok_prstatus): Write the LWPID to
elf_tdata's core_lwpid instead of to core_pid.
(elf64_x86_64_grok_psinfo): Extract the the main process's PID,
and store it in elf_tdata's core_pid field.
* elf32-i386.c (elf_i386_grok_prstatus): Write the LWPID to
elf_tdata's core_lwpid instead of to core_pid.
(elf_i386_grok_psinfo): Extract the the main process's PID, and
store it in elf_tdata's core_pid field.
* elf32-am33lin.c (elf32_am33lin_grok_prstatus): Write the LWPID
to elf_tdata's core_lwpid instead of to core_pid.
* elf32-arm.c (elf32_arm_nabi_grok_prstatus): Write the LWPID to
elf_tdata's core_lwpid instead of to core_pid.
* elf32-cris.c (cris_elf_grok_prstatus): Write the LWPID to
elf_tdata's core_lwpid instead of to core_pid.
* elf32-frv.c (elf32_frv_grok_prstatus): Write the LWPID to
elf_tdata's core_lwpid instead of to core_pid.
* elf32-hppa.c (elf32_hppa_grok_prstatus): Write the LWPID to
elf_tdata's core_lwpid instead of to core_pid.
* elf32-mips.c (elf32_mips_grok_prstatus): Write the LWPID to
elf_tdata's core_lwpid instead of to core_pid.
* elf32-ppc.c (ppc_elf_grok_prstatus): Write the LWPID to
elf_tdata's core_lwpid instead of to core_pid.
* elf32-s390.c (elf_s390_grok_prstatus): Write the LWPID to
elf_tdata's core_lwpid instead of to core_pid.
* elf32-score.c (s3_bfd_score_elf_grok_prstatus): Write the LWPID
to elf_tdata's core_lwpid instead of to core_pid.
* elf32-score7.c (s7_bfd_score_elf_grok_prstatus): Write the LWPID
to elf_tdata's core_lwpid instead of to core_pid.
* elf32-sh.c (elf32_shlin_grok_prstatus): Write the LWPID to
elf_tdata's core_lwpid instead of to core_pid.
* elf32-xtensa.c (elf_xtensa_grok_prstatus): Write the LWPID to
elf_tdata's core_lwpid instead of to core_pid.
* elf64-hppa.c (elf64_hppa_grok_prstatus): Write the LWPID to
elf_tdata's core_lwpid instead of to core_pid.
* elf64-mips.c (elf64_mips_grok_prstatus): Write the LWPID to
elf_tdata's core_lwpid instead of to core_pid.
* elf64-ppc.c (ppc64_elf_grok_prstatus): Write the LWPID to
elf_tdata's core_lwpid instead of to core_pid.
* elfn32-mips.c (elf32_mips_grok_prstatus): Write the LWPID to
elf_tdata's core_lwpid instead of to core_pid.
* plugin.c (bfd_plugin_core_file_pid): New function.
* aout-target.h (MY_core_file_pid): Define.
* aout-tic30.c (MY_core_file_pid, MY_core_file_p): New defines.
* coff-rs6000.c (coff_core_file_pid): New define.
(rs6000coff_vec, pmac_xcoff_vec): Use BFD_JUMP_TABLE_CORE.
* coff64-rs6000.c (coff_core_file_pid): New define.
(rs6000coff64_vec): Use BFD_JUMP_TABLE_CORE.
(xcoff64_core_file_pid): New define.
(aix5coff64_vec): Use BFD_JUMP_TABLE_CORE.
* mach-o-target.c (bfd_mach_o_core_file_pid): New define.
* aix386-core.c (aix386_core_file_pid): New define.
* hppabsd-core.c (hppabsd_core_core_file_pid): New define.
* hpux-core.c (hpux_core_core_file_pid): New define.
* irix-core.c (irix_core_core_file_pid): New define.
* lynx-core.c (lynx_core_file_pid): New define.
* osf-core.c (osf_core_core_file_pid): New define.
* ptrace-core.c (ptrace_unix_core_file_pid): New define.
* sco5-core.c (sco5_core_file_pid): New define.
* xcoff-target.h (coff_core_file_pid): New define.
* netbsd-core.c (netbsd_core_core_file_pid): New define.
gdb/
2010-08-18 Pedro Alves <pedro@codesourcery.com>
PR corefile/8210
gdb/
* corelow.c (add_to_thread_list): Don't use
gdbarch_core_reg_section_encodes_pid. Use bfd_core_file_pid.
(get_core_register_section): Don't use
gdbarch_core_reg_section_encodes_pid.
* gdbarch.sh (core_reg_section_encodes_pid): Delete.
* gdbarch.h, gdbarch.c: Regenerate.
* amd64-sol2-tdep.c (amd64_sol2_init_abi): Don't set
gdbarch_core_reg_section_encodes_pid.
* i386-sol2-tdep.c (i386_sol2_init_abi): Ditto.
* sparc-sol2-tdep.c (sparc32_sol2_init_abi): Ditto.
* sparc64-sol2-tdep.c (sparc64_sol2_init_abi): Ditto.
|
|
http://sourceware.org/ml/gdb-cvs/2010-08/msg00098.html
|
|
revert it back, and re-apply the correct patch again.
2010-08-18 Yao Qi <yao@codesourcery.com
* gdb.dwarf2/dw2-ref-missing-frame-func.c: Add .p2align 4 for labels
func_nofb_start and func_loopfb_start, so that address of functions
is equal to these labels on Thumb.
|
|
|
|
* gdb.dwarf2/dw2-ref-missing-frame-func.c: Add .p2align 4 for labels
func_nofb_start and func_loopfb_start, so that address of functions
is equal to these labels on Thumb.
|
|
* gdb.gdb/selftest.exp (do_steps_and_nexts): Update test case
to reflect latest c source file.
|
|
* MAINTAINERS : Add myself under Write After Approval.
|
|
|
|
|
|
* gdb.cp/infcall-dlopen.exp: New file.
* gdb.cp/infcall-dlopen.cc: New file.
* gdb.cp/infcall-dlopen-lib.cc: New file.
|
|
sane.
|
|
2010-08-17 Pedro Alves <pedro@codesourcery.com>
PR breakpoints/11371
* breakpoint.c (breakpoint_init_inferior): Decrement the
location's reference count instead of deleting right away.
(bpstat_free): Decrement the location's reference count. Make
static.
(bpstat_copy): Increment the location's reference count.
(bpstat_find_breakpoint): Adjust.
(bpstat_num): Adjust.
(print_it_typical): Adjust. Use the breakpoint pointer in the
bpstat instead of the location's owner.
(bpstat_alloc): Remove const qualifier from the 'bl' parameter.
Adjust to record the location's owner in the bpstat.
(watchpoint_check): Use the breakpoint pointer in the bpstat
instead of the location's owner.
(bpstat_check_breakpoint_conditions): Don't handle
bp_watchpoint_scope here. Use the breakpoint pointer in the
bpstat instead of the location's owner.
(bpstat_stop_status): Defer inferior function calls to after
building the bpstat list. Handle bp_watchpoint_scope here. Use
the breakpoint pointer in the bpstat instead of the location's
owner.
(bpstat_what): Use the breakpoint pointer in the bpstat instead of
the location's owner.
(free_bp_location): Don't walk bpstats clearing locations.
(incref_bp_location): New.
(decref_bp_location): New.
(breakpoint_auto_delete): Use the breakpoint pointer in the bpstat
instead of the location's owner.
(update_global_location_list): Clear the location's owner, and
decrement the location's reference count instead of deleting it
right away.
(breakpoint_retire_moribund): Decrement the location's reference
count instead of deleting it right away.
(bpstat_remove_bp_location): Delete.
(bpstat_remove_breakpoint): New.
(bpstat_remove_bp_location_callback): Delete.
(bpstat_remove_breakpoint_callback): New.
(delete_breakpoint): Iterate over all threads' stop_bpstat's
clearing references to the breakpoint that is being deleted.
* breakpoint.h (struct bp_location) <refc>: New field.
<owner>: Update comments.
(bpstat_free): Delete declaration.
(struct bpstats): Change the type of the breakpoint_at field to
struct breakpoint point, from struct bp_location pointer. Add new
field bp_location_at.
gdb/testsuite/
2010-08-17 Jan Kratochvil <jan.kratochvil@redhat.com>
Pedro Alves <pedro@codesourcery.com>
PR breakpoints/11371
* gdb.base/watch-cond-infcall.exp: New file.
* gdb.base/watch-cond-infcall.c: New file.
|