• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

GNU Binutils with patches for OS216


Commit MetaInfo

Revisión1f8a316b13dd3ff6cb8e27aef3a3d3e514af26db (tree)
Tiempo2006-04-01 05:35:47
AutorMichael Snyder <msnyder@vmwa...>
CommiterMichael Snyder

Log Message

2006-03-31 Michael Snyder <msnyder@redhat.com>

Target interface for reverse execution.
* target.h (enum target_waitkind):
Add new wait event, TARGET_WAITKIND_NO_HISTORY.
(enum exec_direction_kind): New enum.
(struct target_ops): New methods to_set_execdir, to_get_execdir.
(target_set_execution_direction): New macro.
(target_get_execution_direction): New macro.
* target.c (update_current_target): Inherit new execdir methods.

Cambiar Resumen

Diferencia incremental

--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,128 @@
1+2006-03-31 Michael Snyder <msnyder@redhat.com>
2+
3+ Target interface for reverse execution.
4+ * target.h (enum target_waitkind):
5+ Add new wait event, TARGET_WAITKIND_NO_HISTORY.
6+ (enum exec_direction_kind): New enum.
7+ (struct target_ops): New methods to_set_execdir, to_get_execdir.
8+ (target_set_execution_direction): New macro.
9+ (target_get_execution_direction): New macro.
10+ * target.c (update_current_target): Inherit new execdir methods.
11+
12+2006-03-31 Andrew Stubbs <andrew.stubbs@st.com>
13+
14+ * value.h (struct internalvar): Add field 'endian'.
15+ * value.c (lookup_internalvar): Initialise endian.
16+ (value_of_internalvar): Flip the endian of built-in types if required.
17+ (set_internalvar): Set the endian.
18+ (show_convenience): Access the value through value_of_internalvar().
19+
20+2006-03-30 Vladimir Prus <ghost@cs.msu.su>
21+
22+ * remote.c (watchpoint_to_Z_packet): Use values of Z_packet_type enum
23+ instead of hardcoded integer literals.
24+
25+2006-03-30 Daniel Jacobowitz <dan@codesourcery.com>
26+
27+ * cli/cli-script.c (insert_args): Handle NULL user_args.
28+
29+2006-03-30 Daniel Jacobowitz <dan@codesourcery.com>
30+
31+ * arm-tdep.c (thumb_scan_prologue): Don't try to analyze
32+ the function at zero if we have no symbols.
33+
34+2006-03-30 Adrien Kunysz <a_kunysz@yahoo.com>
35+
36+ * i386-stub.c (getpacket): Fix array overflow.
37+ * m32r-stub.c (getpacket): Likewise.
38+ * m68k-stub.c (getpacket): Likewise.
39+ * sh-stub.c (getpacket): Likewise.
40+ * sparc-stub.c (getpacket): Likewise.
41+
42+2006-03-30 Daniel Jacobowitz <dan@codesourcery.com>
43+
44+ * frame.h (set_current_sal_from_frame): New prototype.
45+ * stack.c (set_current_sal_from_frame): Make global.
46+ * infrun.c (normal_stop): Call set_current_sal_from_frame.
47+
48+2006-03-30 Daniel Jacobowitz <dan@codesourcery.com>
49+
50+ * linux-thread-db.c: Include "linux-nat.h".
51+ (check_for_thread_db): New function, split out from
52+ thread_db_new_objfile. Remove dead check for active
53+ thread_db on inapplicable targets.
54+ (thread_db_new_objfile): Call check_for_thread_db.
55+ * Makefile.in (linux-thread-db.o): Update.
56+ * linux-nat.c (child_post_attach): Call check_for_thread_db.
57+ (linux_child_post_startup_inferior): Likewise.
58+ (lin_lwp_attach_lwp): Call target_post_attach instead of
59+ child_post_attach.
60+ * linux-nat.h (check_for_thread_db): New prototype.
61+
62+2006-03-30 Daniel Jacobowitz <dan@codesourcery.com>
63+
64+ * remote.c (struct remote_state): Add BUF and BUF_SIZE.
65+ (init_remote_state): Initialize the new fields.
66+ (get_memory_packet_size): Update BUF and BUF_SIZE if necessary.
67+ (set_thread, remote_thread_alive, remote_unpack_thread_info_response)
68+ (remote_get_threadinfo, parse_threadlist_response)
69+ (remote_get_threadlist, remote_current_thread, remote_threads_info)
70+ (remote_threads_extra_info, extended_remote_restart, get_offsets)
71+ (remote_check_symbols, remote_open_1, remote_detach)
72+ (remove_vcont_probe, remote_vcont_resume, remote_resume)
73+ (remote_wait, remote_async_wait, fetch_register_using_p)
74+ (remote_fetch_registers, store_register_using_P)
75+ (remote_store_registers, check_binary_download, remote_write_bytes)
76+ (remote_read_bytes, remote_insert_breakpoint)
77+ (remote_remove_breakpoint, remote_insert_watchpoint)
78+ (remote_remove_watchpoint, remote_insert_hw_breakpoint)
79+ (remote_remove_hw_breakpoint, compare_sections_command)
80+ (remote_xfer_partial, remote_rcmd, packet_command)
81+ (remote_get_thread_local_address): Use the global incoming buffer
82+ instead of alloca or xmalloc. Limit outgoing packets to
83+ rs->remote_packet_size and incoming packets to rs->buf_size.
84+ Update calls to getpkt and remote_send.
85+ (remote_send): Take arguments by reference.
86+ (putpkt_binary): Eliminate junkbuf. Use skip_frame.
87+ (skip_frame): New function.
88+ (read_frame): Take arguments by reference. Expand the packet
89+ buffer instead of issuing an error.
90+ (getpkt, getpkt_sane): Take arguments by reference.
91+ * remote.h (getpkt): Update prototype and doc.
92+ * tracepoint.c (remote_get_noisy_reply): Take arguments by
93+ reference.
94+ (target_buf): Change from array to pointer.
95+ (target_buf_size): New variable.
96+ (remote_set_transparent_ranges): Update call to getpkt.
97+ (trace_start_command, trace_stop_command, trace_status_command):
98+ Update calls to remote_get_noisy_reply.
99+ (finish_tfind_command): Take arguments by reference.
100+ (trace_find_command, trace_find_pc_command)
101+ (trace_find_tracepoint_command, trace_find_line_command):
102+ (trace_find_range_command, trace_find_outside_command): Update
103+ calls to finish_tfind_command.
104+ (_initialize_tracepoint): Initialize target_buf_size and target_buf.
105+
106+2005-03-30 Randolph Chung <tausq@debian.org>
107+
108+ * hppa-linux-tdep.c: Include regset.h.
109+ (GR_REGNUM, TR_REGNUM, greg_map): New.
110+ (hppa_linux_supply_regset, hppa_linux_supply_fpregset): New.
111+ (hppa_linux_regset, hppa_linux_fpregset): New.
112+ (hppa_linux_regset_from_core_section): New.
113+ (hppa_linux_init_abi): Set regset_from_core_section.
114+ (_initialize_hppa_linux_tdep): Register osabi handler for
115+ 64-bit Linux.
116+ * Makefile.in (hppa-linux-tdep.o): Update dependencies.
117+ * config/pa/linux.mh: Stop using core-regset.o
118+
119+2006-03-30 Randolph Chung <tausq@debian.org>
120+
121+ * hppa-tdep.c (hppa_find_unwind_entry_in_block): New.
122+ (hppa_frame_cache): Use new function to find unwind entry.
123+ (hppa_frame_this_id): Likewise.
124+ (hppa_frame_unwind_sniffer): Likewise.
125+
1126 2006-03-29 Daniel Jacobowitz <dan@codesourcery.com>
2127
3128 * NEWS: Mention the removal of NLM.
--- a/gdb/target.c
+++ b/gdb/target.c
@@ -457,6 +457,8 @@ update_current_target (void)
457457 INHERIT (to_find_memory_regions, t);
458458 INHERIT (to_make_corefile_notes, t);
459459 INHERIT (to_get_thread_local_address, t);
460+ INHERIT (to_get_execdir, t);
461+ INHERIT (to_set_execdir, t);
460462 INHERIT (to_magic, t);
461463 }
462464 #undef INHERIT
--- a/gdb/target.h
+++ b/gdb/target.h
@@ -129,7 +129,11 @@ enum target_waitkind
129129 inferior, rather than being stuck in the remote_async_wait()
130130 function. This way the event loop is responsive to other events,
131131 like for instance the user typing. */
132- TARGET_WAITKIND_IGNORE
132+ TARGET_WAITKIND_IGNORE,
133+
134+ /* The target has run out of history information,
135+ and cannot run backward any further. */
136+ TARGET_WAITKIND_NO_HISTORY
133137 };
134138
135139 struct target_waitstatus
@@ -148,6 +152,14 @@ struct target_waitstatus
148152 value;
149153 };
150154
155+/* Reverse execution. */
156+enum exec_direction_kind
157+ {
158+ EXEC_FORWARD,
159+ EXEC_REVERSE,
160+ EXEC_ERROR
161+ };
162+
151163 /* Possible types of events that the inferior handler will have to
152164 deal with. */
153165 enum inferior_event_type
@@ -423,6 +435,11 @@ struct target_ops
423435 gdb_byte *readbuf, const gdb_byte *writebuf,
424436 ULONGEST offset, LONGEST len);
425437
438+ /* Set execution direction (forward/reverse). */
439+ int (*to_set_execdir) (enum exec_direction_kind);
440+ /* Get execution direction (forward/reverse). */
441+ enum exec_direction_kind (*to_get_execdir) (void);
442+
426443 int to_magic;
427444 /* Need sub-structure for target machine related rather than comm related?
428445 */
@@ -1074,6 +1091,18 @@ extern int target_stopped_data_address_p (struct target_ops *);
10741091 #define target_stopped_data_address_p(CURRENT_TARGET) (1)
10751092 #endif
10761093
1094+/* Forward/reverse execution direction.
1095+ These will only be implemented by a target that supports reverse execution.
1096+*/
1097+#define target_get_execution_direction() \
1098+ (current_target.to_get_execdir ? \
1099+ (*current_target.to_get_execdir) () : EXEC_ERROR)
1100+
1101+#define target_set_execution_direction(DIR) \
1102+ (current_target.to_set_execdir ? \
1103+ (*current_target.to_set_execdir) (DIR) : EXEC_ERROR)
1104+
1105+
10771106 /* This will only be defined by a target that supports catching vfork events,
10781107 such as HP-UX.
10791108