aboutsummaryrefslogtreecommitdiff
path: root/gdb
AgeCommit message (Collapse)AuthorFilesLines
2010-12-14build failure on IRIX when building with Python support.Joel Brobecker4-5/+44
This is a nasty interaction between Python and GDB. Basically, Python causes some macros to be unilaterally defined in order to turns some features on: /* Define to activate features from IEEE Stds 1003.1-2001 */ #define _POSIX_C_SOURCE 200112L /* Define to the level of X/Open that your system supports */ #define _XOPEN_SOURCE 600 But the problem is that they turn off defines provided by some system headers on which we depend. Namely: * sys/siginfo.h: #if _SGIAPI #define siginfo __siginfo #endif * sys/ucontext.h: #if _SGIAPI && !defined(__SGI_NOUCONTEXT_COMPAT) [...] #define fp_r __fp_r [...] #define fp_csr __fp_csr [...] #endif The important macro here is _SGIAPI, defined as follow in standards.h: #define _SGIAPI ((defined(_SGI_SOURCE) && \ _NO_POSIX && _NO_XOPEN4 && _NO_XOPEN5) || \ (_ANSIMODE && _NO_POSIX && _NO_XOPEN4 && _NO_XOPEN5)) If one builds GDB without Python, then _SGIAPI is true, and all is fine. But building with Python causes both _POSIX_C_SOURCE and _XOPEN_SOURCE to trip all the _NO_[...] tests (_NO_POSIX, _NO_XOPEN4, _NO_XOPEN5). And so we get build failures because we try to use undefined types, or non-existent component names inside the regset structure. The latter problem is observed only within irix5-nat.c, which means that it is specific to IRIX. So it's easy to write the code in a way that it does not require the macros (just use the real component names, rather than relying on the macros to do the translation). The former, on the other hand, is a little trickier, because the problem occurs inside a generic unit (procfs.c). The solution I chose was to adjust the configure script to add -Dsiginfo=__siginfo to the CPPFLAGS if building with python using GCC on IRIX. We hadn't seen this sort of issue up to now because the affect units have not been dependent on the python includes up to now. Recent changes have made them indirectly dependent on Python, thus triggering the issues. gdb/ChangeLog: * irix5-nat.c: Replace fp_r, fp_regs and fp_scr by __fp_r, __fp_regs and __fp_scr respectively throughout. * configure.ac: Compile with -Dsiginfo=__siginfo if building with Python using GCC on IRIX. * configure: Regenerate.
2010-12-14*** empty log message ***gdbadmin1-1/+1
2010-12-13 * solib-svr4.c (enable_break): Don't attempt to place breakpoints,Kevin Buettner2-9/+18
when attaching, on the names in bkpt_names: _start, __start, and main.
2010-12-132010-12-12 Stan Shebs <stan@codesourcery.com>Stan Shebs4-7/+90
* value.c (value_of_internalvar): Add case for trace state variables. * gdb.trace/tsv.exp: Test print command on trace state variables.
2010-12-13*** empty log message ***gdbadmin1-1/+1
2010-12-12 * dwarf2read.c (dwarf2_per_objfile): New member quick_file_names_table.Doug Evans2-124/+240
(dwarf2_per_cu_quick_data): Move definition down to "quick functions" section. Delete members lines full_names. Rename read_lines to no_file_data. (quick_file_names): New struct. (hash_file_name_entry, eq_file_name_entry): New functions. (delete_file_name_entry, create_quick_file_names_table): New functions. (dwarf2_read_index): Initialize quick_file_names_table. (dw2_get_file_names): Renamed from dw2_require_line_header. Return pointer to quick_file_names entry. All callers updated. (dw2_get_real_path): Renamed from dw2_require_full_path. Replace per_cu arg with pointer to quick_file_names entry. All callers updated. (dw2_free_cached_file_names): New function. (dw2_forget_cached_source_info): Call it (via htab_traverse_noresize). (dwarf2_initialize_objfile): Initialize quick_file_names_table in the OBJF_READNOW case. (dwarf2_free_objfile): Rewrite freeing of quick file names tables.
2010-12-12Fix mail addres in ChangeLog.Mark Kettenis1-1/+1
2010-12-12* mips64obsd-tdep.c (floatformats_mips64_quad): New define.Mark Kettenis2-0/+13
(mips64obsd_init_abi): Set long_double_bit and long_double_format.
2010-12-12* sparc-tdep.c: Fix typo in comment.Mark Kettenis2-1/+5
2010-12-12*** empty log message ***gdbadmin1-1/+1
2010-12-11*** empty log message ***gdbadmin1-1/+1
2010-12-10 * dwarf2read.c: Whitespace cleanup, plus comment additions.Doug Evans2-8/+29
No code changes.
2010-12-10 * NEWS: Document exception-handling change.Tom Tromey2-0/+11
2010-12-10*** empty log message ***gdbadmin1-1/+1
2010-12-09 * mi/mi-parse.c (mi_parse): Wrong error message.Marc Khouzam2-3/+9
2010-12-09 * symfile.h (quick_symbol_functions): Clarify usage ofDoug Evans2-3/+8
map_symbol_filenames.
2010-12-09gdbTom Tromey6-39/+82
* mi/mi-parse.h (mi_parse): Update. * mi/mi-parse.c (mi_parse_cleanup): New function. (mi_parse): Add 'token' argument. Throw exception on error. * mi/mi-main.c (mi_print_exception): New function. (mi_execute_command): Use mi_print_exception. Catch exceptions from mi_parse. gdb/testsuite * gdb.base/interp.exp: Add regression test.
2010-12-09gdbTom Tromey13-27/+867
PR c++/9593: * thread.c (clear_thread_inferior_resources): Call delete_longjmp_breakpoint. * infrun.c (handle_inferior_event): Handle exception breakpoints. (handle_inferior_event): Likewise. (insert_exception_resume_breakpoint): New function. (check_exception_resume): Likewise. * inferior.h (delete_longjmp_breakpoint_cleanup): Declare. * infcmd.c (delete_longjmp_breakpoint_cleanup): No longer static. (step_1): Set thread's initiating frame. (until_next_continuation): New function. (until_next_command): Support exception breakpoints. (finish_command_continuation): Delete longjmp breakpoint. (finish_forward): Support exception breakpoints. * gdbthread.h (struct thread_info) <initiating_frame>: New field. * breakpoint.h (enum bptype) <bp_exception, bp_exception_resume, bp_exception_master>: New constants. (struct bpstat_what) <is_longjmp>: New field. (set_longjmp_breakpoint): Update. * breakpoint.c (create_exception_master_breakpoint): New function. (update_breakpoints_after_exec): Handle bp_exception_master. Call create_exception_master_breakpoint. (print_it_typical): Handle bp_exception_master, bp_exception. (bpstat_stop_status): Handle bp_exception_master. (bpstat_what): Handle bp_exception_master, bp_exception, bp_exception_resume. (bptype_string): Likewise. (print_one_breakpoint_location): Likewise. (allocate_bp_location): Likewise. (set_longjmp_breakpoint): Handle exception breakpoints. Change interface. (delete_longjmp_breakpoint): Handle exception breakpoints. (mention): Likewise. (struct until_break_command_continuation_args) <thread_num>: New field. (until_break_command_continuation): Call delete_longjmp_breakpoint. (until_break_command): Support exception breakpoints. (delete_command): Likewise. (breakpoint_re_set_one): Likewise. (breakpoint_re_set): Likewise. gdb/testuite * gdb.java/jnpe.java: New file. * gdb.java/jnpe.exp: New file. * gdb.cp/nextoverthrow.exp: New file. * gdb.cp/nextoverthrow.cc: New file.
2010-12-09*** empty log message ***gdbadmin1-1/+1
2010-12-08 * gdbtypes.h (TYPE_IS_OPAQUE): Reformat.Doug Evans2-6/+9
2010-12-08 * gdbtypes.c (check_typedef): Tweak comment.Doug Evans2-1/+3
2010-12-08 PR symtab/12302Doug Evans2-19/+154
* dwarf2read.c (struct psymtab_cu_index_map): New struct. (hash_psymtab_cu_index, eq_psymtab_cu_index): New functions. (struct addrmap_index_data): New struct. (add_address_entry): Remove arg `pst', new args `start', `end'. (add_address_entry_worker, write_address_map): New functions. (write_psymtabs_to_index): Address table generation moved to write_address_map. Build a table mapping psymtab to CU index to pass to it.
2010-12-08 * dwarf2read.c (write_psymtabs_to_index): When stat fails, pass fileDoug Evans2-1/+4
name to perror.
2010-12-08 * symfile.h (quick_symbol_functions): Clarify usage ofDoug Evans3-3/+16
expand_symtabs_with_filename. * dwarf2read.c (dw2_expand_symtabs_with_filename): Only iterate over comp units, ignore type units.
2010-12-08 * dwarf2read.c (dw2_expand_symtabs_with_filename): Use FILENAME_CMP.Doug Evans2-1/+5
2010-12-08*** empty log message ***gdbadmin1-1/+1
2010-12-07 * dwarf2read.c (dw2_lookup_symtab): Remove duplicate call toDoug Evans2-9/+7
gdb_realpath.
2010-12-07 PR python/12227Doug Evans11-27/+42
* NEWS: Mention -data-directory. * main.c (captured_main): Recognize -data-directory. doc/ * gdb.texinfo (Mode Options): Document -data-directory. (Data Files): Add reference to -data-directory. testsuite/ * gdb.base/catch-syscall.exp (do_syscall_tests): Remove setting of data-directory. * lib/gdb-python.exp (gdb_check_python_config): Delete, all callers updated. * lib/gdb.exp (INTERNAL_GDBFLAGS): Add -data-directory.
2010-12-07*** empty log message ***gdbadmin1-1/+1
2010-12-062010-12-06 Marc Khouzam <marc.khouzam@ericsson.com>Marc Khouzam2-1/+5
* mi/mi-parse.c (mi_parse): Missing else.
2010-12-06*** empty log message ***gdbadmin1-1/+1
2010-12-05*** empty log message ***gdbadmin1-1/+1
2010-12-04 * configure.tgt: Accept microblaze*-*-linux* for linux targetMasaki Muranaka2-2/+7
and microblaze*-*-* for as target.
2010-12-04*** empty log message ***gdbadmin1-1/+1
2010-12-03*** empty log message ***gdbadmin1-1/+1
2010-12-022010-11-29 Michael Snyder <msnyder@msnyder-server.eng.vmware.com>Michael Snyder6-24/+45
* gdb.base/callfuncs.exp: Test for skip_float_tests. * gdb.base/call-sc.exp: Ditto. * gdb.base/finish.exp: Ditto. * gdb.base/return.exp: Ditto. * gdb.base/return2.exp: Ditto.
2010-12-02 * linespec.c (find_method): Move name canonicalization outsideKeith Seitz2-11/+18
the loop. Be paranoid and use a cleanup.
2010-12-02*** empty log message ***gdbadmin1-1/+1
2010-12-01 * dwarf2read.c (save_gdb_index_command): Add comment.Doug Evans2-0/+5
2010-12-01 * valops.c (value_assign): Returned value is never lazy. If aUlrich Weigand3-9/+32
C++ class type is returned, fix incorrect enclosing type / embedded offset. If internal variable is returned, allocate new internalvar value using value_of_internalvar. * NEWS: Document changes in behavior of "print x = 0" and similar expressions.
2010-12-01*** empty log message ***gdbadmin1-1/+1
2010-11-30 * lib/gdb.exp (gdb_test_sequence): Return result of gdb_expect_list.Doug Evans11-279/+256
(gdb_expect_list): Fix spelling errors in comments. * gdb.arch/system-gcore.exp: Use gdb_test_sequence instead of send_gdb/gdb_expect_list where applicable. * gdb.base/call-ar-st.exp: Ditto. * gdb.base/funcargs.exp: Ditto. * gdb.base/gcore.exp: Ditto. * gdb.base/page.exp: Ditto. * gdb.base/sigaltstack.exp: Ditto. * gdb.base/siginfo.exp: Ditto. * gdb.base/sigstep.exp: Ditto. * gdb.base/trace-commands.exp: Ditto.
2010-11-30*** empty log message ***gdbadmin1-1/+1
2010-11-29 * python/lib/gdb/printing.py (register_pretty_printer): ChangeDoug Evans7-17/+41
printer-name:subprinter-name to printer-name;subprinter-name. * python/lib/gdb/command/pretty_printers.py (parse_printer_regexps): Ditto. (InfoPrettyPrinter, EnablePrettyPrinter, DisablePrettyPrinter): Ditto. doc/ * gdb.texinfo (Pretty-Printer Introduction): Change printer-name:subprinter-name to printer-name;subprinter-name. testsuite/ * gdb.python/py-pp-maint.exp: Change printer-name:subprinter-name to printer-name;subprinter-name.
2010-11-29gdbTom Tromey20-50/+1583
* opencl-lang.c (lval_func_check_synthetic_pointer): New function. * value.h (struct lval_funcs) <indirect, check_synthetic_pointer>: New fields. (value_bits_synthetic_pointer): Declare. * value.c (value_bits_synthetic_pointer): New function. * valprint.c (valprint_check_validity): Handle synthetic pointers. * valops.c (value_ind): Use new 'indirect' lval_funcs method. * valarith.c (value_ptradd): Use set_value_component_location. * p-valprint.c (pascal_object_print_value_fields): Handle synthetic pointers. * jv-valprint.c (java_print_value_fields): Handle synthetic pointers. * dwarf2read.c (dwarf_stack_op_name): Add DW_OP_GNU_implicit_pointer. (dwarf2_fetch_die_location_block): Add get_frame_pc, baton arguments. Handle location lists. (fill_in_loclist_baton): New function. (dwarf2_symbol_mark_computed): Use it. * dwarf2loc.h (dwarf2_find_location_expression): Declare. (dwarf2_fetch_die_location_block): Add get_frame_pc, baton arguments. * dwarf2loc.c (dwarf2_find_location_expression): Rename from find_location_expression. No longer static. Update all callers. (dwarf_expr_frame_pc): New function. (per_cu_dwarf_call): Add get_frame_pc, baton arguments. Update all callers. (struct piece_closure) <per_cu>: New field. (allocate_piece_closure): Add per_cu argument. (read_pieced_value): Handle DWARF_VALUE_IMPLICIT_POINTER. (check_pieced_value_bits): Remove validity argument, add check_for argument. Handle DWARF_VALUE_IMPLICIT_POINTER. (check_pieced_value_validity, check_pieced_value_invalid): Update. (check_pieced_synthetic_pointer): New function. (get_frame_address_in_block_wrapper): New function. (indirect_pieced_value): New function. (pieced_value_funcs): Update. (invalid_synthetic_pointer): New function. (dwarf2_evaluate_loc_desc_full): Rename from dwarf2_evaluate_loc_desc. Add byte_offset argument. (dwarf2_evaluate_loc_desc): Rewrite. (dwarf2_loc_desc_needs_frame): Set new field on context. (get_ax_pc): New function. (disassemble_dwarf_expression): Handle DW_OP_GNU_implicit_pointer. * dwarf2expr.h (enum dwarf_value_location) <DWARF_VALUE_IMPLICIT_POINTER>: New constant. (struct dwarf_expr_context) <get_frame_pc>: New field. (struct dwarf_expr_piece) <v.ptr>: New field. * dwarf2expr.c (add_piece): Handle DWARF_VALUE_IMPLICIT_POINTER. (execute_stack_op): Handle DW_OP_GNU_implicit_pointer. * dwarf2-frame.c (no_get_frame_pc): New function. (execute_stack_op): Set new field on context. * cp-valprint.c (cp_print_value_fields): Handle synthetic pointers. gdb/testsuite * gdb.dwarf2/implptr.exp: New file. * gdb.dwarf2/implptr.c: New file. * gdb.dwarf2/implptr.S: New file.
2010-11-292010-11-29 Phil Muldoon <pmuldoon@redhat.com>Phil Muldoon6-0/+66
PR python/12199 * python/py-breakpoint.c (bppy_delete_breakpoint): New function. 2010-11-29 Phil Muldoon <pmuldoon@redhat.com> PR python/12199 * gdb.python/py-breakpoint.exp: Test the delete method. 2010-11-29 Phil Muldoon <pmuldoon@redhat.com> PR python/12199 * gdb.texinfo (Breakpoints In Python): Document "delete" method.
2010-11-29*** empty log message ***gdbadmin1-1/+1
2010-11-28gdb/Jan Kratochvil8-32/+163
Fix step_resume_breakpoint unsaved during an infcall. * gdbthread.h (struct thread_control_state): Move here field step_resume_breakpoint ... (struct thread_info): ... from here. * infrun.c (save_infcall_control_state): Reset control.step_resume_breakpoint to NULL. (restore_infcall_control_state, discard_infcall_control_state): Delete control.step_resume_breakpoint. * arm-linux-tdep.c, infrun.c, thread.c: Update all the references to the moved field. gdb/testsuite/ Fix step_resume_breakpoint unsaved during an infcall. * gdb.base/step-resume-infcall.exp: New file. * gdb.base/step-resume-infcall.c: New file.
2010-11-28gdb/Jan Kratochvil24-466/+552
Rename and move inferior_thread_state and inferior_status. * gdbthread.h (struct thread_control_state): New struct, move fields step_range_start, step_range_end, step_frame_id, step_stack_frame_id, trap_expected, proceed_to_finish, in_infcall, step_over_calls, stop_step and stop_bpstat here from struct thread_info. (struct thread_suspend_state): New struct, move field stop_signal here from struct thread_info. (struct thread_info): Move the fields above from this struct. * inferior.h: Move the inferior_thread_state and inferior_status declarations comment to their definitions at infrun.c. (struct inferior_control_state): New struct, move field stop_soon from struct inferior here. (struct inferior_suspend_state): New empty struct. (struct inferior): New fields control and suspend. Move out field stop_soon. * infrun.c (struct inferior_thread_state): Rename to ... (infcall_suspend_state): ... here. Replace field stop_signal by fields thread_suspend and inferior_suspend. (save_inferior_thread_state): Rename to ... (save_infcall_suspend_state): ... here. New variable inf. Update the code for new fields. (restore_inferior_thread_state): Rename to ... (restore_infcall_suspend_state): ... here. New variable inf. Update the code for new fields. (do_restore_inferior_thread_state_cleanup): Rename to ... (do_restore_infcall_suspend_state_cleanup): ... here. (make_cleanup_restore_inferior_thread_state): Rename to ... (make_cleanup_restore_infcall_suspend_state): ... here. (discard_inferior_thread_state): Rename to ... (discard_infcall_suspend_state): ... here. (get_inferior_thread_state_regcache): Rename to ... (get_infcall_suspend_state_regcache): ... here. (struct inferior_status): Rename to ... (struct infcall_control_state): ... here. Replace fields step_range_start, step_range_end, step_frame_id, step_stack_frame_id, trap_expected, proceed_to_finish, in_infcall, step_over_calls, stop_step, stop_bpstat and stop_soon by fields thread_control and inferior_control. (save_inferior_status): Rename to ... (save_infcall_control_state): ... here. Update the code for new fields. (restore_inferior_status): Rename to ... (restore_infcall_control_state): ... here. Update the code for new fields. (do_restore_inferior_status_cleanup): Rename to ... (do_restore_infcall_control_state_cleanup): ... here. (make_cleanup_restore_inferior_status): Rename to ... (make_cleanup_restore_infcall_control_state): ... here. (discard_inferior_status): Rename to ... (discard_infcall_control_state): ... here. * alpha-tdep.c, breakpoint.c, dummy-frame.c, dummy-frame.h, exceptions.c, fbsd-nat.c, gdbthread.h, infcall.c, infcmd.c, inferior.c, inferior.h, infrun.c, linux-nat.c, mi/mi-interp.c, mips-tdep.c, procfs.c, solib-irix.c, solib-osf.c, solib-spu.c, solib-sunos.c, solib-svr4.c, thread.c, windows-nat.c: Update all the references to the moved fields and renamed functions.
2010-11-28*** empty log message ***gdbadmin1-1/+1