public inbox for archer-commits@sourceware.org help / color / mirror / Atom feed
From: pmuldoon@sourceware.org To: archer-commits@sourceware.org Subject: [SCM] master: Merge remote branch 'gdb/master' Date: Fri, 12 Nov 2010 11:47:00 -0000 [thread overview] Message-ID: <20101112114712.6004.qmail@sourceware.org> (raw) The branch, master has been updated via 1cc93f904c223a595c3f41894751af0b30445e86 (commit) via 003496e6982380db1773e30170b119c7f3620dff (commit) via 3edd55a2b0f3444c7d37cbf003b73694e54d2bc2 (commit) via ef713b00f2cd6a459d0a54fc135a89b037f8473b (commit) via 7d5a91474a0cdb796031ddc25aa0d107be6eb39d (commit) from f315c52904765d5565ca733990b4669cbdd49e9b (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit 1cc93f904c223a595c3f41894751af0b30445e86 Merge: f315c52 003496e Author: Phil Muldoon <pmuldoon@redhat.com> Date: Fri Nov 12 11:46:56 2010 +0000 Merge remote branch 'gdb/master' commit 003496e6982380db1773e30170b119c7f3620dff Author: DJ Delorie <dj@delorie.com> Date: Fri Nov 12 01:01:12 2010 +0000 * rx.c (lsb_count): New. (divu_cycles): New. (div_cycles): New. (decode_opcode): Fix cycle count math for div, divu, suntil, and swhile. commit 3edd55a2b0f3444c7d37cbf003b73694e54d2bc2 Author: gdbadmin <gdbadmin@sourceware.org> Date: Fri Nov 12 00:00:02 2010 +0000 *** empty log message *** commit ef713b00f2cd6a459d0a54fc135a89b037f8473b Author: Alan Modra <amodra@bigpond.net.au> Date: Thu Nov 11 23:00:05 2010 +0000 daily update commit 7d5a91474a0cdb796031ddc25aa0d107be6eb39d Author: pmuldoon <pmuldoon> Date: Thu Nov 11 14:11:49 2010 +0000 2010-11-11 Phil Muldoon <pmuldoon@redhat.com> * python/py-breakpoint.c (BPPY_REQUIRE_VALID): Check if bp is NULL. (BPPY_SET_REQUIRE_VALID): Ditto. (bpnum_is_valid): Delete function. (bppy_get_visibility): New function. (bppy_new): Parse for, and validate internal keyword. Pass internal keyword to breakpoint or watchpoint functions. (build_bp_list): New function. (gdbpy_breakpoints): Rewrite. Use build_bp_list and iterate_over_breakpoints. (gdbpy_breakpoint_created): Rewrite. Do not store breakpoints in a look-aside vector. (gdbpy_breakpoint_deleted): Rewrite, defer breakpoint management to internal breakpoint chain. * breakpoint.c (set_breakpoint_number): New function. (breakpoint_1): Check if breakpoint number is more than zero. (set_raw_breakpoint_without_location): Set py_bp_object to NULL. (create_breakpoint_sal): Take a new parameter called internal. Call set_breakpoint_number with internal parameter. Do not mention internal breakpoints. All callers updated. (create_breakpoint): Ditto. (create_breakpoints_sal): Ditto. (watch_command_1): Ditto. (watch_command_wrapper): Take a new parameter called internal. All callers updated. (rwatch_command_wrapper): Ditto. (awatch_command_wrapper): Ditto. (save_breakpoints): Update breakpoint save condition check. (iterate_over_breakpoints): New function. * breakpoint.h: Add conditional python includes. Add py_bp_object and comment to struct breakpoint. Update all callers. * defs.h: Add PyObject definition for GDB builds without Python. 2010-11-11 Phil Muldoon <pmuldoon@redhat.com> * gdb.texinfo (Breakpoints In Python): Document "internal" parameter, and visible attribute. 2010-11-11 Phil Muldoon <pmuldoon@redhat.com> * gdb.python/py-breakpoint.exp: Add internal watchpoint and breakpoint tests. ----------------------------------------------------------------------- Summary of changes: bfd/version.h | 2 +- gdb/ChangeLog | 36 ++++++ gdb/breakpoint.c | 137 +++++++++++++++++------- gdb/breakpoint.h | 34 +++++- gdb/defs.h | 4 + gdb/doc/ChangeLog | 5 + gdb/doc/gdb.texinfo | 18 +++- gdb/mi/mi-cmd-break.c | 8 +- gdb/python/py-breakpoint.c | 161 +++++++++++++++------------ gdb/spu-tdep.c | 3 +- gdb/testsuite/ChangeLog | 5 + gdb/testsuite/gdb.python/py-breakpoint.exp | 39 +++++++ gdb/varobj.c | 2 - gdb/version.in | 2 +- sim/rx/ChangeLog | 8 ++ sim/rx/rx.c | 93 +++++++++++++++-- 16 files changed, 422 insertions(+), 135 deletions(-) First 500 lines of diff: diff --git a/bfd/version.h b/bfd/version.h index 7f9f32a..653cfa1 100644 --- a/bfd/version.h +++ b/bfd/version.h @@ -1,4 +1,4 @@ -#define BFD_VERSION_DATE 20101111 +#define BFD_VERSION_DATE 20101112 #define BFD_VERSION @bfd_version@ #define BFD_VERSION_STRING @bfd_version_package@ @bfd_version_string@ #define REPORT_BUGS_TO @report_bugs_to@ diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 8c8a5bd..2c413a3 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,39 @@ +2010-11-11 Phil Muldoon <pmuldoon@redhat.com> + + * python/py-breakpoint.c (BPPY_REQUIRE_VALID): Check if bp is + NULL. + (BPPY_SET_REQUIRE_VALID): Ditto. + (bpnum_is_valid): Delete function. + (bppy_get_visibility): New function. + (bppy_new): Parse for, and validate internal keyword. Pass + internal keyword to breakpoint or watchpoint functions. + (build_bp_list): New function. + (gdbpy_breakpoints): Rewrite. Use build_bp_list and + iterate_over_breakpoints. + (gdbpy_breakpoint_created): Rewrite. Do not store breakpoints in a + look-aside vector. + (gdbpy_breakpoint_deleted): Rewrite, defer breakpoint management + to internal breakpoint chain. + + * breakpoint.c (set_breakpoint_number): New function. + (breakpoint_1): Check if breakpoint number is more than zero. + (set_raw_breakpoint_without_location): Set py_bp_object to NULL. + (create_breakpoint_sal): Take a new parameter called internal. + Call set_breakpoint_number with internal parameter. Do not + mention internal breakpoints. All callers updated. + (create_breakpoint): Ditto. + (create_breakpoints_sal): Ditto. + (watch_command_1): Ditto. + (watch_command_wrapper): Take a new parameter called internal. + All callers updated. + (rwatch_command_wrapper): Ditto. + (awatch_command_wrapper): Ditto. + (save_breakpoints): Update breakpoint save condition check. + (iterate_over_breakpoints): New function. + * breakpoint.h: Add conditional python includes. Add py_bp_object + and comment to struct breakpoint. Update all callers. + * defs.h: Add PyObject definition for GDB builds without Python. + 2010-11-10 Doug Evans <dje@google.com> * python/lib/gdb/command/pretty_printers.py diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index ffa8c52..6b55313 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -2068,6 +2068,24 @@ reattach_breakpoints (int pid) static int internal_breakpoint_number = -1; +/* Set the breakpoint number of B, depending on the value of INTERNAL. + If INTERNAL is non-zero, the breakpoint number will be populated + from internal_breakpoint_number and that variable decremented. + Otherwis the breakpoint number will be populated from + breakpoint_count and that value incremented. Internal breakpoints + do not set the internal var bpnum. */ +static void +set_breakpoint_number (int internal, struct breakpoint *b) +{ + if (internal) + b->number = internal_breakpoint_number--; + else + { + set_breakpoint_count (breakpoint_count + 1); + b->number = breakpoint_count; + } +} + static struct breakpoint * create_internal_breakpoint (struct gdbarch *gdbarch, CORE_ADDR address, enum bptype type) @@ -4939,7 +4957,8 @@ breakpoint_1 (int bnum, int allflag, int (*filter) (const struct breakpoint *)) if (filter && !filter (b)) continue; - if (allflag || user_settable_breakpoint (b)) + if (allflag || (user_settable_breakpoint (b) + && b->number > 0)) { int addr_bit, type_len; @@ -5007,7 +5026,8 @@ breakpoint_1 (int bnum, int allflag, int (*filter) (const struct breakpoint *)) /* We only print out user settable breakpoints unless the allflag is set. */ - if (allflag || user_settable_breakpoint (b)) + if (allflag || (user_settable_breakpoint (b) + && b->number > 0)) print_one_breakpoint (b, &last_loc, print_address_bits, allflag); } } @@ -5456,6 +5476,7 @@ set_raw_breakpoint_without_location (struct gdbarch *gdbarch, b->syscalls_to_be_caught = NULL; b->ops = NULL; b->condition_not_parsed = 0; + b->py_bp_object = NULL; /* Add this breakpoint to the end of the chain so that a list of breakpoints will come out in order @@ -6914,7 +6935,8 @@ create_breakpoint_sal (struct gdbarch *gdbarch, char *cond_string, enum bptype type, enum bpdisp disposition, int thread, int task, int ignore_count, - struct breakpoint_ops *ops, int from_tty, int enabled) + struct breakpoint_ops *ops, int from_tty, + int enabled, int internal) { struct breakpoint *b = NULL; int i; @@ -6951,8 +6973,7 @@ create_breakpoint_sal (struct gdbarch *gdbarch, if (i == 0) { b = set_raw_breakpoint (gdbarch, sal, type); - set_breakpoint_count (breakpoint_count + 1); - b->number = breakpoint_count; + set_breakpoint_number (internal, b); b->thread = thread; b->task = task; @@ -7034,7 +7055,12 @@ Couldn't determine the static tracepoint marker to probe")); = xstrprintf ("*%s", paddress (b->loc->gdbarch, b->loc->address)); b->ops = ops; - mention (b); + if (internal) + /* Do not mention breakpoints with a negative number, but do + notify observers. */ + observer_notify_breakpoint_created (b->number); + else + mention (b); } /* Remove element at INDEX_TO_REMOVE from SAL, shifting other @@ -7190,7 +7216,7 @@ create_breakpoints_sal (struct gdbarch *gdbarch, enum bptype type, enum bpdisp disposition, int thread, int task, int ignore_count, struct breakpoint_ops *ops, int from_tty, - int enabled) + int enabled, int internal) { int i; @@ -7201,7 +7227,8 @@ create_breakpoints_sal (struct gdbarch *gdbarch, create_breakpoint_sal (gdbarch, expanded, addr_string[i], cond_string, type, disposition, - thread, task, ignore_count, ops, from_tty, enabled); + thread, task, ignore_count, ops, + from_tty, enabled, internal); } } @@ -7470,8 +7497,10 @@ decode_static_tracepoint_spec (char **arg_p) parameter. If non-zero, the function will parse arg, extracting breakpoint location, address and thread. Otherwise, ARG is just the location of breakpoint, with condition and thread specified by the - COND_STRING and THREAD parameters. Returns true if any breakpoint - was created; false otherwise. */ + COND_STRING and THREAD parameters. If INTERNAL is non-zero, the + breakpoint number will be allocated from the internal breakpoint + count. Returns true if any breakpoint was created; false + otherwise. */ int create_breakpoint (struct gdbarch *gdbarch, @@ -7481,8 +7510,7 @@ create_breakpoint (struct gdbarch *gdbarch, int ignore_count, enum auto_boolean pending_break_support, struct breakpoint_ops *ops, - int from_tty, - int enabled) + int from_tty, int enabled, int internal) { struct gdb_exception e; struct symtabs_and_lines sals; @@ -7658,12 +7686,15 @@ create_breakpoint (struct gdbarch *gdbarch, cond_string, type_wanted, tempflag ? disp_del : disp_donttouch, thread, task, ignore_count, ops, - from_tty, enabled); + from_tty, enabled, internal); do_cleanups (old_chain); /* Get the tracepoint we just created. */ - tp = get_breakpoint (breakpoint_count); + if (internal) + tp = get_breakpoint (internal_breakpoint_number); + else + tp = get_breakpoint (breakpoint_count); gdb_assert (tp != NULL); /* Given that its possible to have multiple markers with @@ -7679,7 +7710,7 @@ create_breakpoint (struct gdbarch *gdbarch, create_breakpoints_sal (gdbarch, sals, addr_string, cond_string, type_wanted, tempflag ? disp_del : disp_donttouch, thread, task, ignore_count, ops, from_tty, - enabled); + enabled, internal); } else { @@ -7688,8 +7719,7 @@ create_breakpoint (struct gdbarch *gdbarch, make_cleanup (xfree, copy_arg); b = set_raw_breakpoint_without_location (gdbarch, type_wanted); - set_breakpoint_count (breakpoint_count + 1); - b->number = breakpoint_count; + set_breakpoint_number (internal, b); b->thread = -1; b->addr_string = addr_string[0]; b->cond_string = NULL; @@ -7699,13 +7729,19 @@ create_breakpoint (struct gdbarch *gdbarch, b->ops = ops; b->enable_state = enabled ? bp_enabled : bp_disabled; b->pspace = current_program_space; + b->py_bp_object = NULL; if (enabled && b->pspace->executing_startup && (b->type == bp_breakpoint || b->type == bp_hardware_breakpoint)) b->enable_state = bp_startup_disabled; - mention (b); + if (internal) + /* Do not mention breakpoints with a negative number, + but do notify observers. */ + observer_notify_breakpoint_created (b->number); + else + mention (b); } if (sals.nelts > 1) @@ -7750,7 +7786,8 @@ break_command_1 (char *arg, int flag, int from_tty) pending_break_support, NULL /* breakpoint_ops */, from_tty, - 1 /* enabled */); + 1 /* enabled */, + 0 /* internal */); } @@ -8017,7 +8054,8 @@ watchpoint_exp_is_const (const struct expression *exp) hw_read: watch read, hw_access: watch access (read or write) */ static void -watch_command_1 (char *arg, int accessflag, int from_tty, int just_location) +watch_command_1 (char *arg, int accessflag, int from_tty, + int just_location, int internal) { struct breakpoint *b, *scope_breakpoint = NULL; struct expression *exp; @@ -8225,8 +8263,7 @@ watch_command_1 (char *arg, int accessflag, int from_tty, int just_location) /* Now set up the breakpoint. */ b = set_raw_breakpoint_without_location (NULL, bp_type); - set_breakpoint_count (breakpoint_count + 1); - b->number = breakpoint_count; + set_breakpoint_number (internal, b); b->thread = thread; b->disposition = disp_donttouch; b->exp = exp; @@ -8285,8 +8322,12 @@ watch_command_1 (char *arg, int accessflag, int from_tty, int just_location) /* Finally update the new watchpoint. This creates the locations that should be inserted. */ update_watchpoint (b, 1); - - mention (b); + if (internal) + /* Do not mention breakpoints with a negative number, but do + notify observers. */ + observer_notify_breakpoint_created (b->number); + else + mention (b); update_global_location_list (1); } @@ -8370,9 +8411,9 @@ can_use_hardware_watchpoint (struct value *v) } void -watch_command_wrapper (char *arg, int from_tty) +watch_command_wrapper (char *arg, int from_tty, int internal) { - watch_command_1 (arg, hw_write, from_tty, 0); + watch_command_1 (arg, hw_write, from_tty, 0, internal); } /* A helper function that looks for an argument at the start of a @@ -8408,7 +8449,7 @@ watch_maybe_just_location (char *arg, int accessflag, int from_tty) just_location = 1; } - watch_command_1 (arg, accessflag, from_tty, just_location); + watch_command_1 (arg, accessflag, from_tty, just_location, 0); } static void @@ -8418,9 +8459,9 @@ watch_command (char *arg, int from_tty) } void -rwatch_command_wrapper (char *arg, int from_tty) +rwatch_command_wrapper (char *arg, int from_tty, int internal) { - watch_command_1 (arg, hw_read, from_tty, 0); + watch_command_1 (arg, hw_read, from_tty, 0, internal); } static void @@ -8430,9 +8471,9 @@ rwatch_command (char *arg, int from_tty) } void -awatch_command_wrapper (char *arg, int from_tty) +awatch_command_wrapper (char *arg, int from_tty, int internal) { - watch_command_1 (arg, hw_access, from_tty, 0); + watch_command_1 (arg, hw_access, from_tty, 0, internal); } static void @@ -8790,7 +8831,8 @@ handle_gnu_v3_exceptions (int tempflag, char *cond_string, 0, AUTO_BOOLEAN_TRUE /* pending */, &gnu_v3_exception_catchpoint_ops, from_tty, - 1 /* enabled */); + 1 /* enabled */, + 0 /* internal */); return 1; } @@ -11010,7 +11052,8 @@ trace_command (char *arg, int from_tty) pending_break_support, NULL, from_tty, - 1 /* enabled */)) + 1 /* enabled */, + 0 /* internal */)) set_tracepoint_count (breakpoint_count); } @@ -11026,7 +11069,8 @@ ftrace_command (char *arg, int from_tty) pending_break_support, NULL, from_tty, - 1 /* enabled */)) + 1 /* enabled */, + 0 /* internal */)) set_tracepoint_count (breakpoint_count); } @@ -11044,7 +11088,8 @@ strace_command (char *arg, int from_tty) pending_break_support, NULL, from_tty, - 1 /* enabled */)) + 1 /* enabled */, + 0 /* internal */)) set_tracepoint_count (breakpoint_count); } @@ -11106,7 +11151,8 @@ create_tracepoint_from_upload (struct uploaded_tp *utp) pending_break_support, NULL, 0 /* from_tty */, - utp->enabled /* enabled */)) + utp->enabled /* enabled */, + 0 /* internal */)) return NULL; set_tracepoint_count (breakpoint_count); @@ -11372,7 +11418,7 @@ save_breakpoints (char *filename, int from_tty, ALL_BREAKPOINTS (tp) { /* Skip internal and momentary breakpoints. */ - if (!user_settable_breakpoint (tp)) + if (!user_settable_breakpoint (tp) || tp->number < 0) continue; /* If we have a filter, only save the breakpoints it accepts. */ @@ -11410,7 +11456,7 @@ save_breakpoints (char *filename, int from_tty, ALL_BREAKPOINTS (tp) { /* Skip internal and momentary breakpoints. */ - if (!user_settable_breakpoint (tp)) + if (!user_settable_breakpoint (tp) || tp->number < 0) continue; /* If we have a filter, only save the breakpoints it accepts. */ @@ -11627,6 +11673,21 @@ save_command (char *arg, int from_tty) help_list (save_cmdlist, "save ", -1, gdb_stdout); } +struct breakpoint * +iterate_over_breakpoints (int (*callback) (struct breakpoint *, void *), + void *data) +{ + struct breakpoint *b, *temp; + + ALL_BREAKPOINTS_SAFE (b, temp) + { + if ((*callback) (b, data)) + return b; + } + + return NULL; +} + void _initialize_breakpoint (void) { diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h index 9f7600a..e34c2d3 100644 --- a/gdb/breakpoint.h +++ b/gdb/breakpoint.h @@ -24,6 +24,11 @@ #include "value.h" #include "vec.h" +#if HAVE_PYTHON +#include "python/python.h" +#include "python/python-internal.h" +#endif + struct value; struct block; @@ -557,7 +562,14 @@ struct breakpoint breakpoints, we will use this index to try to find the same marker again. */ int static_trace_marker_id_idx; - }; + + /* With a Python scripting enabled GDB, store a reference to the + Python object that has been associated with this breakpoint. + This is always NULL for a GDB that is not script enabled. It + can sometimes be NULL for enabled GDBs as not all breakpoint + types are tracked by the Python scripting API. */ + PyObject *py_bp_object; +}; typedef struct breakpoint *breakpoint_p; DEF_VEC_P(breakpoint_p); @@ -855,9 +867,9 @@ extern void break_command (char *, int); extern void hbreak_command_wrapper (char *, int); extern void thbreak_command_wrapper (char *, int); extern void rbreak_command_wrapper (char *, int); -extern void watch_command_wrapper (char *, int); -extern void awatch_command_wrapper (char *, int); -extern void rwatch_command_wrapper (char *, int); +extern void watch_command_wrapper (char *, int, int); +extern void awatch_command_wrapper (char *, int, int); +extern void rwatch_command_wrapper (char *, int, int); extern void tbreak_command (char *, int); extern int create_breakpoint (struct gdbarch *gdbarch, char *arg, @@ -868,7 +880,8 @@ extern int create_breakpoint (struct gdbarch *gdbarch, char *arg, enum auto_boolean pending_break_support, struct breakpoint_ops *ops, int from_tty, - int enabled); + int enabled, + int internal); extern void insert_breakpoints (void); @@ -1101,4 +1114,15 @@ extern void check_tracepoint_command (char *line, void *closure); extern void start_rbreak_breakpoints (void); extern void end_rbreak_breakpoints (void); +/* Breakpoint iterator function. + + Calls a callback function once for each breakpoint, so long as the + callback function returns false. If the callback function returns + true, the iteration will end and the current breakpoint will be + returned. This can be useful for implementing a search for a + breakpoint with arbitrary attributes, or for applying an operation + to every breakpoint. */ +extern struct breakpoint *iterate_over_breakpoints (int (*) (struct breakpoint *, + void *), void *); + #endif /* !defined (BREAKPOINT_H) */ diff --git a/gdb/defs.h b/gdb/defs.h index 489de74..d36f7c1 100644 --- a/gdb/defs.h +++ b/gdb/defs.h hooks/post-receive -- Repository for Project Archer.
next reply other threads:[~2010-11-12 11:47 UTC|newest] Thread overview: 120+ messages / expand[flat|nested] mbox.gz Atom feed top 2010-11-12 11:47 pmuldoon [this message] -- strict thread matches above, loose matches on Subject: below -- 2011-02-01 19:25 jkratoch 2011-01-29 16:44 jkratoch 2011-01-25 12:53 pmuldoon 2011-01-25 9:10 jkratoch 2011-01-17 13:31 pmuldoon 2011-01-15 11:35 jkratoch 2011-01-14 8:04 jkratoch 2011-01-10 12:00 pmuldoon 2011-01-10 9:10 jkratoch 2011-01-07 5:57 jkratoch 2011-01-06 12:22 pmuldoon 2011-01-04 4:59 jkratoch 2010-12-31 22:30 jkratoch 2010-12-30 7:22 jkratoch 2010-12-22 20:11 swagiaal 2010-12-14 17:13 jkratoch 2010-12-14 8:27 pmuldoon 2010-12-10 17:16 jkratoch 2010-12-08 15:55 pmuldoon 2010-12-06 6:40 jkratoch 2010-12-04 1:03 jkratoch 2010-12-02 15:47 pmuldoon 2010-11-30 0:15 jkratoch 2010-11-28 18:02 jkratoch 2010-11-28 5:41 jkratoch 2010-11-16 5:04 jkratoch 2010-11-11 11:39 pmuldoon 2010-11-10 9:09 pmuldoon 2010-11-08 9:34 pmuldoon 2010-11-07 18:15 jkratoch 2010-10-22 14:28 pmuldoon 2010-10-20 12:48 pmuldoon 2010-10-19 16:01 pmuldoon 2010-10-17 20:27 jkratoch 2010-10-15 17:07 jkratoch 2010-10-14 20:55 jkratoch 2010-10-13 15:06 jkratoch 2010-10-12 16:45 jkratoch 2010-10-11 9:21 jkratoch 2010-10-11 8:47 pmuldoon 2010-10-06 9:00 pmuldoon 2010-09-30 8:56 pmuldoon 2010-09-27 9:48 jkratoch 2010-09-20 12:34 pmuldoon 2010-09-16 20:49 ratmice 2010-09-04 19:59 jkratoch 2010-09-03 7:26 jkratoch 2010-09-02 15:04 jkratoch 2010-09-01 15:29 swagiaal 2010-08-23 13:54 jkratoch 2010-08-20 17:49 jkratoch 2010-08-12 15:19 swagiaal 2010-08-06 15:32 jkratoch 2010-07-29 19:17 swagiaal 2010-07-22 16:57 jkratoch 2010-07-22 16:26 jkratoch 2010-07-20 18:51 jkratoch 2010-07-09 8:09 jkratoch 2010-06-24 8:55 jkratoch 2010-06-23 20:56 jkratoch 2010-06-17 12:53 jkratoch 2010-06-07 8:14 jkratoch 2010-06-02 19:03 jkratoch 2010-05-28 21:27 jkratoch 2010-05-26 18:36 swagiaal 2010-05-17 18:02 jkratoch 2010-05-17 1:04 jkratoch 2010-05-10 19:30 swagiaal 2010-05-05 14:24 swagiaal 2010-05-03 13:49 jkratoch 2010-05-03 8:48 jkratoch 2010-05-02 23:10 jkratoch 2010-05-02 15:54 jkratoch 2010-04-30 7:11 jkratoch 2010-04-28 11:44 jkratoch 2010-04-25 20:22 jkratoch 2010-04-09 20:37 jkratoch 2010-04-07 1:41 jkratoch 2010-04-05 10:11 jkratoch 2010-04-04 11:58 jkratoch 2010-03-22 23:58 jkratoch 2010-03-20 17:23 jkratoch 2010-03-18 10:01 jkratoch 2010-03-17 18:04 jkratoch 2010-03-12 18:35 jkratoch 2010-03-04 22:28 jkratoch 2010-03-01 22:16 jkratoch 2010-02-26 22:16 jkratoch 2010-02-26 17:50 jkratoch 2010-02-17 16:01 swagiaal 2010-02-13 22:51 jkratoch 2010-02-11 12:51 jkratoch 2010-02-09 19:01 jkratoch 2010-02-08 21:46 jkratoch 2010-02-03 4:38 jkratoch 2010-01-31 17:25 jkratoch 2010-01-28 19:17 swagiaal 2010-01-28 10:56 jkratoch 2010-01-27 19:21 swagiaal 2010-01-27 8:08 jkratoch 2010-01-26 18:58 swagiaal 2010-01-20 21:48 jkratoch 2010-01-15 2:09 jkratoch 2010-01-15 0:52 jkratoch 2010-01-14 22:23 jkratoch 2010-01-13 20:53 jkratoch 2010-01-10 20:47 jkratoch 2010-01-09 10:03 jkratoch 2010-01-09 8:41 jkratoch 2010-01-08 19:16 jkratoch 2009-12-06 17:43 jkratoch 2009-12-03 16:32 jkratoch 2009-11-30 13:59 jkratoch 2009-11-24 21:21 jkratoch 2009-11-21 9:24 jkratoch 2009-11-20 21:06 jkratoch 2009-11-20 15:57 jkratoch 2009-11-17 19:59 jkratoch 2009-11-16 2:22 jkratoch
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20101112114712.6004.qmail@sourceware.org \ --to=pmuldoon@sourceware.org \ --cc=archer-commits@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).