aboutsummaryrefslogtreecommitdiff
path: root/gdb
AgeCommit message (Collapse)AuthorFilesLines
2011-02-14 gdb/Pedro Alves4-3/+17
* valops.c (value_repeat): Use read_value_memory instead of read_memory. gdb/testsuite/ * gdb.trace/unavailable.exp (gdb_collect_globals_test): Test that value repeat handles unavailableness.
2011-02-14 gdb/Pedro Alves8-26/+147
* value.h (value_contents_copy, value_contents_copy_raw): Declare. * value.c (value_contents_copy_raw, value_contents_copy): New functions. (value_primitive_field): Use value_contents_copy_raw instead of memcpy. * valops.c (value_fetch_lazy): Use value_contents_copy instead of memcpy. (value_array, value_slice): Ditto. * valarith.c (value_subscripted_rvalue): Use value_contents_copy_raw instead of memcpy. gdb/testsuite/ * gdb.trace/unavailable.exp (gdb_collect_globals_test): Add new tests for building arrays from unavailable values, subscripting non-memory rvalue unvailable arrays, and accessing fields or baseclasses of non-lazy unavailable values, * gdb.trace/unavailable.cc (small_struct, small_struct_b): New struct types. (g_smallstruct, g_smallstruct_b): New globals.
2011-02-14 gdb/testsuite/Pedro Alves3-0/+450
* gdb.trace/unavailable.cc, gdb.trace/unavailable.exp: New files.
2011-02-14 <unavailable> references.Pedro Alves2-11/+10
gdb/ * valops.c (get_value_at): Use value_from_contents_and_address, avoiding read_memory.
2011-02-14 gdb/Pedro Alves2-0/+7
* c-valprint.c (c_val_print): Print a string with unavailable contents as an array.
2011-02-14 gdb/Pedro Alves7-43/+186
* value.h (unpack_bits_as_long): Delete declaration. (unpack_value_bits_as_long): Declare. (unpack_value_field_as_long): Declare. (value_field_bitfield): Declare. * value.c (unpack_bits_as_long): Rename to... (unpack_value_bits_as_long_1): ... this. Add embedded_offset and value parameters. Return the extracted result in a new output parameter. If the value contents are unavailable, return false, otherwise return true. (unpack_value_bits_as_long): New. (unpack_field_as_long): Rename to... (unpack_value_field_as_long_1): ... this. Add embedded_offset and Add embedded_offset and value parameters. Return the extracted result in a new output parameter. If the value contents are unavailable, return false, otherwise return true. (unpack_value_field_as_long): New. (unpack_field_as_long_1): New. (unpack_field_as_long): Reimplement as wrapper around unpack_value_field_as_long_1. (value_field_bitfield): New function. * valops.c (value_fetch_lazy): When fetching a bitfield, use unpack_value_bits_as_long. Mark the value as unavailable, if it is unavailable. * jv-valprint.c (java_print_value_fields): Use value_field_bitfield. * p-valprint.c (pascal_object_print_value_fields): Use value_field_bitfield. * cp-valprint.c (cp_print_value_fields): Use value_field_bitfield.
2011-02-14 * value.c (get_internalvar_integer): Also return the int value ofPedro Alves2-10/+19
TYPE_CODE_INT INTERNALVAR_VALUE values. (set_internalvar): Don't special case TYPE_CODE_INT.
2011-02-14 gdb/Pedro Alves2-26/+9
* value.c (struct internalvar) <enum internalvar_kind>: Remove INTERNALVAR_POINTER. <pointer>: Delete. (value_of_internalvar): Remove INTERNALVAR_POINTER handling. (set_internalvar): Remove special TYPE_CODE_PTR handling. (preserve_one_internalvar): Remove INTERNALVAR_POINTER handling.
2011-02-14 gdb/Pedro Alves6-6/+151
* value.h (value_available_contents_eq): Declare. * value.c (find_first_range_overlap): New function. (value_available_contents_eq): New function. * valprint.c (val_print_array_elements): Use value_available_contents_eq. * ada-valprint.c (val_print_packed_array_elements): Use value_available_contents_eq. * jv-valprint.c (java_value_print): Use value_available_contents_eq.
2011-02-14 gdb/Pedro Alves6-7/+287
* target.c (target_read_live_memory): New function. (memory_xfer_live_readonly_partial): New. (memory_xfer_partial): If reading from a traceframe, fallback to reading unavailable read-only memory from read-only regions of live target memory. * tracepoint.c (disconnect_tracing): Adjust. (set_current_traceframe): New, factored out from set_traceframe_number. (set_traceframe_number): Reimplement to only change the traceframe number on the GDB side. (do_restore_current_traceframe_cleanup): Adjust. (make_cleanup_restore_traceframe_number): New. (cur_traceframe_number): New global. (tfile_open): Set cur_traceframe_number to no traceframe. (set_tfile_traceframe): New function. (tfile_trace_find): If looking up a traceframe using any method other than by number, make sure the current tfile traceframe matches gdb's current traceframe. Update the current tfile traceframe if the lookup succeeded. (tfile_fetch_registers, tfile_xfer_partial) (tfile_get_trace_state_variable_value): Make sure the remote traceframe matches gdb's current traceframe. * remote.c (remote_traceframe_number): New global. (remote_open_1): Set it to -1. (set_remote_traceframe): New function. (remote_fetch_registers, remote_store_registers) (remote_xfer_memory, remote_xfer_partial) (remote_get_trace_state_variable_value): Make sure the remote traceframe matches gdb's current traceframe. (remote_trace_find): If looking up a traceframe using any method other than by number, make sure the current remote traceframe matches gdb's current traceframe. Update the current remote traceframe if the lookup succeeded. * infrun.c (fetch_inferior_event): Adjust. * tracepoint.h (set_current_traceframe): Declare. (get_traceframe_number, set_traceframe_number): Add describing comments.
2011-02-14 Mark pieces of values as unavailable if the corresponding memoryPedro Alves6-11/+163
is unavailable. gdb/ * valops.c: Include tracepoint.h. (value_fetch_lazy): Use read_value_memory. (read_value_memory): New. * value.h (read_value_memory): Declare. * dwarf2loc.c (read_pieced_value): Use read_value_memory. * exec.c (section_table_available_memory): New function. * exec.h (section_table_available_memory): Declare.
2011-02-142011-02-14 Pedro Alves <pedro@codesourcery.com>Pedro Alves6-18/+197
gdb/ * Makefile.in (SFILES): Add memrange.c. (HFILES_NO_SRCDIR): Add memrange.h. (COMMON_OBS): Add memrange.o. * memrange.c: New file. * memrange.h: New file. * tracepoint.c: Include memrange.h. (struct mem_range): Delete. (mem_range_s): Delete. (traceframe_available_memory): New function. * tracepoint.h (traceframe_available_memory): Declare.
2011-02-142011-02-14 Pedro Alves <pedro@codesourcery.com>Pedro Alves1-0/+13
gdb/ * target.h (struct traceframe_info): Forward declare. (enum target_object): Add TARGET_OBJECT_TRACEFRAME_INFO. (struct target_ops) <to_traceframe_info>: New field. (target_traceframe_info): New. * target.c (update_current_target): Inherit and default to_traceframe_info. * remote.c (PACKET_qXfer_traceframe_info): New. (remote_protocol_features): Register qXfer:traceframe-info:read. (remote_xfer_partial): Handle TARGET_OBJECT_TRACEFRAME_INFO. (remote_traceframe_info): New. (init_remote_ops): Install it. (_initialize_remote): Install "set/show remote traceframe-info" commands. * tracepoint.h (parse_traceframe_info): Declare. * tracepoint.c (struct mem_range): New. (mem_range_s): New typedef. (struct traceframe_info): New. (traceframe_info): New global. (free_traceframe_info): New function. (clear_traceframe_info): New function. (start_tracing, tfind_1, set_traceframe_number): Clear traceframe info. (build_traceframe_info): New function. (tfile_traceframe_info): New function. (init_tfile_ops): Install tfile_traceframe_info. (traceframe_info_start_memory, free_result): New functions. (memory_attributes, traceframe_info_elements): New globals. (parse_traceframe_info, get_traceframe_info): New functions. * features/traceframe-info.dtd: New file. * Makefile.in (XMLFILES): Add traceframe-info.dtd. gdb/gdbserver/ * server.c (handle_qxfer_traceframe_info): New. (qxfer_packets): Register "traceframe-info". (handle_query): Report support for qXfer:traceframe-info:read+. * tracepoint.c (match_blocktype): New. (traceframe_find_block_type): Rename to ... (traceframe_walk_blocks): ... this. Add callback filter argument, and use it. (traceframe_find_block_type): New, reimplemented on top of traceframe_walk_blocks. (build_traceframe_info_xml): New. (traceframe_read_info): New. * server.h (traceframe_read_info): Declare. gdb/doc/ * gdb.texinfo (Remote Configuration): Mention set/show remote traceframe-info. (Tools/Packages Optional for Building GDB): Mention that expat is used for traceframe info. (Remote Protocol) <Menu>: Add "Traceframe Info Format". (General Query Packets) <qSupported>: Describe the qXfer:traceframe-info:read feature. (qXfer::read): Describe qXfer:traceframe-info:read. (Traceframe Info Format): New section.
2011-02-14 gdb/Pedro Alves13-6/+568
* target.h (struct traceframe_info): Forward declare. (enum target_object): Add TARGET_OBJECT_TRACEFRAME_INFO. (struct target_ops) <to_traceframe_info>: New field. (target_traceframe_info): New. * target.c (update_current_target): Inherit and default to_traceframe_info. * remote.c (PACKET_qXfer_traceframe_info): New. (remote_protocol_features): Register qXfer:traceframe-info:read. (remote_xfer_partial): Handle TARGET_OBJECT_TRACEFRAME_INFO. (remote_traceframe_info): New. (init_remote_ops): Install it. (_initialize_remote): Install "set/show remote traceframe-info" commands. * tracepoint.h (parse_traceframe_info): Declare. * tracepoint.c (struct mem_range): New. (mem_range_s): New typedef. (struct traceframe_info): New. (traceframe_info): New global. (free_traceframe_info): New function. (clear_traceframe_info): New function. (start_tracing, tfind_1, set_traceframe_number): Clear traceframe info. (build_traceframe_info): New function. (tfile_traceframe_info): New function. (init_tfile_ops): Install tfile_traceframe_info. (traceframe_info_start_memory, free_result): New functions. (memory_attributes, traceframe_info_elements): New globals. (parse_traceframe_info, get_traceframe_info): New functions. * features/traceframe-info.dtd: New file. * Makefile.in (XMLFILES): Add traceframe-info.dtd. gdb/gdbserver/ * server.c (handle_qxfer_traceframe_info): New. (qxfer_packets): Register "traceframe-info". (handle_query): Report support for qXfer:traceframe-info:read+. * tracepoint.c (match_blocktype): New. (traceframe_find_block_type): Rename to ... (traceframe_walk_blocks): ... this. Add callback filter argument, and use it. (traceframe_find_block_type): New, reimplemented on top of traceframe_walk_blocks. (build_traceframe_info_xml): New. (traceframe_read_info): New. * server.h (traceframe_read_info): Declare. gdb/doc/ * gdb.texinfo (Remote Configuration): Mention set/show remote traceframe-info. (Tools/Packages Optional for Building GDB): Mention that expat is used for traceframe info. (Remote Protocol) <Menu>: Add "Traceframe Info Format". (General Query Packets) <qSupported>: Describe the qXfer:traceframe-info:read feature. (qXfer::read): Describe qXfer:traceframe-info:read. (Traceframe Info Format): New section.
2011-02-14 Base support for <unavailable> value contents.Pedro Alves6-5/+364
gdb/ * value.h (value_bytes_available): Declare. (mark_value_bytes_unavailable): Declare. * value.c (struct range): New struct. (range_s): New typedef. (ranges_overlap): New function. (range_lessthan): New function. (ranges_contain_p): New function. (struct value) <unavailable>: New field. (value_bytes_available): New function. (mark_value_bytes_unavailable): New function. (require_not_optimized_out): Constify parameter. (require_available): New function. (value_contents_all, value_contents): Require all bytes be available. (value_free): Free `unavailable'. (value_copy): Copy `unavailable'. * valprint.h (val_print_unavailable): Declare. * valprint.c (valprint_check_validity): Rename `offset' parameter to `embedded_offset'. If printing a scalar, check whether the value chunk is available. (val_print_unavailable): New. (val_print_scalar_formatted): Check whether the value is available. * python/py-prettyprint.c (apply_val_pretty_printer): Refuse pretty-printing unavailable values.
2011-02-14*** empty log message ***gdbadmin1-1/+1
2011-02-13gdb/Jan Kratochvil5-7/+94
Fix const/volatile qualifiers of C++ types, PR c++/12328. * c-typeprint.c (c_type_print_args): Update the function comment. New variable param_type, initialize it. Remove const/volatile qualifiers for language_cplus and !show_artificial. Use param_type. gdb/testsuite/ Fix const/volatile qualifiers of C++ types, PR c++/12328. * gdb.cp/overload-const.exp: New file. * gdb.cp/overload-const.cc: New file.
2011-02-13gdb/Jan Kratochvil3-3/+13
* symtab.c (find_pc_sect_line): New variable objfile, initialize it from S. Iterate S using ALL_OBJFILE_SYMTABS. Verify BV for each S. * symtab.h (struct symtab) <next>: Comment extension.
2011-02-13*** empty log message ***gdbadmin1-1/+1
2011-02-122011-02-12 Yao Qi <yao@codesourcery.com>Yao Qi2-1/+5
* Makefile.in (CLEANDIRS): Remove duplicated common dir.
2011-02-122011-02-11 Yao Qi <yao@codesourcery.com>Yao Qi2-0/+21
* Makefile.in: Add copyright header.
2011-02-12*** empty log message ***gdbadmin1-1/+1
2011-02-11 * infrun.c (proceed): Move switching out and in of tfind mode fromPedro Alves2-10/+16
here ... (fetch_inferior_event): ... to here.
2011-02-112011-02-11 Yao Qi <yao@codesourcery.com>Yao Qi13-22/+4557
* Makefile.in: Remove signals.o from COMMON_OBS. Link libcommon.a. * configure.ac: Add common to sub dir. * configure: Regenerate. common/ 2011-02-11 Yao Qi <yao@codesourcery.com> Build libcommon.a. * Makefile.in: New. * configure.ac: New. * aclocal.m4: New. * configure: Generate. gdbserver/ 2011-02-11 Yao Qi <yao@codesourcery.com> * configure.ac: Call AC_PROG_RANLIB. * Makefile.in: Remove signals.o from OBS. Link libcommon.a. * configure: Regenerate.
2011-02-11*** empty log message ***gdbadmin1-1/+1
2011-02-10Fix whitespace.Pedro Alves1-1/+1
2011-02-10 * vec.h (VEC_block_remove): Place VEC_ASSERT_INFO on the rightPedro Alves2-2/+11
side of the parenthesis. Merge from GCC: 2010-07-13 Jakub Jelinek <jakub@redhat.com> * vec.h (VEC_block_remove): Fix comment.
2011-02-10*** empty log message ***gdbadmin1-1/+1
2011-02-09*** empty log message ***gdbadmin1-1/+1
2011-02-082011-02-08 Michael Snyder <msnyder@vmware.com>Michael Snyder2-1/+5
* linux-nat.c (linux_nat_filter_event): Fix typo in comment.
2011-02-08gdb/Jan Kratochvil2-8/+14
* i386-tdep.c (i386_process_record): Rename l suffixes to d suffixes in comments for pcmpgtd, pcmpeqd, psubd, paddd, pcmpgtd, pcmpeqd, psubd and paddd.
2011-02-08gdb/Jan Kratochvil2-3/+11
PR 12361. * i386-tdep.c (i386_process_record) <0x660f3807>: Fix the comment to phsubsw. (i386_process_record) <lddqu>: Fix the opcode to 0xf20ff0. (i386_process_record) <0x0f3807>: Fix the comment to phsubsw.
2011-02-08include/ChangeLog:Ulrich Weigand8-11/+783
* dwarf2.h (enum dwarf_calling_convention): Add DW_CC_GDB_IBM_OpenCL. gdb/ChangeLog: * dwarf2read.c (read_subroutine_type): Set special calling convention flag for functions compiled by IBM XL C for OpenCL. * ppc-sysv-tdep.c: Include "dwarf2.h" (ppc_sysv_abi_push_dummy_call): Implement IBM OpenCL vector types calling convention. (do_ppc_sysv_return_value): Add FUNC_TYPE argument. Implement IBM OpenCL vector types calling convention. (ppc_sysv_abi_return_value): Pass through FUNC_TYPE. (ppc_sysv_abi_broken_return_value): Likewise. (ppc64_sysv_abi_push_dummy_call): Implement IBM OpenCL vector types calling convention. (ppc64_sysv_abi_return_value): Likewise. * spu-tdep.c: Include "dwarf2.h" (spu_return_value): Implement IBM OpenCL vector types calling convention. gdb/testsuite/ChangeLog: * gdb.opencl/callfuncs.cl: New file. * gdb.opencl/callfuncs.exp: New test. * gdb.opencl/Makefile.in (EXECUTABLES): Add callfuncs.
2011-02-08ChangeLog:Ulrich Weigand5-37/+39
* ppc-sysv-tdep.c (ppc64_sysv_abi_push_dummy_call): Implement correct ABI for AltiVec vector arguments. testsuite/ChangeLog: * gdb.arch/altivec-abi.c (vec_func): Make use of intv_on_stack_f when computing result. * gdb.arch/altivec-abi.exp: Update expected results.
2011-02-08*** empty log message ***gdbadmin1-1/+1
2011-02-07 * valprint.c (val_print): Extend comment.Pedro Alves8-63/+61
* ada-valprint.c (ada_valprint): Rewrite comment deferring interface explanation to val_print. (ada_val_print_array): Adjust comment to current interface. (print_field_values): Adjust comment to current interface. * c-valprint.c (c_val_print): Rewrite comment deferring interface explanation to val_print. * f-valprint.c (f_val_print): Ditto. * jv-valprint.c (java_val_print): Ditto. * m2-valprint.c (m2_val_print): Ditto. * p-valprint.c (pascal_val_print): Ditto.
2011-02-07 * gdb.base/break-interp.exp: Remove ${objdir} from test messages.Thiago Jung Bauermann6-10/+23
* gdb.base/jit.exp: Likewise. * gdb.base/pie-execl.exp: Likewise. * gdb.base/solib-nodir.exp: Likewise. * gdb.base/solib-overlap.exp: Likewise.
2011-02-07 * breakpoint.c (parse_breakpoint_sals): Fix description.Thiago Jung Bauermann2-3/+10
2011-02-07 gdb/server/Pedro Alves6-20/+106
* server.c (gdb_read_memory): Change return semantics to allow partial transfers. (handle_search_memory_1): Adjust. (process_serial_event) <'m' packet>: Handle partial transfers. * tracepoint.c (traceframe_read_mem): Handle partial transfers. gdb/testsuite/ * gdb.trace/collection.c (global_pieces): New. * gdb.trace/collection.exp (gdb_collect_global_in_pieces_test): New procedure. (gdb_trace_collection_test): Call it.
2011-02-07*** empty log message ***gdbadmin1-1/+1
2011-02-06*** empty log message ***gdbadmin1-1/+1
2011-02-05Add the file that prev commit forget.Hui Zhu18-0/+1366
2011-02-05*** empty log message ***gdbadmin1-1/+1
2011-02-04Add Python support for GDB events.Sami Wagiaalla9-6/+308
2011-02-04 Sami Wagiaalla <swagiaal@redhat.com> * gdb.python/py-evthreads.c: New file. * gdb.python/py-evthreads.exp: New file. * gdb.python/py-events.py: New file. * gdb.python/py-events.exp: New file. * gdb.python/py-events.c: New file. 2011-02-04 Sami Wagiaalla <swagiaal@redhat.com> Oguz Kayral <oguzkayral@gmail.com> * python/py-inferior.c (python_on_normal_stop): New function. (python_on_resume): New function. (python_inferior_exit): New function. (gdbpy_initialize_inferior): Add normal_stop, target_resumed, and inferior_exit observers. * python/py-evtregistry.c: New file. * python/py-threadevent.c : New file. * python/py-event.c: New file. * python/py-evts.c: New file. * python/py-continueevent.c: New file. * python/py-bpevent.c: New file. * python/py-signalevent.c: New file. * python/py-exetiedevent.c: New file. * python/py-breakpoint.c (gdbpy_breakpoint_from_bpstats): New function. Move struct breakpoint_object from here... * python/python-internal.h: ... to here. * python/py-event.h: New file. * python/py-events.h: New file. * Makefile.in (SUBDIR_PYTHON_OBS): Add py-breakpointstopevent.o, py-continueevent.o, py-event.o, py-eventregistry.o, py-events.o, py-exitedevent.o, py-signalstopevent.o, and py-stopevent.o. (SUBDIR_PYTHON_SRCS): Add py-breakpointstopevent.c, py-continueevent.c, py-event.c, py-eventregistry.c, py-events.c, py-exitedevent.c, py-signalstopevent.c, and py-stopevent.c. Add build rules for all the above.
2011-02-04 * dwarf2read.c (dwarf2_section_empty_p): New function.Tom Tromey2-8/+42
(dwarf2_read_section): Use dwarf2_section_empty_p. (dwarf2_section_size): New function. (dwarf2_get_section_info): Unconditionally read section. (dwarf2_read_index): Use dwarf2_section_empty_p. (partial_read_comp_unit_head): Use dwarf2_section_size. (dwarf2_symbol_mark_computed): Likewise.
2011-02-04 * gdbint.texinfo (Formatting): Mention some formatting guidelinesPedro Alves2-1/+28
for casts and unary operators.
2011-02-042011-02-04 David Daney <ddaney@caviumnetworks.com>David Daney2-0/+6
* NEWS: Add item for "catch syscall" on mips*-linux* targets.
2011-02-04 * gdb.texinfo (GDB/MI Async Records): Document that symbols-loadedTom Tromey2-5/+11
is not useful.
2011-02-04gdb/David Daney8-2/+1037
2011-02-04 David Daney <ddaney@caviumnetworks.com> * mips-linux-tdep.c: Include xml-syscall.h. (mips_linux_get_syscall_number): New function. (mips_linux_init_abi): Add calls to mips_linux_get_syscall_number() and set_xml_syscall_file_name(). * data-directory/Makefile.in (SYSCALLS_FILES): Add mips-o32-linux.xml, mips-n32-linux.xml and mips-n64-linux.xml * syscalls/mips-n32-linux.xml: New file. * syscalls/mips-n64-linux.xml: New file. * syscalls/mips-o32-linux.xml: New file. gdb/testsuite/ 2011-02-04 David Daney <ddaney@caviumnetworks.com> * gdb.base/catch-syscall.exp: Enable for mips*-linux*.
2011-02-04 * dwarf2read.c (dwarf2_ranges_read): Skip empty range entries.Ulrich Weigand2-1/+32
Complain about inverted range entries. (dwarf2_record_block_ranges): Likewise.