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.