diff options
Diffstat (limited to 'openwrt/toolchain/gdb/patches/600-debian_10.selected-frame.patch')
-rw-r--r-- | openwrt/toolchain/gdb/patches/600-debian_10.selected-frame.patch | 552 |
1 files changed, 0 insertions, 552 deletions
diff --git a/openwrt/toolchain/gdb/patches/600-debian_10.selected-frame.patch b/openwrt/toolchain/gdb/patches/600-debian_10.selected-frame.patch deleted file mode 100644 index 5970f9b..0000000 --- a/openwrt/toolchain/gdb/patches/600-debian_10.selected-frame.patch +++ /dev/null @@ -1,552 +0,0 @@ -2004-10-11 - -This patch is not submitted. Many of these functions should be passing -a frame around rather than calling get_selected_frame, but at least it -is an improvement over deprecated_selected_frame. - -Index: gdb-6.3/gdb/breakpoint.c -=================================================================== ---- gdb-6.3.orig/gdb/breakpoint.c 2004-10-08 13:30:46.000000000 -0400 -+++ gdb-6.3/gdb/breakpoint.c 2004-11-09 22:55:11.231620957 -0500 -@@ -922,7 +922,7 @@ insert_bp_location (struct bp_location * - /* FIXME drow/2003-09-09: It would be nice if evaluate_expression - took a frame parameter, so that we didn't have to change the - selected frame. */ -- saved_frame_id = get_frame_id (deprecated_selected_frame); -+ saved_frame_id = get_frame_id (get_selected_frame ()); - - /* Determine if the watchpoint is within scope. */ - if (bpt->owner->exp_valid_block == NULL) -@@ -5464,14 +5464,9 @@ break_at_finish_at_depth_command_1 (char - - if (default_breakpoint_valid) - { -- if (deprecated_selected_frame) -- { -- selected_pc = get_frame_pc (deprecated_selected_frame); -- if (arg) -- if_arg = 1; -- } -- else -- error ("No selected frame."); -+ selected_pc = get_frame_pc (get_selected_frame ()); -+ if (arg) -+ if_arg = 1; - } - else - error ("No default breakpoint address now."); -@@ -5542,15 +5537,10 @@ break_at_finish_command_1 (char *arg, in - { - if (default_breakpoint_valid) - { -- if (deprecated_selected_frame) -- { -- addr_string = xstrprintf ("*0x%s", -- paddr_nz (get_frame_pc (deprecated_selected_frame))); -- if (arg) -- if_arg = 1; -- } -- else -- error ("No selected frame."); -+ addr_string = xstrprintf ("*0x%s", -+ paddr_nz (get_frame_pc (get_selected_frame ()))); -+ if (arg) -+ if_arg = 1; - } - else - error ("No default breakpoint address now."); -@@ -6082,7 +6072,7 @@ until_break_command (char *arg, int from - { - struct symtabs_and_lines sals; - struct symtab_and_line sal; -- struct frame_info *prev_frame = get_prev_frame (deprecated_selected_frame); -+ struct frame_info *prev_frame = get_prev_frame (get_selected_frame ()); - struct breakpoint *breakpoint; - struct cleanup *old_chain; - struct continuation_arg *arg1; -@@ -6119,7 +6109,7 @@ until_break_command (char *arg, int from - /* Otherwise, specify the current frame, because we want to stop only - at the very same frame. */ - breakpoint = set_momentary_breakpoint (sal, -- get_frame_id (deprecated_selected_frame), -+ get_frame_id (get_selected_frame ()), - bp_until); - - if (!target_can_async_p ()) -Index: gdb-6.3/gdb/cli/cli-cmds.c -=================================================================== ---- gdb-6.3.orig/gdb/cli/cli-cmds.c 2004-09-11 06:24:53.000000000 -0400 -+++ gdb-6.3/gdb/cli/cli-cmds.c 2004-11-09 22:51:07.323246218 -0500 -@@ -845,10 +845,7 @@ disassemble_command (char *arg, int from - name = NULL; - if (!arg) - { -- if (!deprecated_selected_frame) -- error ("No frame selected.\n"); -- -- pc = get_frame_pc (deprecated_selected_frame); -+ pc = get_frame_pc (get_selected_frame ()); - if (find_pc_partial_function (pc, &name, &low, &high) == 0) - error ("No function contains program counter for selected frame.\n"); - #if defined(TUI) -Index: gdb-6.3/gdb/f-valprint.c -=================================================================== ---- gdb-6.3.orig/gdb/f-valprint.c 2003-10-14 02:51:14.000000000 -0400 -+++ gdb-6.3/gdb/f-valprint.c 2004-11-09 22:51:07.326245632 -0500 -@@ -76,7 +76,7 @@ f77_get_dynamic_lowerbound (struct type - switch (TYPE_ARRAY_LOWER_BOUND_TYPE (type)) - { - case BOUND_BY_VALUE_ON_STACK: -- current_frame_addr = get_frame_base (deprecated_selected_frame); -+ current_frame_addr = get_frame_base (get_selected_frame ()); - if (current_frame_addr > 0) - { - *lower_bound = -@@ -100,7 +100,7 @@ f77_get_dynamic_lowerbound (struct type - break; - - case BOUND_BY_REF_ON_STACK: -- current_frame_addr = get_frame_base (deprecated_selected_frame); -+ current_frame_addr = get_frame_base (get_selected_frame ()); - if (current_frame_addr > 0) - { - ptr_to_lower_bound = -@@ -134,7 +134,7 @@ f77_get_dynamic_upperbound (struct type - switch (TYPE_ARRAY_UPPER_BOUND_TYPE (type)) - { - case BOUND_BY_VALUE_ON_STACK: -- current_frame_addr = get_frame_base (deprecated_selected_frame); -+ current_frame_addr = get_frame_base (get_selected_frame ()); - if (current_frame_addr > 0) - { - *upper_bound = -@@ -163,7 +163,7 @@ f77_get_dynamic_upperbound (struct type - break; - - case BOUND_BY_REF_ON_STACK: -- current_frame_addr = get_frame_base (deprecated_selected_frame); -+ current_frame_addr = get_frame_base (get_selected_frame ()); - if (current_frame_addr > 0) - { - ptr_to_upper_bound = -@@ -630,10 +630,7 @@ info_common_command (char *comname, int - first make sure that it is visible and if so, let - us display its contents */ - -- fi = deprecated_selected_frame; -- -- if (fi == NULL) -- error ("No frame selected"); -+ fi = get_selected_frame (); - - /* The following is generally ripped off from stack.c's routine - print_frame_info() */ -@@ -722,10 +719,7 @@ there_is_a_visible_common_named (char *c - if (comname == NULL) - error ("Cannot deal with NULL common name!"); - -- fi = deprecated_selected_frame; -- -- if (fi == NULL) -- error ("No frame selected"); -+ fi = get_selected_frame (); - - /* The following is generally ripped off from stack.c's routine - print_frame_info() */ -Index: gdb-6.3/gdb/infcmd.c -=================================================================== ---- gdb-6.3.orig/gdb/infcmd.c 2004-09-13 14:26:28.000000000 -0400 -+++ gdb-6.3/gdb/infcmd.c 2004-11-09 22:57:37.274099559 -0500 -@@ -1214,10 +1214,8 @@ finish_command (char *arg, int from_tty) - error ("The \"finish\" command does not take any arguments."); - if (!target_has_execution) - error ("The program is not running."); -- if (deprecated_selected_frame == NULL) -- error ("No selected frame."); - -- frame = get_prev_frame (deprecated_selected_frame); -+ frame = get_prev_frame (get_selected_frame ()); - if (frame == 0) - error ("\"finish\" not meaningful in the outermost frame."); - -@@ -1235,7 +1233,7 @@ finish_command (char *arg, int from_tty) - - /* Find the function we will return from. */ - -- function = find_pc_function (get_frame_pc (deprecated_selected_frame)); -+ function = find_pc_function (get_frame_pc (get_selected_frame ())); - - /* Print info on the selected frame, including level number but not - source. */ -@@ -1600,13 +1598,11 @@ registers_info (char *addr_exp, int fpre - - if (!target_has_registers) - error ("The program has no registers now."); -- if (deprecated_selected_frame == NULL) -- error ("No selected frame."); - - if (!addr_exp) - { - gdbarch_print_registers_info (current_gdbarch, gdb_stdout, -- deprecated_selected_frame, -1, fpregs); -+ get_selected_frame (), -1, fpregs); - return; - } - -@@ -1644,7 +1640,7 @@ registers_info (char *addr_exp, int fpre - if (regnum >= 0) - { - gdbarch_print_registers_info (current_gdbarch, gdb_stdout, -- deprecated_selected_frame, regnum, fpregs); -+ get_selected_frame (), regnum, fpregs); - continue; - } - } -@@ -1658,7 +1654,7 @@ registers_info (char *addr_exp, int fpre - && regnum < NUM_REGS + NUM_PSEUDO_REGS) - { - gdbarch_print_registers_info (current_gdbarch, gdb_stdout, -- deprecated_selected_frame, regnum, fpregs); -+ get_selected_frame (), regnum, fpregs); - continue; - } - } -@@ -1684,7 +1680,7 @@ registers_info (char *addr_exp, int fpre - if (gdbarch_register_reggroup_p (current_gdbarch, regnum, - group)) - gdbarch_print_registers_info (current_gdbarch, -- gdb_stdout, deprecated_selected_frame, -+ gdb_stdout, get_selected_frame (), - regnum, fpregs); - } - continue; -@@ -1714,8 +1710,6 @@ print_vector_info (struct gdbarch *gdbar - { - if (!target_has_registers) - error ("The program has no registers now."); -- if (deprecated_selected_frame == NULL) -- error ("No selected frame."); - - if (gdbarch_print_vector_info_p (gdbarch)) - gdbarch_print_vector_info (gdbarch, file, frame, args); -@@ -1740,7 +1734,7 @@ print_vector_info (struct gdbarch *gdbar - static void - vector_info (char *args, int from_tty) - { -- print_vector_info (current_gdbarch, gdb_stdout, deprecated_selected_frame, args); -+ print_vector_info (current_gdbarch, gdb_stdout, get_selected_frame (), args); - } - - -@@ -1910,8 +1904,6 @@ print_float_info (struct gdbarch *gdbarc - { - if (!target_has_registers) - error ("The program has no registers now."); -- if (deprecated_selected_frame == NULL) -- error ("No selected frame."); - - if (gdbarch_print_float_info_p (gdbarch)) - gdbarch_print_float_info (gdbarch, file, frame, args); -@@ -1937,7 +1929,7 @@ No floating-point info available for thi - static void - float_info (char *args, int from_tty) - { -- print_float_info (current_gdbarch, gdb_stdout, deprecated_selected_frame, args); -+ print_float_info (current_gdbarch, gdb_stdout, get_selected_frame (), args); - } - - static void -Index: gdb-6.3/gdb/inflow.c -=================================================================== ---- gdb-6.3.orig/gdb/inflow.c 2004-08-11 05:00:57.000000000 -0400 -+++ gdb-6.3/gdb/inflow.c 2004-11-09 22:58:37.488338883 -0500 -@@ -591,10 +591,7 @@ kill_command (char *arg, int from_tty) - if (target_has_stack) - { - printf_filtered ("In %s,\n", target_longname); -- if (deprecated_selected_frame == NULL) -- fputs_filtered ("No selected stack frame.\n", gdb_stdout); -- else -- print_stack_frame (get_selected_frame (), 1, SRC_AND_LOC); -+ print_stack_frame (get_selected_frame (), 1, SRC_AND_LOC); - } - bfd_cache_close_all (); - } -Index: gdb-6.3/gdb/infrun.c -=================================================================== ---- gdb-6.3.orig/gdb/infrun.c 2004-09-27 13:58:08.000000000 -0400 -+++ gdb-6.3/gdb/infrun.c 2004-11-09 22:51:07.351240752 -0500 -@@ -3485,7 +3485,7 @@ save_inferior_status (int restore_stack_ - - inf_status->registers = regcache_dup (current_regcache); - -- inf_status->selected_frame_id = get_frame_id (deprecated_selected_frame); -+ inf_status->selected_frame_id = get_frame_id (get_selected_frame ()); - return inf_status; - } - -Index: gdb-6.3/gdb/mi/mi-main.c -=================================================================== ---- gdb-6.3.orig/gdb/mi/mi-main.c 2004-09-12 11:00:42.000000000 -0400 -+++ gdb-6.3/gdb/mi/mi-main.c 2004-11-09 22:53:29.998389013 -0500 -@@ -388,7 +388,7 @@ register_changed_p (int regnum) - { - char raw_buffer[MAX_REGISTER_SIZE]; - -- if (! frame_register_read (deprecated_selected_frame, regnum, raw_buffer)) -+ if (! frame_register_read (get_selected_frame (), regnum, raw_buffer)) - return -1; - - if (memcmp (&old_regs[DEPRECATED_REGISTER_BYTE (regnum)], raw_buffer, -@@ -509,7 +509,7 @@ get_register (int regnum, int format) - if (format == 'N') - format = 0; - -- frame_register (deprecated_selected_frame, regnum, &optim, &lval, &addr, -+ frame_register (get_selected_frame (), regnum, &optim, &lval, &addr, - &realnum, buffer); - - if (optim) -Index: gdb-6.3/gdb/mn10300-tdep.c -=================================================================== ---- gdb-6.3.orig/gdb/mn10300-tdep.c 2004-08-02 22:02:22.000000000 -0400 -+++ gdb-6.3/gdb/mn10300-tdep.c 2004-11-09 22:51:07.356239776 -0500 -@@ -1154,7 +1154,7 @@ mn10300_print_register (const char *name - printf_filtered ("%s: ", name); - - /* Get the data */ -- if (!frame_register_read (deprecated_selected_frame, regnum, raw_buffer)) -+ if (!frame_register_read (get_selected_frame (), regnum, raw_buffer)) - { - printf_filtered ("[invalid]"); - return; -Index: gdb-6.3/gdb/stack.c -=================================================================== ---- gdb-6.3.orig/gdb/stack.c 2004-08-02 20:57:26.000000000 -0400 -+++ gdb-6.3/gdb/stack.c 2004-11-09 22:51:07.361238800 -0500 -@@ -758,9 +758,7 @@ parse_frame_specification (char *frame_e - switch (numargs) - { - case 0: -- if (deprecated_selected_frame == NULL) -- error ("No selected frame."); -- return deprecated_selected_frame; -+ return get_selected_frame (); - /* NOTREACHED */ - case 1: - { -@@ -902,10 +900,10 @@ frame_info (char *addr_exp, int from_tty - } - calling_frame_info = get_prev_frame (fi); - -- if (!addr_exp && frame_relative_level (deprecated_selected_frame) >= 0) -+ if (!addr_exp && frame_relative_level (get_selected_frame ()) >= 0) - { - printf_filtered ("Stack level %d, frame at ", -- frame_relative_level (deprecated_selected_frame)); -+ frame_relative_level (get_selected_frame ())); - print_address_numeric (get_frame_base (fi), 1, gdb_stdout); - printf_filtered (":\n"); - } -@@ -1445,9 +1443,7 @@ print_frame_label_vars (struct frame_inf - void - locals_info (char *args, int from_tty) - { -- if (!deprecated_selected_frame) -- error ("No frame selected."); -- print_frame_local_vars (deprecated_selected_frame, 0, gdb_stdout); -+ print_frame_local_vars (get_selected_frame (), 0, gdb_stdout); - } - - static void -@@ -1470,7 +1466,7 @@ catch_info (char *ignore, int from_tty) - if (!deprecated_selected_frame) - error ("No frame selected."); - -- print_frame_label_vars (deprecated_selected_frame, 0, gdb_stdout); -+ print_frame_label_vars (get_selected_frame (), 0, gdb_stdout); - } - } - -@@ -1537,9 +1533,7 @@ print_frame_arg_vars (struct frame_info - void - args_info (char *ignore, int from_tty) - { -- if (!deprecated_selected_frame) -- error ("No frame selected."); -- print_frame_arg_vars (deprecated_selected_frame, gdb_stdout); -+ print_frame_arg_vars (get_selected_frame (), gdb_stdout); - } - - -@@ -1724,7 +1718,7 @@ down_silently_base (char *count_exp) - if (target_has_stack == 0 || deprecated_selected_frame == 0) - error ("No stack."); - -- frame = find_relative_frame (deprecated_selected_frame, &count1); -+ frame = find_relative_frame (get_selected_frame (), &count1); - if (count1 != 0 && count_exp == 0) - { - -@@ -1944,7 +1938,7 @@ func_command (char *arg, int from_tty) - - if (!found) - printf_filtered ("'%s' not within current stack frame.\n", arg); -- else if (fp != deprecated_selected_frame) -+ else if (fp != get_selected_frame ()) - select_and_print_frame (fp); - } - -@@ -1965,7 +1959,7 @@ get_frame_language (void) - instruction of another function. So we rely on - get_frame_address_in_block(), it provides us with a PC which is - guaranteed to be inside the frame's code block. */ -- s = find_pc_symtab (get_frame_address_in_block (deprecated_selected_frame)); -+ s = find_pc_symtab (get_frame_address_in_block (get_selected_frame ())); - if (s) - flang = s->language; - else -Index: gdb-6.3/gdb/tui/tui-disasm.c -=================================================================== ---- gdb-6.3.orig/gdb/tui/tui-disasm.c 2004-02-24 20:10:01.000000000 -0500 -+++ gdb-6.3/gdb/tui/tui-disasm.c 2004-11-09 22:51:07.370237044 -0500 -@@ -382,7 +382,7 @@ tui_vertical_disassem_scroll (enum tui_s - - content = (tui_win_content) TUI_DISASM_WIN->generic.content; - if (cursal.symtab == (struct symtab *) NULL) -- s = find_pc_symtab (get_frame_pc (deprecated_selected_frame)); -+ s = find_pc_symtab (get_frame_pc (get_selected_frame ())); - else - s = cursal.symtab; - -Index: gdb-6.3/gdb/tui/tui-source.c -=================================================================== ---- gdb-6.3.orig/gdb/tui/tui-source.c 2004-02-16 16:05:09.000000000 -0500 -+++ gdb-6.3/gdb/tui/tui-source.c 2004-11-09 22:51:07.370237044 -0500 -@@ -326,7 +326,7 @@ tui_vertical_source_scroll (enum tui_scr - struct symtab_and_line cursal = get_current_source_symtab_and_line (); - - if (cursal.symtab == (struct symtab *) NULL) -- s = find_pc_symtab (get_frame_pc (deprecated_selected_frame)); -+ s = find_pc_symtab (get_frame_pc (get_selected_frame ())); - else - s = cursal.symtab; - -Index: gdb-6.3/gdb/tui/tui-winsource.c -=================================================================== ---- gdb-6.3.orig/gdb/tui/tui-winsource.c 2004-02-16 16:05:09.000000000 -0500 -+++ gdb-6.3/gdb/tui/tui-winsource.c 2004-11-09 22:51:07.371236848 -0500 -@@ -311,7 +311,7 @@ tui_horizontal_source_scroll (struct tui - struct symtab_and_line cursal = get_current_source_symtab_and_line (); - - if (cursal.symtab == (struct symtab *) NULL) -- s = find_pc_symtab (get_frame_pc (deprecated_selected_frame)); -+ s = find_pc_symtab (get_frame_pc (get_selected_frame ())); - else - s = cursal.symtab; - -Index: gdb-6.3/gdb/valops.c -=================================================================== ---- gdb-6.3.orig/gdb/valops.c 2004-09-13 23:01:48.000000000 -0400 -+++ gdb-6.3/gdb/valops.c 2004-11-09 22:51:07.374236263 -0500 -@@ -2663,15 +2663,10 @@ value_of_local (const char *name, int co - struct block *b; - struct value * ret; - -- if (deprecated_selected_frame == 0) -- { -- if (complain) -- error ("no frame selected"); -- else -- return 0; -- } -+ if (!complain && deprecated_selected_frame == 0) -+ return 0; - -- func = get_frame_function (deprecated_selected_frame); -+ func = get_frame_function (get_selected_frame ()); - if (!func) - { - if (complain) -@@ -2700,7 +2695,7 @@ value_of_local (const char *name, int co - return NULL; - } - -- ret = read_var_value (sym, deprecated_selected_frame); -+ ret = read_var_value (sym, get_selected_frame ()); - if (ret == 0 && complain) - error ("`%s' argument unreadable", name); - return ret; -Index: gdb-6.3/gdb/varobj.c -=================================================================== ---- gdb-6.3.orig/gdb/varobj.c 2004-07-26 10:53:06.000000000 -0400 -+++ gdb-6.3/gdb/varobj.c 2004-11-09 22:51:07.377235677 -0500 -@@ -488,7 +488,7 @@ varobj_create (char *objname, - if (fi != NULL) - { - var->root->frame = get_frame_id (fi); -- old_fi = deprecated_selected_frame; -+ old_fi = get_selected_frame (); - select_frame (fi); - } - -Index: gdb-6.3/gdb/testsuite/gdb.base/default.exp -=================================================================== ---- gdb-6.3.orig/gdb/testsuite/gdb.base/default.exp 2003-03-20 09:45:50.000000000 -0500 -+++ gdb-6.3/gdb/testsuite/gdb.base/default.exp 2004-11-09 22:51:07.379235287 -0500 -@@ -167,7 +167,7 @@ gdb_test "disable breakpoints" "" "disab - #test disable display - gdb_test "disable display" "" "disable display" - #test disassemble --gdb_test "disassemble" "No frame selected." "disassemble" -+gdb_test "disassemble" "No (frame selected|registers)." "disassemble" - #test display - gdb_test "display" "" "display" - #test do -@@ -229,9 +229,9 @@ gdb_expect { - } - - #test frame "f" abbreviation --gdb_test "f" "No stack." "frame \"f\" abbreviation" -+gdb_test "f" "No (stack|registers)." "frame \"f\" abbreviation" - #test frame --gdb_test "frame" "No stack." "frame" -+gdb_test "frame" "No (stack|registers)." "frame" - #test fg - gdb_test "fg" "The program is not being run." "fg" - # FIXME: fg kills the udi connection -@@ -294,9 +294,9 @@ gdb_test "ignore" "Argument required .a - #test info address - gdb_test "info address" "Argument required." "info address" - #test info all-registers --gdb_test "info all-registers" "The program has no registers now." "info all-registers" -+gdb_test "info all-registers" "(The program has no registers now|No registers)." "info all-registers" - #test info args --gdb_test "info args" "No frame selected." "info args" -+gdb_test "info args" "No (frame selected|registers)." "info args" - #test info bogus-gdb-command - gdb_test "info bogus-gdb-command" "Undefined info command: \"bogus-gdb-command\". Try \"help info\".*" "info bogus-gdb-command" - #test info breakpoints -@@ -320,11 +320,11 @@ gdb_test "info frame" "No stack.|No sele - #test info files - gdb_test "info files" "" "info files" - #test info float --gdb_test "info float" "The program has no registers now." "info float" -+gdb_test "info float" "(The program has no registers now|No registers)." "info float" - #test info functions - gdb_test "info functions" "All defined functions:" "info functions" - #test info locals --gdb_test "info locals" "No frame selected." "info locals" -+gdb_test "info locals" "(No frame selected|No registers)." "info locals" - #test info program - gdb_test "info program" "The program being debugged is not being run." "info program" - #test info registers -@@ -352,7 +352,7 @@ gdb_test "info types" "All defined types - #test info variables - gdb_test "info variables" "All defined variables:" "info variables" - #test info vector --gdb_test "info vector" "The program has no registers now." "info vector" -+gdb_test "info vector" "(The program has no registers now|No registers)." "info vector" - #test info warranty - gdb_test "info warranty" "NO WARRANTY(\[^\r\n\]*\[\r\n\])+ *11. *BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY(\[^\r\n\]*\[\r\n\])+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN(\[^\r\n\]*\[\r\n\])+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES(\[^\r\n\]*\[\r\n\])+PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED(\[^\r\n\]*\[\r\n\])+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF(\[^\r\n\]*\[\r\n\])+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS(\[^\r\n\]*\[\r\n\])+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE(\[^\r\n\]*\[\r\n\])+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,(\[^\r\n\]*\[\r\n\])+REPAIR OR CORRECTION.(\[^\r\n\]*\[\r\n\])+ *12. *IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING(\[^\r\n\]*\[\r\n\])+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR(\[^\r\n\]*\[\r\n\])+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,(\[^\r\n\]*\[\r\n\])+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING(\[^\r\n\]*\[\r\n\])+OUT OF THE USE OR INABILITY TO USE THE PROGRAM .INCLUDING BUT NOT LIMITED(\[^\r\n\]*\[\r\n\])+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY(\[^\r\n\]*\[\r\n\])+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER(\[^\r\n\]*\[\r\n\])+PROGRAMS., EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE(\[^\r\n\]*\[\r\n\])+POSSIBILITY OF SUCH DAMAGES.*" "info warranty" - #test info watchpoints |