* linespec.c (decode_line_1): Handle FILE:FUNCTION even if
FUNCTION contains parentheses. Improve removal of a trailing
single quote.
gdb/testsuite/
* gdb.base/list.exp (test_list_filename_and_function): Add test
with single quotes.
* gdb.cp/overload.cc (intToChar): Rewrite onto one line for easy
matching.
* gdb.cp/overload.exp: Add tests with filename, function, and quotes.
Add KFAIL'd tests for PR gdb/11289.
* mi-reverse.exp: New file. Test for reverse option to the
following MI commands: exec-continue, exec-finish, exec-next,
exec-step, exec-next-instruction, exec-step-instruction.
* valarith.c (value_ptrdiff): Added a test for a zero type length,
warn if found, and assume length = 1.
* gdb.cp/pr10728-x.h: New file.
* gdb.cp/pr10728-x.cc: New file.
* gdb.cp/pr10728-y.cc: New file.
* gdb.cp/pr10728.exp: New file.
* gdb.cp/Makefile.in (EXECUTABLES): Add pr10728
* cp-valprint.c (cp_print_value_fields) Fix use of obstacks.
cp_print_static_field) Fix use of obstacks.
* gdb.cp/pr9067.exp: New
* gdb.cp/pr9067.cc: New
* gdb.cp/Makefile.in (EXECUTABLES): Add pr9067
PR c++/7935:
* gdb.cp/namespace-using.exp: Removed kfail; bug has been fixed.
2010-02-05 Sami Wagiaalla <swagiaal@redhat.com>
PR c++/7935:
* cp-support.h: Added char* alias element to using_direct data
struct.
(cp_add_using): Added char* alias argument.
(cp_add_using_directive): Ditto.
* cp-namespace.c: Updated with the above changes.
(cp_lookup_symbol_imports): Check for aliases.
* dwarf2read.c (read_import_statement): Figure out local alias
for the import and pass it on to cp_add_using.
(read_namespace): Pass alias argument to cp_add_using.
* valops.c (search_struct_field): Account for
value_embedded_offset. Fix check for virtual base past the end of
the object. Use value_copy when making a slice of the value.
gdb/testsuite
* gdb.cp/virtbase.exp: Make test case names unique.
* solib-svr4.c (scan_dyntag): New variable dyn_addr. Replace gdb_assert
by a conditional setting DYN_ADDR. Use DYN_ADDR.
* config/djgpp/fnchange.lst: Add translations for
symbol-without-target_section.exp and symbol-without-target_section.c.
gdb/testsuite/
* gdb.base/symbol-without-target_section.exp,
gdb.base/symbol-without-target_section.c: New.
arm_pc_is_thumb.
(arm_pc_is_thumb): Use arm_find_mapping_symbol.
(extend_buffer_earlier): New function.
(MAX_IT_BLOCK_PREFIX, IT_SCAN_THRESHOLD): New constants.
(arm_adjust_breakpoint_address): New function.
(arm_gdbarch_init): Register arm_adjust_breakpoint_address.
testsuite/
* gdb.arch/thumb2-it.S (it_breakpoints): New function.
* gdb.arch/thumb2-it.exp (test_it_break): New function.
(Top level): Call it.
(arm_linux_thumb2_le_breakpoint): New constants.
(arm_linux_init_abi): Set thumb2_breakpoint and
thumb2_breakpoint_size.
* arm-tdep.c (thumb_insn_size, thumb_advance_itstate): New functions.
(thumb_get_next_pc): Add a comment. Rename IT to ITSTATE.
Implement support for single stepping through IT blocks if
a 32-bit Thumb breakpoint instruction is available.
(arm_breakpoint_from_pc): If a 32-bit Thumb breakpoint instruction
is available, use it when needed.
(arm_remote_breakpoint_from_pc): New function.
(arm_gdbarch_init): Register arm_remote_breakpoint_from_pc.
* arm-tdep.h (struct gdbarch_tdep): Correct thumb_breakpoint
comment. Add thumb2_breakpoint and thumb2_breakpoint_size.
gdbserver/
* linux-arm-low.c (thumb_breakpoint_len): Delete.
(thumb2_breakpoint): New.
(arm_breakpoint_at): Check for Thumb-2 breakpoints.
testsuite/
* gdb.arch/thumb2-it.S, gdb.arch/thumb2-it.exp: New files.
gdb/ChangeLog:
From Paul Hilfinger <hilfinger@adacore.com>
* amd64-tdep.c (amd_classify_aggregate): Handle the case of
a record of length <= 16 in which a field straddles the two
eightbytes.
gdb/testsuite/ChangeLog:
* gdb.ada/rec_return: New testcase.
gdb/ChangeLog:
* i386-tdep.h (enum amd64_reg_class): New, moved here from
amd64-tdep.c.
(struct gdbarch_tdep): Add fields call_dummy_num_integer_regs,
call_dummy_integer_regs, and classify.
* amd64-tdep.h (amd64_classify): Add declaration.
* amd64-tdep.c (amd64_dummy_call_integer_regs): New static constant.
(amd64_reg_class): Delete, moved to i386-tdep.h.
(amd64_classify): Make non-static. Move declaration to amd64-tdep.h.
Replace call to amd64_classify by call to tdep->classify.
(amd64_push_arguments): Get the list of registers to use for
passing integer parameters from the gdbarch tdep structure,
rather than using a hardcoded one. Replace calls to amd64_classify
by calls to tdep->classify.
(amd64_push_dummy_call): Get the register number used for
the "hidden" argument from tdep->call_dummy_integer_regs.
(amd64_init_abi): Initialize tdep->call_dummy_num_integer_regs
and tdep->call_dummy_integer_regs. Set tdep->classify.
* amd64-windows-tdep.c: Add include of gdbtypes.h.
(amd64_windows_dummy_call_integer_regs): New static global.
(amd64_windows_classify): New function.
(amd64_windows_init_abi): Initialize tdep->call_dummy_num_integer_regs
tdep->call_dummy_integer_regs and tdep->classify.
gdb/testsuite/ChangeLog:
* gdb.ada/call_pn: New testcase.
* gdb.cp/nsrecurs.exp: New test.
* gdb.cp/nsrecurs.cc: New test program.
* gdb.cp/nsstress.exp: New test.
* gdb.cp/nsstress.cc: New test program.
* gdb.cp/nsdecl.exp: New test.
* gdb.cp/nsdecl.cc: New test program.
2010-01-26 Sami Wagiaalla <swagiaal@redhat.com>
* cp-namespace.c (cp_lookup_symbol_namespace): Added
search_parent argument.
(cp_add_using): Initialize 'searched' field.
(reset_directive_searched): New function.
* cp-support.h: Add 'searched' field to using_direct struct.
(cp_lookup_symbol_imports): Ditto.
* cp-namespace.c (cp_lookup_symbol_imports): Ditto.
Perform recursive search.
Implement non parent search.
* valops.c (value_maybe_namespace_elt): Updated.
* gdb.cp/namespace-using.exp: Add test for printing of namespaces
imported into file scope.
Marked test as xfail.
* gdb.cp/namespace-using.cc (marker5): New function.
* gdb.cp/shadow.exp: New test.
* gdb.cp/shadow.cc: New test program.
* gdb.cp/nsimport.exp: New test.
* gdb.cp/nsimport.cc: New test program.
2010-01-26 Sami Wagiaalla <swagiaal@redhat.com>
PR gdb/10929:
* dwarf2read.c (read_lexical_block_scope): Create blocks for
scopes which contain using directives even if they contain no
declarations.
* symtab.c (lookup_symbol_aux): Pass lowest level block to
la_lookup_symbol_nonlocal.
* cp-namespace.c (cp_lookup_symbol_nonlocal): call
cp_lookup_symbol_namespace.
(cp_lookup_symbol_namespace): Perform an import lookup at every
block level.
(cp_lookup_symbol_imports): New function.
(cp_lookup_symbol_in_namespace): New function.
* gdb.threads/watchthreads-reorder.c (gdbstop_mutex): Remove.
(thread1_func): Protect thread1_tid with thread1_tid_cond by
thread1_tid_mutex. Remove gdbstop_mutex handling.
(thread2_func): Protect thread2_tid with thread2_tid_cond by
thread2_tid_mutex. Remove gdbstop_mutex handling.
(main): Move thread1_tid_mutex and thread2_tid_mutex locks before
pthread_create. Remove gdbstop_mutex handling. New comment. Replace
pthread_cond_wait conditionalizations by while loops.
PR backtrace/10770:
* valarith.c (value_binop): Handle BINOP_GTR, BINOP_LEQ, and
BINOP_GEQ. Handle BINOP_NOTEQUAL in the signed case.
* dwarf2expr.c (new_dwarf_expr_context): Allocate
dwarf_stack_values, not CORE_ADDRs.
(execute_stack_op): Change DW_OP_div and comparison operators to
use signed operands.
gdb/testsuite
PR backtrace/10770:
* gdb.dwarf2/pr10770.exp: New file.
* gdb.dwarf2/pr10770.c: New file.
* gdb.dwarf2/Makefile.in (EXECUTABLES): Add pr10770.
PR c++/8000:
* dwarf2read.c (partial_die_parent_scope): Put enumeration type
into parent scope, and enumerator into grandparent scope.
gdb/testsuite
PR c++/8000:
* gdb.cp/namespace.exp: Use new enum. Fix line numbers in
existing tests.
* gdb.cp/namespace.cc (AAA::SomeEnum): New enum.
(main): Use AAA::SomeEnum.
* gdb.mi/mi-break.exp (set line_callme_head, set line_callme_body): New.
(test_ignore_count): Declare line_callme_body global.
(run to breakpoint with ignore count): Use line_callme_body.
* gdb.mi/mi-cli.exp (set line_main_head, set line_main_body)
(set line_main_hello, set line_main_return): Reindent.
(set line_callee4_head, set line_callee4_body, set line_callee4_next):
New.
(continue to callee4): Use line_callee4_body.
(check *stopped from CLI command): Use line_callee4_next.
* gdb.mi/mi2-cli.exp (set line_main_head, set line_main_body)
(set line_main_hello, set line_main_return): Reindent.
(set line_callee4_head, set line_callee4_body): New.
(continue to callee4): Use line_callee4_body.
* tracepoint.h (enum trace_stop_reason): New enum.
(struct trace_status): New struct.
(parse_trace_status): Declare.
(struct uploaded_tp): Move here from remote.c,
add fields for actions.
(struct uploaded_tsv): New struct.
* tracepoint.c (tfile_ops): New target vector.
(trace_fd): New global.
(tfile_open): New function.
(tfile_close): New function.
(tfile_files_info): New function.
(tfile_get_trace_status): New function.
(tfile_get_traceframe_address): New function.
(tfile_trace_find): New function.
(tfile_fetch_registers): New function.
(tfile_xfer_partial): New function.
(tfile_get_trace_state_variable_value): New function.
(init_tfile_ops): New function.
(_initialize_tracepoint): Call it, add tfile target.
(trace_status): New global.
(current_trace_status): New function.
(trace_running_p): Remove, change all users to get from
current_trace_status()->running.
(get_trace_status): Remove.
(trace_status_command): Call target_get_trace_status directly,
report more detail including tracing stop reasons.
(trace_find_command): Always allow tfind on a file.
(trace_find_pc_command): Ditto.
(trace_find_tracepoint_command): Ditto.
(trace_find_line_command): Ditto.
(trace_find_range_command): Ditto.
(trace_find_outside_command): Ditto.
(trace_frames_offset, cur_offset): Declare as off_t.
(trace_regblock_size): Rename from reg_size, update users.
(parse_trace_status): New function.
(tfile_interp_line): New function.
(disconnect_or_stop_tracing): Ensure current trace
status before asking what to do.
(stop_reason_names): New global.
(trace_save_command): New command.
(get_uploaded_tp): Move here from remote.c.
(find_matching_tracepoint): Ditto.
(merge_uploaded_tracepoints): New function.
(parse_trace_status): Use stop_reason_names.
(_initialize_tracepoint): Define tsave command.
* target.h (target_ops): New fields to_save_trace_data,
to_upload_tracepoints, to_upload_trace_state_variables,
to_get_raw_trace_data, change to_get_trace_status
to take a pointer to a status struct.
(target_save_trace_data): New macro.
(target_upload_tracepoints): New macro.
(target_upload_trace_state_variables): New macro.
(target_get_raw_trace_data): New macro.
* target.c (update_current_target): Add new methods, change
signature of to_get_trace_status.
* remote.c (hex2bin): Make globally visible.
(bin2hex): Ditto.
(remote_download_trace_state_variable): Download name also.
(remote_get_trace_status): Update parameter, use
parse_trace_status.
(remote_save_trace_data): New function.
(remote_upload_tracepoints): New function.
(remote_upload_trace_state_variables): New function.
(remote_get_raw_trace_data): New function.
(remote_start_remote): Use them.
(_initialize_remote_ops): Add operations.
* ax-gdb.c: Include breakpoint.h.
* breakpoint.c (create_tracepoint_from_upload): Use
break_command_really, return tracepoint, warn about unimplemented
parts.
* NEWS: Mention trace file addition.
* gdb.texinfo (Trace Files): New section.
(Tracepoint Packets): Document QTSave and qTBuffer.
(Trace File Format): New appendix.
* generic/gdbtk-bp.c (gdb_trace_status): Use current_trace_status.
* gdb.trace/tfile.c: New file.
* gdb.trace/tfile.exp: New file.
Support Valgrind attachments broken by the PIE support.
* auxv.c: Include gdbcore.h.
(procfs_xfer_auxv): Make static. Reduce its comment. Drop its
parameters ops, object and annex. Remove their assertions.
(ld_so_xfer_auxv, memory_xfer_auxv): New function.
* auxv.h (procfs_xfer_auxv): Remove comment. Rename to ...
(memory_xfer_auxv): ... here.
* linux-nat.c (linux_xfer_partial): Rename procfs_xfer_auxv to
memory_xfer_auxv.
* procfs.c (procfs_xfer_partial): Likewise.
* solib-svr4.c (svr4_relocate_main_executable): New prototype.
(svr4_special_symbol_handling): Call svr4_relocate_main_executable.
(svr4_solib_create_inferior_hook): Conditionalize the
svr4_relocate_main_executable call.
gdb/testsuite/
* gdb.base/valgrind-db-attach.exp, gdb.base/valgrind-db-attach.c: New.
* gdb.base/break-interp-lib.c: Include unistd.h, assert.h and stdio.h.
(libfunc): New parameter action. Implement also selectable "sleep".
* gdb.base/break-interp-main.c: Include assert.h.
(libfunc): New parameter action.
(main): New parameters argc and argv. Assert argc. Pass argv.
* gdb.base/break-interp.exp (test_core): Pass the "segv" argument.
(test_attach): New proc.
(test_ld): Pass new "segv" exec parameter. Call also test_attach.
* lib/gdb.exp (core_find): New parameter arg. Pass it to $binfile.
* solib-svr4.c (scan_dyntag): Remove variable dyn_addr. New variable
target_section. Find SECT in current_target_sections, gdb_assert it.
(elf_lookup_lib_symbol): Pass the binary file if given symfile_objfile.
New variable abfd.
* symtab.c (lookup_objfile_from_block): Return the binary file instead
of separate debug info file.
gdb/testsuite/
* gdb.base/break-interp.exp (test_core): New proc.
(test_ld): Call it.
* gdb.base/break-interp-main.c, gdb.base/break-interp-lib.c: New.
* gdb.base/break-interp.exp: Exit on skip_shlib_tests. Change $srcfile.
New variables $binfile_lib and $srcfile_lib. Call get_compiler_info
and gdb_compile_shlib. Use new -Wl compiler options.
(dl bt, main bt): New tests.
Support PIEs with no symfile_objfile.
* exec.c (print_section_info <abfd == exec_bfd>): Relocate Entry point.
* solib-svr4.c (svr4_relocate_main_executable <exec_bfd>): New block.
gdb/testsuite/
Support PIEs with no symfile_objfile.
* gdb.base/break-interp.exp: New argument at the test_ld calls.
(test_ld): New parameter trynosym.
(test_ld <$trynosym>): New block.
* solib-svr4.c (svr4_relocate_main_executable): Move the static exec
code part to ...
(svr4_static_exec_displacement): ... a new function.
(svr4_exec_displacement): New function.
(svr4_relocate_main_executable): Call svr4_exec_displacement. Allocate
new_offsets using alloca now. Remove variable old_chain and changed.
Call objfile_relocate unconditionally now.
gdb/testsuite/
* gdb.base/break-interp.exp: New file.
Add support for DW_AT_GNAT_descriptive_type.
* gdbtypes.h (enum type_specific_kind): New enum.
(struct main_type) [type_specific_field]: New component.
[type_specific]: Add new component "gnat_stuff".
(struct gnat_aux_type): New type.
(INIT_CPLUS_SPECIFIC): Also set TYPE_SPECIFIC_FIELD (type).
(HAVE_CPLUS_STRUCT): Also check TYPE_SPECIFIC_FIELD (type).
(gnat_aux_default, allocate_gnat_aux_type): Add declaration.
(INIT_GNAT_SPECIFIC, ALLOCATE_GNAT_AUX_TYPE, HAVE_GNAT_AUX_INFO)
(TYPE_SPECIFIC_FIELD): New macros.
(TYPE_CPLUS_SPECIFIC): Return cplus_struct_default if the given
type does not hold any cplus-specific data.
(TYPE_RAW_CPLUS_SPECIFIC): New macro.
(TYPE_GNAT_SPECIFIC, TYPE_DESCRIPTIVE_TYPE): New macros.
(TYPE_IS_OPAQUE): Use HAVE_CPLUS_STRUCT to check if type has
cplus-specific data.
* gdbtypes.c (allocate_cplus_struct_type): Minor stylistic rewrite.
Set new component TYPE_SPECIFIC_FIELD (type).
(gnat_aux_default): New constant.
(allocate_gnat_aux_type): New function.
(init_type): Add initialization the type-specific stuff for
TYPE_CODE_FLT and TYPE_CODE_FUNC types.
(print_gnat_stuff): New function.
(recursive_dump_type): Use HAVE_CPLUS_STRUCT to check for cplus-
specific data. Adjust code that prints the contents of the
type-specific union using the TYPE_SPECIFIC_FIELD value.
* dwarf2read.c (dwarf2_attach_fields_to_type): Do not allocate
the type cplus stuff for Ada types.
(dwarf2_add_member_fn, dwarf2_attach_fn_fields_to_type):
Error out if these routines are called with an Ada type.
(read_structure_type, read_array_type, read_subrange_type):
Add call to set_descriptive_type.
(set_die_type): Initialize the gnat-specific data if necessary.
(need_gnat_info, die_descriptive_type, set_descriptive_type):
New functions.
* ada-lang.c (decode_constrained_packed_array_type): Use
decode_constrained_packed_array_type instead of doing a standard
lookup to locate a parallel type.
(find_parallel_type_by_descriptive_type): New function.
(ada_find_parallel_type_with_name): New function.
(ada_find_parallel_type): Reimplement using
ada_find_parallel_type_with_name.
* ada-valprint.c (print_field_values): Use HAVE_CPLUS_STRUCT
to check if type has a cplus stuff.
* linespec.c (total_number_of_methods): Likewise.
* mdebugread.c (new_type): Likewise.
gdb/testsuite/ChangeLog:
* gdb.base/maint.exp: Adjust the expected output for the
"maint print type" test. Use gdb_test_multiple instead of
gdb_sent/gdb_expect.
* gdb.base/corefile.exp: Move the core finding block out and call it as
core_find, new variable $corefile, replace corefile by $corefile and
[file tail $corefile] for usage vs. test names resp.
* lib/gdb.exp (core_find): Move it as a new function here. New
parameter binfile and deletefiles. New variable $destcore. Pre-delete
$destcore. Return "" on error.
* gdbtypes.c (check_typedef): New comment on type length.
* value.c (allocate_value_lazy): Remove the unused atype variable. New
comment on type length.
(value_primitive_field): Keep the original TYPE value, new comment.
gdb/testsuite/
* gdb.mi/var-cmd.c (do_bitfield_tests): Change "V.sharable" type to
"uint_for_mi_testing".
* valarith.c (value_equal_contents): New function.
* value.h (value_equal_contents): Declare.
* breakpoint.c (watchpoint_check): Use value_equal_contents
instead of value_equal.
gdb/testsuite/
* gdb.base/watchpoint.exp (test_watchpoint_in_big_blob): New function.
(top level): Call test_watchpoint_in_big_blob.
* gdb.base/watchpoint.c (buf): Change size to value too big for hardware
watchpoints.
(func3): Write to buf.
Add trace state variables.
* ax.h (enum agent_op): Add getv, setv, and tracev.
(ax_tsv): Declare.
* ax-gdb.c: Include tracepoint.h.
(gen_expr): Handle BINOP_ASSIGN, BINOP_ASSIGN_MODIFY, and
OP_INTERNALVAR.
(gen_expr_binop_rest): New function, split from gen_expr.
* ax-general.c (ax_tsv): New function.
(aop_map): Add new bytecodes.
* tracepoint.h (struct trace_state_variable): New struct.
(tsv_s): New typedef.
(find_trace_state_variable): Declare.
* tracepoint.c (tvariables): New global.
(next_tsv_number): New global.
(create_trace_state_variable): New function.
(find_trace_state_variable): New function.
(delete_trace_state_variable): New function.
(trace_variable_command): New function.
(delete_trace_variable_command): New function.
(tvariables_info): New function.
(trace_start_command): Download tsvs with initial values.
(_initialize_tracepoint): Add new commands.
* NEWS: Mention the addition of trace state variables.
==> doc/ChangeLog <==
2009-12-28 Stan Shebs <stan@codesourcery.com>
* gdb.texinfo (Trace State Variables): New section.
(Tracepoint Packets): Describe trace state variable packets.
* agentexpr.texi (Bytecode Descriptions): Describe trace state
variable bytecodes.
==> testsuite/ChangeLog <==
2009-12-28 Stan Shebs <stan@codesourcery.com>
* gdb.trace/tsv.exp: New file.
* gdb.base/completion.exp: Update ambiguous info output.
* breakpoint.c (bpstat_stop_status): Iterate using ALL_BREAKPOINTS and
the B->LOC list. Remove gdb_assert on B. Change bp_hardware_watchpoint
continue to break. Remove variable update_locations. Remove HIT_COUNT
increment protection by an ENABLE_STATE check. Inline the delayed
update_global_location_list call.
gdb/testsuite/
* gdb.base/condbreak.exp: Put breakpoint on marker3 and marker4.
(bp_location13, bp_location14, bp_location17, bp_location18)
(marker3_proto, marker4_proto): New variables.
(breakpoint info): Update output.
(run until breakpoint at marker3, run until breakpoint at marker4): New
tests.
* breakpoint.c (bpstat_stop_status): Check BL->SHLIB_DISABLED.
(print_breakpoint_location): New comment. Check LOC->SHLIB_DISABLED.
Check LOC validity before printing it. Use LOC instead of B->LOC.
Swap the if conditionals order.
gdb/testsuite/
* gdb.base/unload.c (main): Change the UNLOADSHR parameter to 1.
Replace the printf call of Y by provided "y-set-1" label. New block
for the second shared library.
* gdb.base/unload.exp: Compile also the second library, call
gdb_load_shlibs also for it. Use now gdb_breakpoint.
(single pending breakpoint info): Rename to ...
(pending breakpoint info before run): ... this extended test.
(libfile2, libname2, libsrcfile2, libsrc2)
(lib_sl2): New variables.
(exec_opts): Set also SHLIB_NAME2.
(pending breakpoint info on first run at shrfunc1)
(pending breakpoint info on second run at shrfunc1)
(pending breakpoint info on second run at shrfunc2)
(print y from libfile, print y from libfile2): New tests.
* gdb.base/unloadshr.c (shrfunc1): Change the returned value.
* gdb.base/unloadshr2.c: New.
* record.c (record_message): Change argument.
(record_message_wrapper): New function.
(do_record_message): Change it name to
"record_message_wrapper_safe".
Let it call "record_message_wrapper".
(record_resume_error): Deleted.
(record_resume): Call "record_message".
(record_wait): Deleted record_resume_error.
Call "record_message_wrapper_safe".
Set status when do_record_message need stop the inferior.
2009-12-22 Hui Zhu <teawater@gmail.com>
* gdb.reverse/sigall-reverse.exp: Adjust.
* gdb.reverse/i387-env-reverse.c: New file.
* gdb.reverse/i387-env-reverse.exp: New file.
* gdb.reverse/i387-stack-reverse.c: New file.
* gdb.reverse/i387-stack-reverse.exp: New file.
PR python/10804
* python/py-type.c (typy_range): New Function.
2009-12-08 Phil Muldoon <pmuldoon@redhat.com>
* gdb.python/py-type.exp (test_range): New test.
2009-12-08 Phil Muldoon <pmuldoon@redhat.com>
* gdb.texinfo (Types In Python): Describe range function.
2009-12-03 Paul Pluzhnikov <ppluzhnikov@google.com>
PR gdb/11022
* breakpoint.c (invalidate_bp_value_on_memory_change):
New function.
(_initialize_breakpoint): Add it as memory change observer.
testsuite/ChangeLog:
2009-12-03 Paul Pluzhnikov <ppluzhnikov@google.com>
PR gdb/11022
* gdb.base/pr11022.exp: New test.
* gdb.base/pr11022.c: New test.
* s390-nat.c (s390_can_use_hw_breakpoint): Only support breakpoints
of type bp_hardware_watchpoint.
gdb/testsuite/
* gdb.base/hbreak.exp: Disable for s390*-*-* targets.
* gdb.base/watchpoint-hw-hit-once.exp: Likewise.
* gdb.threads/watchthreads-reorder.exp: Likewise.
* breakpoint.c (find_condition_and_thread): Correct task error message.
* c-exp.y (yylex): Stop before "thread N", "task N", or abbreviations
of those.
doc/
* gdb.texinfo (Thread-Specific Breakpoints): Thread specifiers
are allowed after the breakpoint condition.
testsuite/
* gdb.base/condbreak.exp: Test combinations of "break *EXP",
"if", and "thread". Correct matching in the previous test.
* breakpoint.h (struct breakpoint) <watchpoint_thread>: New field.
* breakpoint.c (watchpoint_in_thread_scope): New.
(update_watchpoint): Skip if the local watchpoint's thread doesn't
match the current thread, or if the current thread is running.
(watchpoint_check): Ditto.
(watch_command_1): Set the watchpoint's watchpoint_thread field.
gdb/testsuite/
* gdb.threads/local-watch-wrong-thread.c,
gdb.threads/local-watch-wrong-thread.exp: New files.
(gdb_wrapper_target): New variable.
(gdb_wrapper_init): Set gdb_wrapper_target.
(default_gdb_init): Check gdb_wrapper_target before rebuilding the
wrapper.
* gdb.cp/formatted-ref.exp (test_p_x_ref_addr): Allow the reference
to be in memory.
* gdb.base/display.c (force_mem): New.
(do_loops): Use it. Add breakpoint comments.
(do_vars): Add a breakpoint comment.
* gdb.base/display.exp: Use gdb_get_line_number. Remove hardcoded
line numbers.
* lib/gdb.exp (gdb_test_multiple): Handle "y or [n]", "[y] or n",
and the breakpoint menu. Do not call perror if a prompt is seen.
Consume the following GDB prompt.
* gdb.cp/method2.exp (test_break): Use gdb_test_multiple.
* gdb.cp/namespace.exp: Use gdb_test.
* gdb.cp/templates.exp: Use gdb_test.
(test_template_breakpoints): Use gdb_test_multiple.
new[] and delete[].
* gdb.cp/cplusfuncs.exp (dm_type_void): Change to
"void".
(probe_demangler): Remove all single-quoting of
method and variable names.
(info_func_regexp): Remove the word "void" from any
occurrence of "(void)".
(print_addr_2): Remove all single-quoting of
method names.
(print_addr_2_kfail): Likewise.
(print_addr): Single-quote C function names before
passing to print_addr_2.
(test_paddr_operator_functions): Remove single-quoting
for method names.
Add tests for operator new[] and operator delete[].
* symfile.c (build_id_to_debug_filename): New variable debugdir. Move
variables size, s and data into a new inner block. Change xmalloc for
alloca, use direct BUILDID->SIZE there now. Loop for the
DEBUG_FILE_DIRECTORY components.
(find_separate_debug_file): New variable debugdir and debugdir_end.
Loop for the DEBUG_FILE_DIRECTORY components.
(_initialize_symfile): For "debug-file-directory" use plural and note
one can use multiple components now.
gdb/doc/
* gdb.texinfo (set debug-file-directory, show debug-file-directory)
(Auto-loading): Use plural and note one can use multiple components now.
gdb/testsuite/
* gdb.base/sepdebug.exp: New test_different_dir call for multiple-dirs.
* symfile.c (separate_debug_file_exists): When the CRCs mismatch
print a warning.
(find_separate_debug_file): Pass in the objfile's name.
gdb/testsuite/
* gdb.base/sepdebug.exp (CRC mismatch is reported): New test.
* gdb.base/sepdebug2.c: New file.
2009-31-10 Sergio Durigan Junior <sergiodj@linux.vnet.ibm.com>
* breakpoint.c (catch_syscall_split_args): Remove unecessary warning
displayed when the user provided a syscall name and there is no
XML support.
* xml-syscall.c: Renamed `_sysinfo' to `sysinfo'.
(set_xml_syscall_file_name): Remove syscall_warn_user.
(xml_init_syscalls_info): Remove warning.
(init_sysinfo): Update warnings.
gdb/testsuite/ChangeLog:
2009-31-10 Sergio Durigan Junior <sergiodj@linux.vnet.ibm.com>
* gdb.base/catch-syscall.exp: Adapt the testcase in order to accept
the modified warnings for catch syscall. Verify if GDB was compiled
with support for lib expat, and choose which tests to run depending
on this.