summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 2013-03-12 Yao Qi <yao@codesourcery.com>Hui Zhu2013-03-122-21/+12
| | | | | | | | Hui Zhu <hui@codesourcery.com> * dwarf2loc.c (access_memory): Change nbits to nbytes in gdb_assert. (dwarf2_compile_expr_to_ax): Call access_memory in DW_OP_deref and DW_OP_deref_size.
* Allow 'thread' to be used as a variable name in expressions.Paul N. Hilfinger2013-03-127-11/+176
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GDB treats the identifiers 'if', 'thread', and 'task' unconditionally as expression delimiters in Ada mode, which is correct for 'if' and 'task', but wrong for 'thread' in cases such as print thread Borrowing from c-exp.y, we observe that 'thread' must be followed by numerals, whereas identifiers never are and treat them as delimiters only in that case. In the process, the current also refactors and incidentally fixes the code for rewinding the input to before the delimiting tokens. For example, the code watch expr if i > 2 fails because the input is only rewound to just before the 'i', leaving the 'if' as part of the expression (and thus making the rest look like trailing junk rather than a conditional clause). gdb/ChangeLog: * ada-lex.l (rules): Only recognize 'thread' as a delimiter when followed by numerals, as for c-exp.y. Use new rewind_to_char function to rewind the input for expression-delimiting tokens. (rewind_to_char): New function. gdb/testsuite/ChangeLog: * gdb.ada/expr_delims.exp: New file. * gdb.ada/expr_delims/foo.adb: New file. * gdb.ada/expr_delims/pck.ads: New file. * gdb.ada/expr_delims/pck.adb: New file.
* 2013-03-11 Sebastian Huber <sebastian.huber@embedded-brains.de>Sandra Loosemore2013-03-124-0/+13
| | | | | | | | | | | | | | | | | | include/ * opcode/nios2.h (OPX_WRPRS): New define. (OP_MATCH_WRPRS): Likewise. opcodes/ * nios2-opc.c (nios2_builtin_opcodes): Add entry for wrprs. gas/ * config/tc-nios2.c (nios2_assemble_args_ds): New function. (nios2_arg_info_structs): Add "d,s" and "d,s,E" entries. gas/testsuite/ * gas/nios2/nios2.exp: Run wrprs. * gas/nios2/wrprs.d: New file. * gas/nios2/wrprs.s: Likewise.
* 2013-03-11 Sebastian Huber <sebastian.huber@embedded-brains.de>Sandra Loosemore2013-03-124-0/+13
| | | | | | | | | | | | | | include/ * opcode/nios2.h (OP_RDPRS): New define. (OP_MATCH_RDPRS): Likewise. opcodes/ * nios2-opc.c (nios2_builtin_opcodes): Add entry for rdprs. gas/testsuite/ * gas/nios2/nios2.exp: Run rdprs. * gas/nios2/rdprs.d: New file. * gas/nios2/rdprs.s: Likewise.
* 2013-03-11 Sebastian Huber <sebastian.huber@embedded-brains.de>Sandra Loosemore2013-03-122-0/+5
| | | | | | | | | | opcodes/ * nios2-opc.c (nios2_builtin_regs): Add sstatus alias for ba register. gas/testsuite/ * gas/nios2/nios2.exp: Run registers. * gas/nios2/registers.d: New file. * gas/nios2/registers.s: Likewise.
* *** empty log message ***gdbadmin2013-03-121-1/+1
|
* daily updateAlan Modra2013-03-111-1/+1
|
* * gdb.texinfo (General Query Packets): Don't use colon in indexEli Zaretskii2013-03-112-0/+8
| | | | entries visible to Info format.
* * watchpoint.exp (test_no_hw_watchpoints): Add test usingKeith Seitz2013-03-112-0/+11
| | | | both condition and thread. Then delete the watchpoint.
* gdb/Jan Kratochvil2013-03-113-0/+13
| | | | | | * configure: Regenerate. * configure.ac (check dynamic export flag): Link python test with $PYTHON_LIBS.
* * linespec.c (find_linespec_symbols): Call find_function_symbolsDoug Evans2013-03-112-58/+77
| | | | first, and then call lookup_prefix_sym/find_method.
* Avoid invalid pointer to pointer conversions.Pedro Alves2013-03-113-20/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Casts between 'char **' <-> 'unsigned char **' and 'char **' <-> const char **' are actually invalid: http://gcc.gnu.org/ml/gcc-help/2013-03/msg00118.html In a nutshell, char (and variants) can alias anything, but pointers to chars get no special treatment (cf. C99/N1256, 6.5/7). Turns out older gcc's actually warn/complain on these constructs, though newer one's don't: http://sourceware.org/ml/gdb-patches/2013-03/msg00429.html http://sourceware.org/ml/gdb-patches/2013-03/msg00430.html This patch fixes the cases I added last week. It also fixes one other preexisting case in charset.c, though it seems even older gccs don't complain of char * <-> const char * aliasing. Tested on x86_64 Fedora 17. gdb/ 2013-03-11 Pedro Alves <palves@redhat.com> * charset.c (convert_between_encodings): Don't cast between different pointer to pointer types. Instead, make the 'inp' local be of the type iconv expects. (wchar_iterate): Don't cast between different pointer to pointer types. Instead, use new pointer local of the type iconv expects. * target.c (target_read_stralloc, target_fileio_read_stralloc): Add new local of type char pointer, and use it to get a char/string view of the byte buffer, instead of casting between pointer to pointer types.
* 2013-03-11 Hafiz Abid Qadeer <abidh@codesourcery.com>abidh2013-03-112-2/+7
| | | | | * remote.c (remote_set_trace_buffer_size): Move != operator to the start of next line to fix an ARI warning.
* Add support for AArch32 CRC instruction in ARMv8.ktkachov2013-03-114-1/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gas/ChangeLog 2013-03-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * config/tc-arm.c (crc_ext_armv8): New feature set. (UNPRED_REG): New macro. (do_crc32_1): New function. (do_crc32b, do_crc32h, do_crc32w, do_crc32cb, do_crc32ch, do_crc32cw): Likewise. (TUEc): New macro. (insns): Add entries for crc32 mnemonics. (arm_extensions): Add entry for crc. include/opcode/ChangeLog 2013-03-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * arm.h (CRC_EXT_ARMV8): New constant. (ARCH_CRC_ARMV8): New macro. opcodes/ChangeLog 2013-03-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * arm-dis.c (arm_opcodes): Add entries for CRC instructions. (thumb32_opcodes): Likewise. (print_insn_thumb32): Handle 'S' control char. gas/testsuite/ChangeLog 2013-03-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * gas/arm/crc32-bad.d: New file. * gas/arm/crc32-bad.l: Likewise. * gas/arm/crc32-bad.s: Likewise. * gas/arm/crc32.d: Likewise. * gas/arm/crc32.s: Likewise.
* Add tests for the new record-btrace target.mmetzger2013-03-1113-4/+730
| | | | | | | | | | | | | | | | testsuite/ * Makefile.in: Add btrace testsuite. * configure: Regenerated. * configure.ac: Add btrace testsuite. * gdb.btrace/Makefile.in: New file. * gdb.btrace/enable.c: New file. * gdb.btrace/enable.exp: New file. * gdb.btrace/function_call_history.c: New file. * gdb.btrace/function_call_history.exp: New file. * gdb.btrace/instruction_history.c: New file. * gdb.btrace/instruction_history.exp: New file. * gdb.btrace/instruction_history.S: New file. * lib/gdb.exp: Add btrace skip proc.
* Document changes to the record target resulting from the renaming intommetzger2013-03-114-34/+220
| | | | | | | | | | | | | | | | | | record-full. Document two new record sub-commands "record instruction-history" and "record function-call-history" and two associated set/show commands "set record instruction-history-size" and "set record function-call-history-size". Add this to NEWS. gdb/ * NEWS: Add record changes. doc/ * gdb.texinfo (Process Record and Replay): Document record changes.
* Add a disassembly flag to omit the pc prefix and use it in the "recordmmetzger2013-03-114-1/+15
| | | | | | | | | | | | | instruction-history" command of record-btrace. The pc prefix would appear multiple times in the branch trace disassembly, which is more confusing than helpful. gdb/ * record-btrace.c (btrace_insn_history): Omit the pc prefix in the instruction history disassembly. * disasm.c (dump_insns): Omit the pc prefix, if requested. * disasm.h (DISASSEMBLY_OMIT_PC): New.
* Add a target for branch trace recording.mmetzger2013-03-114-2/+704
| | | | | | | | | | | | | | | | The target implements the new record sub-commands "record instruction-history" and "record function-call-history". The target does not support reverse execution or navigation in the recorded execution log. gdb/ * Makefile.in (SFILES): Add record-btrace.c (COMMON_OBS): Add record-btrace.o * record-btrace.c: New. * objfiles.c: Include btrace.h. (free_objfile): call btrace_free_objfile.
* Add command to print the function names from recorded instructions.mmetzger2013-03-115-0/+248
| | | | | | | | | | | | | | | | | | This command provides a quick high-level overview over the recorded execution log at function granularity without having to reverse-step. gdb/ * target.c (target_call_history, target_call_history_from, target_call_history_range): New. * target.h (target_ops) <to_call_history, to_call_history_from, to_call_history_range>: New fields. (target_call_history, target_call_history_from, target_call_history_range): New declaration. * record.c (get_call_history_modifiers, cmd_record_call_history, record_call_history_size): New. (_initialize_record): Add the "record function-call-history" command. Add "set/show record function-call-history-size" commands. * record.h (record_print_flag): New.
* Add a command to provide a disassembly of the execution trace log.mmetzger2013-03-114-0/+299
| | | | | | | | | | | | | | | | | | | | | gdb/ * target.h (target_ops) <to_insn_history, to_insn_history_from, to_insn_history_range>: New fields. (target_insn_history): New. (target_insn_history_from): New. (target_insn_history_range): New. * target.c (target_insn_history): New. (target_insn_history_from): New. (target_insn_history_range): New. * record.c: Include cli/cli-utils.h, disasm.h, ctype.h. (record_insn_history_size): New. (get_insn_number): New. (get_context_size): New. (no_chunk): New. (get_insn_history_modifiers): New. (cmd_record_insn_history): New. (_initialize_record): Add "set/show record instruction-history-size" command. Add "record instruction-history" command.
* Provide default target methods for record targets that are likely to be sharedmmetzger2013-03-116-59/+153
| | | | | | | | | | | | | | | | | | | | | | | between different record targets. gdb/ * record.h (record_disconnect): New. (record_detach): New. (record_mourn_inferior): New. (record_kill): New. * record-full.c (record_disconnect, record_detach, record_mourn_inferior, record_kill): Move to... * record.c: ...here. (DEBUG): New. (record_stop): New. (record_unpush): New. (cmd_record_stop): Call record_stop. Replace unpush_target call with record_unpush call. (record_disconnect, record_detach): Assert that the target is of record stratum. Call record_unpush, record_stop, and DEBUG. (record_mourn_inferior, record_kill): Assert that the target is of record stratum. Call record_unpush and DEBUG.
* Rename record_ prefixes in record-full.h into record_full_.mmetzger2013-03-1110-608/+656
| | | | | | | | | | | | | | | | gdb/ * record-full.h, record-full.c (record_memory_query): Rename to ... (record_full_memory_query): ...this. Update all users. (record_arch_list_add_reg): Rename to ... (record_full_arch_list_add_reg): ...this. Update all users. (record_arch_list_add_mem): Rename to ... (record_full_arch_list_add_mem): ...this. Update all users. (record_arch_list_add_end): Rename to ... (record_full_arch_list_add_end): ...this. Update all users. (record_gdb_operation_disable_set): Rename to ... (record_full_gdb_operation_disable_set): ...this. Update all users.
* Rename record_ prefixes in record-full.c into record_full_.mmetzger2013-03-112-754/+1064
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gdb/ * record-full.c (DEFAULT_RECORD_INSN_MAX_NUM): Renamed to ... (DEFAULT_RECORD_FULL_INSN_MAX_NUM): ... this. Updated all users. (RECORD_IS_REPLAY): Renamed to ... (RECORD_FULL_IS_REPLAY): ... this. Updated all users. (RECORD_FILE_MAGIC): Renamed to ... (RECORD_FULL_FILE_MAGIC): ... this. Updated all users. (record_mem_entry): Renamed to ... (record_full_mem_entry): ... this. Updated all users. (record_reg_entry): Renamed to ... (record_full_reg_entry): ... this. Updated all users. (record_end_entry): Renamed to ... (record_full_end_entry): ... this. Updated all users. (record_type) <record_end, record_reg, record_mem>: Renamed to ... (record_full_type) <record_full_end, record_full_reg, record_full_mem>: ... this. Updated all users. (record_entry): Renamed to ... (record_full_entry): ... this. Updated all users. (record_core_buf_entry): Renamed to ... (record_full_core_buf_entry): ... this. Updated all users. (record_core_regbuf): Renamed to ... (record_full_core_regbuf): ... this. Updated all users. (record_core_start): Renamed to ... (record_full_core_start): ... this. Updated all users. (record_core_end): Renamed to ... (record_full_core_end): ... this. Updated all users. (record_core_buf_list): Renamed to ... (record_full_core_buf_list): ... this. Updated all users. (record_first): Renamed to ... (record_full_first): ... this. Updated all users. (record_list): Renamed to ... (record_full_list): ... this. Updated all users. (record_arch_list_head): Renamed to ... (record_full_arch_list_head): ... this. Updated all users. (record_arch_list_tail): Renamed to ... (record_full_arch_list_tail): ... this. Updated all users. (record_stop_at_limit): Renamed to ... (record_full_stop_at_limit): ... this. Updated all users. (record_insn_max_num): Renamed to ... (record_full_insn_max_num): ... this. Updated all users. (record_insn_num): Renamed to ... (record_full_insn_num): ... this. Updated all users. (record_insn_count): Renamed to ... (record_full_insn_count): ... this. Updated all users. (record_ops): Renamed to ... (record_full_ops): ... this. Updated all users. (record_core_ops): Renamed to ... (record_full_core_ops): ... this. Updated all users. (set_record_cmdlist): Renamed to ... (set_record_full_cmdlist): ... this. Updated all users. (show_record_cmdlist): Renamed to ... (show_record_full_cmdlist): ... this. Updated all users. (record_cmdlist): Renamed to ... (record_full_cmdlist): ... this. Updated all users. (record_beneath_to_resume_ops): Renamed to ... (record_full_beneath_to_resume_ops): ... this. Updated all users. (record_beneath_to_resume): Renamed to ... (record_full_beneath_to_resume): ... this. Updated all users. (record_beneath_to_wait_ops): Renamed to ... (record_full_beneath_to_wait_ops): ... this. Updated all users. (record_beneath_to_wait): Renamed to ... (record_full_beneath_to_wait): ... this. Updated all users. (record_beneath_to_store_registers_ops): Renamed to ... (record_full_beneath_to_store_registers_ops): ... this. Updated all users. (record_beneath_to_store_registers): Renamed to ... (record_full_beneath_to_store_registers): ... this. Updated all users. (record_beneath_to_xfer_partial_ops): Renamed to ... (record_full_beneath_to_xfer_partial_ops): ... this. Updated all users. (record_beneath_to_xfer_partial): Renamed to ... (record_full_beneath_to_xfer_partial): ... this. Updated all users. (record_beneath_to_insert_breakpoint): Renamed to ... (record_full_beneath_to_insert_breakpoint): ... this. Updated all users. (record_beneath_to_stopped_by_watchpoint): Renamed to ... (record_full_beneath_to_stopped_by_watchpoint): ... this. Updated all users. (record_beneath_to_stopped_data_address): Renamed to ... (record_full_beneath_to_stopped_data_address): ... this. Updated all users. (record_beneath_to_async): Renamed to ... (record_full_beneath_to_async): ... this. Updated all users. (record_goto_insn): Renamed to ... (record_full_goto_insn): ... this. Updated all users. (record_save): Renamed to ... (record_full_save): ... this. Updated all users. (record_reg_alloc): Renamed to ... (record_full_reg_alloc): ... this. Updated all users. (record_reg_release): Renamed to ... (record_full_reg_release): ... this. Updated all users. (record_mem_alloc): Renamed to ... (record_full_mem_alloc): ... this. Updated all users. (record_mem_release): Renamed to ... (record_full_mem_release): ... this. Updated all users. (record_end_alloc): Renamed to ... (record_full_end_alloc): ... this. Updated all users. (record_end_release): Renamed to ... (record_full_end_release): ... this. Updated all users. (record_entry_release): Renamed to ... (record_full_entry_release): ... this. Updated all users. (record_list_release): Renamed to ... (record_full_list_release): ... this. Updated all users. (record_list_release_following): Renamed to ... (record_full_list_release_following): ... this. Updated all users. (record_list_release_first): Renamed to ... (record_full_list_release_first): ... this. Updated all users. (record_arch_list_add): Renamed to ... (record_full_arch_list_add): ... this. Updated all users. (record_get_loc): Renamed to ... (record_full_get_loc): ... this. Updated all users. (record_check_insn_num): Renamed to ... (record_full_check_insn_num): ... this. Updated all users. (record_arch_list_cleanups): Renamed to ... (record_full_arch_list_cleanups): ... this. Updated all users. (record_message): Renamed to ... (record_full_message): ... this. Updated all users. (record_message_wrapper): Renamed to ... (record_full_message_wrapper): ... this. Updated all users. (record_message_wrapper_safe): Renamed to ... (record_full_message_wrapper_safe): ... this. Updated all users. (record_gdb_operation_disable): Renamed to ... (record_full_gdb_operation_disable): ... this. Updated all users. (record_hw_watchpoint): Renamed to ... (record_full_hw_watchpoint): ... this. Updated all users. (record_exec_insn): Renamed to ... (record_full_exec_insn): ... this. Updated all users. (record_restore): Renamed to ... (record_full_restore): ... this. Updated all users. (record_async_inferior_event_token): Renamed to ... (record_full_async_inferior_event_token): ... this. Updated all users. (record_async_inferior_event_handler): Renamed to ... (record_full_async_inferior_event_handler): ... this. Updated all users. (record_core_open_1): Renamed to ... (record_full_core_open_1): ... this. Updated all users. (record_open_1): Renamed to ... (record_full_open_1): ... this. Updated all users. (record_open): Renamed to ... (record_full_open): ... this. Updated all users. (record_close): Renamed to ... (record_full_close): ... this. Updated all users. (record_resume_step): Renamed to ... (record_full_resume_step): ... this. Updated all users. (record_resumed): Renamed to ... (record_full_resumed): ... this. Updated all users. (record_execution_dir): Renamed to ... (record_full_execution_dir): ... this. Updated all users. (record_resume): Renamed to ... (record_full_resume): ... this. Updated all users. (record_get_sig): Renamed to ... (record_full_get_sig): ... this. Updated all users. (record_sig_handler): Renamed to ... (record_full_sig_handler): ... this. Updated all users. (record_wait_cleanups): Renamed to ... (record_full_wait_cleanups): ... this. Updated all users. (record_wait_1): Renamed to ... (record_full_wait_1): ... this. Updated all users. (record_wait): Renamed to ... (record_full_wait): ... this. Updated all users. (record_stopped_by_watchpoint): Renamed to ... (record_full_stopped_by_watchpoint): ... this. Updated all users. (record_disconnect): Renamed to ... (record_full_disconnect): ... this. Updated all users. (record_detach): Renamed to ... (record_full_detach): ... this. Updated all users. (record_mourn_inferior): Renamed to ... (record_full_mourn_inferior): ... this. Updated all users. (record_kill): Renamed to ... (record_full_kill): ... this. Updated all users. (record_stopped_data_address): Renamed to ... (record_full_stopped_data_address): ... this. Updated all users. (record_registers_change): Renamed to ... (record_full_registers_change): ... this. Updated all users. (record_store_registers): Renamed to ... (record_full_store_registers): ... this. Updated all users. (record_xfer_partial): Renamed to ... (record_full_xfer_partial): ... this. Updated all users. (record_breakpoint): Renamed to ... (record_full_breakpoint): ... this. Updated all users. (record_breakpoint_p): Renamed to ... (record_full_breakpoint_p): ... this. Updated all users. (record_breakpoints): Renamed to ... (record_full_breakpoints): ... this. Updated all users. (record_sync_record_breakpoints): Renamed to ... (record_full_sync_record_breakpoints): ... this. Updated all users. (record_init_record_breakpoints): Renamed to ... (record_full_init_record_breakpoints): ... this. Updated all users. (record_insert_breakpoint): Renamed to ... (record_full_insert_breakpoint): ... this. Updated all users. (record_remove_breakpoint): Renamed to ... (record_full_remove_breakpoint): ... this. Updated all users. (record_can_execute_reverse): Renamed to ... (record_full_can_execute_reverse): ... this. Updated all users. (record_get_bookmark): Renamed to ... (record_full_get_bookmark): ... this. Updated all users. (record_goto_bookmark): Renamed to ... (record_full_goto_bookmark): ... this. Updated all users. (record_async): Renamed to ... (record_full_async): ... this. Updated all users. (record_can_async_p): Renamed to ... (record_full_can_async_p): ... this. Updated all users. (record_is_async_p): Renamed to ... (record_full_is_async_p): ... this. Updated all users. (record_execution_direction): Renamed to ... (record_full_execution_direction): ... this. Updated all users. (record_info): Renamed to ... (record_full_info): ... this. Updated all users. (record_delete): Renamed to ... (record_full_delete): ... this. Updated all users. (record_is_replaying): Renamed to ... (record_full_is_replaying): ... this. Updated all users. (record_goto_entry): Renamed to ... (record_full_goto_entry): ... this. Updated all users. (record_goto_begin): Renamed to ... (record_full_goto_begin): ... this. Updated all users. (record_goto_end): Renamed to ... (record_full_goto_end): ... this. Updated all users. (record_goto): Renamed to ... (record_full_goto): ... this. Updated all users. (init_record_ops): Renamed to ... (init_record_full_ops): ... this. Updated all users. (record_core_resume): Renamed to ... (record_full_core_resume): ... this. Updated all users. (record_core_kill): Renamed to ... (record_full_core_kill): ... this. Updated all users. (record_core_fetch_registers): Renamed to ... (record_full_core_fetch_registers): ... this. Updated all users. (record_core_prepare_to_store): Renamed to ... (record_full_core_prepare_to_store): ... this. Updated all users. (record_core_store_registers): Renamed to ... (record_full_core_store_registers): ... this. Updated all users. (record_core_xfer_partial): Renamed to ... (record_full_core_xfer_partial): ... this. Updated all users. (record_core_insert_breakpoint): Renamed to ... (record_full_core_insert_breakpoint): ... this. Updated all users. (record_core_remove_breakpoint): Renamed to ... (record_full_core_remove_breakpoint): ... this. Updated all users. (record_core_has_execution): Renamed to ... (record_full_core_has_execution): ... this. Updated all users. (init_record_core_ops): Renamed to ... (init_record_full_core_ops): ... this. Updated all users. (cmd_record_restore): Renamed to ... (cmd_record_full_restore): ... this. Updated all users. (record_save_cleanups): Renamed to ... (record_full_save_cleanups): ... this. Updated all users. (cmd_record_start): Renamed to ... (cmd_record_full_start): ... this. Updated all users. (set_record_insn_max_num): Renamed to ... (set_record_full_insn_max_num): ... this. Updated all users. (set_record_command): Renamed to ... (set_record_full_command): ... this. Updated all users. (show_record_command): Renamed to ... (show_record_full_command): ... this. Updated all users. (_initialize_record): Renamed to ... (_initialize_record_full): ... this. Updated all users.
* Split record.h into record.h and record-full.h.mmetzger2013-03-1115-2873/+3408
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Split record.c into record.c and record-full.c. The split leaves the command part in record.c and moves the target part into record-full.c. gdb/ * record.h: Split into this and ... * record-full.h: ... this. * record.c: Split into this and ... * record-full.c: ... this. * target.h (target_ops): Add new fields to_info_record, to_save_record, to_delete_record, to_record_is_replaying, to_goto_record_begin, to_goto_record_end, to_goto_record. (target_info_record): New. (target_save_record): New. (target_supports_delete_record): New. (target_delete_record): New. (target_record_is_replaying): New. (target_goto_record_begin): New. (target_goto_record_end): New. (target_goto_record): New. * target.c (target_info_record): New. (target_save_record): New. (target_supports_delete_record): New. (target_delete_record): New. (target_record_is_replaying): New. (target_goto_record_begin): New. (target_goto_record_end): New. (target_goto_record): New. * record.h: Declare struct cmd_list_element. (record_cmdlist): New declaration. (set_record_cmdlist): New declaration. (show_record_cmdlist): New declaration. (info_record_cmdlist): New declaration. (cmd_record_goto): New declaration. * record.c: Remove unnecessary includes. Include inferior.h. (cmd_record_goto): Remove declaration. (record_cmdlist): Now extern. Initialize. (set_record_cmdlist): Now extern. Initialize. (show_record_cmdlist): Now extern. Initialize. (info_record_cmdlist): Now extern. Initialize. (find_record_target): New. (require_record_target): New. (cmd_record_start): Update. (cmd_record_delete): Remove target-specific code. Call target_delete_record. (cmd_record_stop): Unpush any record target. (set_record_insn_max_num): Move to record-full.c (set_record_command): Add comment. (show_record_command): Add comment. (info_record_command): Update comment. Remove target-specific code. Call the record target's to_info_record. (cmd_record_start): New. (cmd_record_goto): Now extern. Remove target-specific code. Call target_goto_begin, target_goto_end, or target_goto. (_initialize_record): Move record target ops initialization to record-full.c. Change "record" command help text. Move "record restore", "record set", and "record show" commands to record-full.c. * Makefile.in (SFILES): Add record-full.c. (HFILES_NO_SRCDIR): Add record-full.h. (COMMON_OBS): Add record-full.o. * amd64-linux-tdep.c: Include record-full.h instead of record.h. * arm-tdep.c: Include record-full.h. * i386-linux-tdep.c: Include record-full.h instead of record.h. * i386-tdep.c: Include record-full.h. * infrun.c: Include record-full.h. * linux-record.c: Include record-full.h. * moxie-tdep.c: Include record-full.h. * record-full.c: Include record-full.h. Change module comment. (set_record_full_cmdlist): New. (show_record_full_cmdlist): New. (record_full_cmdlist): New. (record_goto_insn): New declaration. (record_save): New declaration. (record_check_insn_num): Change query string. (record_info): New. (record_delete): New. (record_is_replaying): New. (record_goto_entry): New. (record_goto_begin): New. (record_goto_end): New. (record_goto): New. (init_record_ops): Update. (init_record_core_ops): Update. (cmd_record_save): Rename to record_save. Remove target and arg checks. (cmd_record_start): New. (set_record_insn_max_num): Moved from record.c (set_record_full_command): New. (show_record_full_command): New. (_initialize_record_full): New.
* Add a new function to target.h to add an alias command for a target and mark itmmetzger2013-03-113-0/+25
| | | | | | | | deprecated. This is useful when renaming targets. gdb/ * target.h (add_deprecated_target_alias): New. * target.c (add_deprecated_target_alias): New.
* LBR, BTM, or BTS records may have incorrect branch "from" information afer anmmetzger2013-03-112-1/+196
| | | | | | | | | | | | | | | EIST transition, T-states, C1E, or Adaptive Thermal Throttling (AAJ122). This results in sporadic test fails. Disable btrace on those processors. gdb/ * common/linux-btrace.c: Include sys/ptrace, sys/types, sys/wait.h, and signal.h. (linux_supports_btrace): Add kernel and cpuid check. (kernel_supports_btrace): New function. (cpu_supports_btrace): New function. (intel_supports_btrace): New function.
* Document the branch tracing extensions to the remote serial protocol.mmetzger2013-03-112-0/+125
| | | | | | | doc/ * gdb.texinfo (Requirements): List qXfer:btrace:read requiring expat. (General Query Packets): Describe Qbtrace:bts, Qbtrace:off, and qXfer:btrace:read.
* Add the gdb remote target operations for branch tracing.mmetzger2013-03-1113-2/+489
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We define the following packets: Qbtrace:bts enable branch tracing for the current thread returns "OK" or "Enn" Qbtrace:off disable branch tracing for the current thread returns "OK" or "Enn" qXfer:btrace:read read the full branch trace data for the current thread gdb/ * target.h (enum target_object): Add TARGET_OBJECT_BTRACE. * remote.c: Include btrace.h. (struct btrace_target_info): New struct. (remote_supports_btrace): New function. (send_Qbtrace): New function. (remote_enable_btrace): New function. (remote_disable_btrace): New function. (remote_teardown_btrace): New function. (remote_read_btrace): New function. (init_remote_ops): Add btrace ops. (enum <unnamed>): Add btrace packets. (struct protocol_feature remote_protocol_features[]): Add btrace packets. (_initialize_remote): Add packet configuration for branch tracing. gdbserver/ * target.h (struct target_ops): Add btrace ops. (target_supports_btrace): New macro. (target_enable_btrace): New macro. (target_disable_btrace): New macro. (target_read_btrace): New macro. * gdbthread.h (struct thread_info): Add btrace field. * server.c: Include btrace-common.h. (handle_btrace_general_set): New function. (handle_btrace_enable): New function. (handle_btrace_disable): New function. (handle_general_set): Call handle_btrace_general_set. (handle_qxfer_btrace): New function. (struct qxfer qxfer_packets[]): Add btrace entry. * inferiors.c (remove_thread): Disable btrace. * linux-low: Include linux-btrace.h. (linux_low_enable_btrace): New function. (linux_low_read_btrace): New function. (linux_target_ops): Add btrace ops. * configure.srv (i[34567]86-*-linux*): Add linux-btrace.o. Add srv_linux_btrace=yes. (x86_64-*-linux*): Add linux-btrace.o. Add srv_linux_btrace=yes. * configure.ac: Define HAVE_LINUX_BTRACE. * config.in: Regenerated. * configure: Regenerated.
* Preserve a verbose error message of xfer functions if they return -3.mmetzger2013-03-112-4/+18
| | | | | | | gdbserver/ * server.c (handle_qxfer): Preserve error message if -3 is returned. (qxfer): Document the -3 return value.
* Define the xml document style for transferring branch trace data.mmetzger2013-03-115-1/+124
| | | | | | | | | | | | | | | | | Add a function to parse a btrace xml document into a vector of branch trace blocks. gdb/ * features/btrace.dtd: New file. * Makefile.in (XMLFILES): Add btrace.dtd. * btrace.h (parse_xml_btrace): New declaration. * btrace.c: Include xml-support.h. (parse_xml_btrace): New function. (parse_xml_btrace_block): New function. (block_attributes): New struct. (btrace_attributes): New struct. (btrace_children): New struct. (btrace_elements): New struct.
* Install the btrace target ops for i386-linux-nat and amd64-linux-nat.mmetzger2013-03-115-2/+120
| | | | | | | | | | | | | | | | gdb/ * amd64-linux-nat.c: Include btrace.h and linux-btrace.h. (amd64_linux_enable_btrace): New. (amd64_linux_disable_btrace): New. (amd64_linux_teardown_btrace): New. (_initialize_amd64_linux_nat): Initialize btrace ops. * i386-linux.nat.c: Include btrace.h and linux-btrace.h. (i386_linux_enable_btrace): New. (i386_linux_disable_btrace): New. (i386_linux_teardown_btrace): New. (_initialize_i386_linux_nat): Initialize btrace ops. * config/i386/linux.mh: Add linux-btrace.o. * config/i386/linux64.mh: Add linux-btrace.o.
* Implement branch tracing on Linux based on perf_event such that it can be sharedmmetzger2013-03-116-2/+528
| | | | | | | | | | | | | | | | | between gdb and gdbserver. gdb/ * common/linux_btrace.h: New file. * common/linux_btrace.c: New file. * Makefile.in (SFILES): Add btrace.c. (HFILES_NO_SRCDIR): Add common/linux-btrace.h. (COMMON_OBS): Add btrace.o. (linux-btrace.o): New rule. gdbserver/ * Makefile.in (SFILES): Add $(srcdir)/common/linux-btrace.c. (linux_btrace_h): New variable. (linux-btrace.o): New rule.
* Fix ChangeLog date.mmetzger2013-03-111-1/+1
|
* Add branch trace information to struct thread_info.mmetzger2013-03-119-3/+801
| | | | | | | | | | | | | | | | | | | | | | Add functions to enable, disable, clear, and fetch a thread's branch trace. gdb/ * target.h: Include btrace.h. (struct target_ops) <to_supports_btrace, to_enable_btrace, to_disable_btrace, to_teardown_btrace, to_read_btrace>: New. * target.c (target_supports_btrace): New function. (target_enable_btrace): New function. (target_disable_btrace): New function. (target_teardown_btrace): New function. (target_read_btrace): New function. * btrace.h: New file. * btrace.c: New file. * Makefile.in: Add btrace.c. * gdbthread.h: Include btrace.h. (struct thread_info): Add btrace field. * thread.c: Include btrace.h. (clear_thread_inferior_resources): Call target_teardown_btrace. * common/btrace-common.h: New file.
* *** empty log message ***gdbadmin2013-03-111-1/+1
|
* daily updateAlan Modra2013-03-101-1/+1
|
* gdb/Jan Kratochvil2013-03-102-23/+21
| | | | | | * common/linux-ptrace.c (linux_ptrace_test_ret_to_nx): Call also kill for CHILD, ignore PTRACE_KILL errors, move the inner block variable kill_status to outer block.
* gdb/Jan Kratochvil2013-03-106-1/+792
| | | | | | | | | | | | Fix entry-values if the callee called a noreturn function. * dwarf2-frame-tailcall.c (dwarf2_tailcall_sniffer_first): Use get_frame_address_in_block. Add new comment. gdb/testsuite/ Fix entry-values if the callee called a noreturn function. * gdb.arch/amd64-tailcall-noret.S: New file. * gdb.arch/amd64-tailcall-noret.c: New file. * gdb.arch/amd64-tailcall-noret.exp: New file.
* gdb/Jan Kratochvil2013-03-109-4/+768
| | | | | | | | | | | | | | | | | Fix entry-values in C++ across CUs. * dwarf2loc.c (call_site_to_target_addr) <FIELD_LOC_KIND_PHYSNAME>: Use lookup_minimal_symbol. Add a comment. * dwarf2read.c (read_call_site_scope) <is_ref_attr> <die_is_declaration>: Prefer DW_AT_linkage_name. gdb/testsuite/ Fix entry-values in C++ across CUs. * gdb.arch/amd64-tailcall-cxx.exp: New file. * gdb.arch/amd64-tailcall-cxx1.S: New file. * gdb.arch/amd64-tailcall-cxx1.cc: New file. * gdb.arch/amd64-tailcall-cxx2.S: New file. * gdb.arch/amd64-tailcall-cxx2.cc: New file.
* *** empty log message ***gdbadmin2013-03-101-1/+1
|
* daily updateAlan Modra2013-03-091-1/+1
|
* 2013-03-09 Hafiz Abid Qadeer <abidh@codesourcery.com>abidh2013-03-094-5/+5
| | | | Fixed year number in Changelog files.
* Fix last commit.Eli Zaretskii2013-03-092-3/+8
| | | | | doc/gdb.texinfo (General Query Packets, Tracepoint Packets): Don't use colons in @anchor and @cindex entries.
* 2012-03-09 Hafiz Abid Qadeer <abidh@codesourcery.com>abidh2013-03-092-0/+6
| | | | * gdb.texinfo (QTBuffer:size): Add cindex and anchor.
* *** empty log message ***gdbadmin2013-03-091-1/+1
|
* daily updateAlan Modra2013-03-081-1/+1
|
* * elf64-aarch64.c (elf_backend_can_gc_sections): EnableNick Clifton2013-03-082-2/+140
| | | | | | | | | gc-section support. (elf64_aarch64_gc_sweep_hook): Handle GOT, TLS and PLT related relocs. * lib/ld-lib.exp (check_gc_sections_available): Remove aarch64 from list of targets that don't support gc-section.
* PR binutils/15241Nick Clifton2013-03-084-3/+20
| | | | | | | * lm32.cpu (Control and status registers): Add CFG2, PSW, TLBVADDR, TLBPADDR and TLBBADVADDR. * lm32-desc.c: Regenerate.
* * elf-bfd.h (elfcore_write_s390_tdb): Add prototype.Nick Clifton2013-03-085-11/+46
| | | | | | | | | * elf.c (elfcore_write_s390_tdb): New function. (elfcore_write_register_note): Call it. (elfcore_grok_s390_tdb): New function. (elfcore_grok_note): Call it. * readelf.c (get_note_type): Add NT_S390_TDB.
* gdb/qiyao2013-03-082-3/+7
| | | | * tracepoint.c (_initialize_tracepoint): Indent the code.