diff --git a/.cvsignore b/.cvsignore index 138d599..7174c81 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1,2 @@ fastjar-0.97.tar.gz -gcc-4.4.2-20091217.tar.bz2 +gcc-4.4.2-20091222.tar.bz2 diff --git a/fastjar-0.97-len1.patch b/fastjar-0.97-len1.patch new file mode 100644 index 0000000..722351d --- /dev/null +++ b/fastjar-0.97-len1.patch @@ -0,0 +1,16 @@ +2009-12-21 Chris Ball + + * jartool.c (add_file_to_jar): Test write return value against -1 + instead of 1. + +--- fastjar-0.97/jartool.c.jj 2008-10-15 12:35:37.000000000 -0400 ++++ fastjar-0.97/jartool.c 2009-12-22 06:48:09.309530000 -0500 +@@ -1257,7 +1257,7 @@ int add_file_to_jar(int jfd, int ffd, co + exit_on_error("write"); + + /* write the file name to the zip file */ +- if (1 == write(jfd, fname, file_name_length)) ++ if (-1 == write(jfd, fname, file_name_length)) + exit_on_error("write"); + + if(verbose){ diff --git a/gcc.spec b/gcc.spec index 139f3df..15a3347 100644 --- a/gcc.spec +++ b/gcc.spec @@ -165,7 +165,6 @@ Patch16: gcc44-unwind-debug-hook.patch Patch17: gcc44-pr38757.patch Patch18: gcc44-libstdc++-docs.patch Patch19: gcc44-ppc64-aixdesc.patch -Patch20: gcc44-rh546017.patch Patch1000: fastjar-0.97-segfault.patch Patch1001: fastjar-0.97-len1.patch @@ -474,7 +473,6 @@ which are required to compile with the GNAT. %patch18 -p0 -b .libstdc++-docs~ %endif %patch19 -p0 -b .ppc64-aixdesc~ -%patch20 -p0 -b .rh546017~ # This testcase doesn't compile. rm libjava/testsuite/libjava.lang/PR35020* diff --git a/gcc44-rh546017.patch b/gcc44-rh546017.patch deleted file mode 100644 index b1a36a7..0000000 --- a/gcc44-rh546017.patch +++ /dev/null @@ -1,96 +0,0 @@ -2009-12-15 Jakub Jelinek - - * dwarf2out.c (loc_descriptor): For SYMBOL_REFs and LABEL_REFs - use DW_OP_addr+DW_OP_stack_value instead of DW_OP_implicit_value. - (add_const_value_attribute): For CONST_STRING, SYMBOL_REFs and - LABEL_REFs use DW_OP_addr+DW_OP_stack_value DW_AT_location instead of - DW_AT_const_value. - - * gcc.dg/debug/dwarf2/const-1.c: Don't expect DW_AT_const_value, - but instead DW_AT_location with DW_OP_addr+DW_OP_stack_value. Add - -gno-strict-dwarf -fno-merge-debug-strings to dg-options. - * g++.dg/debug/dwarf2/const1.C: Likewise. - ---- gcc/dwarf2out.c.jj 2009-12-14 17:55:28.000000000 +0100 -+++ gcc/dwarf2out.c 2009-12-14 22:33:32.000000000 +0100 -@@ -13775,10 +13775,10 @@ loc_descriptor (rtx rtl, enum machine_mo - if (mode != VOIDmode && GET_MODE_SIZE (mode) == DWARF2_ADDR_SIZE - && (dwarf_version >= 4 || !dwarf_strict)) - { -- loc_result = new_loc_descr (DW_OP_implicit_value, -- DWARF2_ADDR_SIZE, 0); -- loc_result->dw_loc_oprnd2.val_class = dw_val_class_addr; -- loc_result->dw_loc_oprnd2.v.val_addr = rtl; -+ loc_result = new_loc_descr (DW_OP_addr, 0, 0); -+ loc_result->dw_loc_oprnd1.val_class = dw_val_class_addr; -+ loc_result->dw_loc_oprnd1.v.val_addr = rtl; -+ add_loc_descr (&loc_result, new_loc_descr (DW_OP_stack_value, 0, 0)); - VEC_safe_push (rtx, gc, used_rtx_array, rtl); - } - break; -@@ -15223,10 +15223,20 @@ add_const_value_attribute (dw_die_ref di - return true; - - case CONST_STRING: -- resolve_one_addr (&rtl, NULL); -- add_AT_addr (die, DW_AT_const_value, rtl); -- VEC_safe_push (rtx, gc, used_rtx_array, rtl); -- return true; -+ if (dwarf_version >= 4 || !dwarf_strict) -+ { -+ dw_loc_descr_ref loc_result; -+ resolve_one_addr (&rtl, NULL); -+ rtl_addr: -+ loc_result = new_loc_descr (DW_OP_addr, 0, 0); -+ loc_result->dw_loc_oprnd1.val_class = dw_val_class_addr; -+ loc_result->dw_loc_oprnd1.v.val_addr = rtl; -+ add_loc_descr (&loc_result, new_loc_descr (DW_OP_stack_value, 0, 0)); -+ add_AT_loc (die, DW_AT_location, loc_result); -+ VEC_safe_push (rtx, gc, used_rtx_array, rtl); -+ return true; -+ } -+ return false; - - case CONST: - if (CONSTANT_P (XEXP (rtl, 0))) -@@ -15236,9 +15246,9 @@ add_const_value_attribute (dw_die_ref di - if (!const_ok_for_output (rtl)) - return false; - case LABEL_REF: -- add_AT_addr (die, DW_AT_const_value, rtl); -- VEC_safe_push (rtx, gc, used_rtx_array, rtl); -- return true; -+ if (dwarf_version >= 4 || !dwarf_strict) -+ goto rtl_addr; -+ return false; - - case PLUS: - /* In cases where an inlined instance of an inline function is passed ---- gcc/testsuite/gcc.dg/debug/dwarf2/const-1.c.jj 2009-09-30 12:19:16.000000000 +0200 -+++ gcc/testsuite/gcc.dg/debug/dwarf2/const-1.c 2009-12-15 10:57:48.000000000 +0100 -@@ -1,7 +1,7 @@ - /* { dg-do compile } */ --/* { dg-options "-O -gdwarf-2 -dA" } */ -+/* { dg-options "-O -gdwarf-2 -dA -gno-strict-dwarf -fno-merge-debug-strings" } */ - /* { dg-require-visibility "" } */ --/* { dg-final { scan-assembler "DW_AT_const_value" } } */ -+/* { dg-final { scan-assembler "DW_AT_location\[^\\r\\n\]*\[\\r\\n\]*\[^\\r\\n\]*DW_OP_addr\[^\\r\\n\]*\[\\r\\n\]*\[^\\r\\n\]*fnx\[^\\r\\n\]*\[\\r\\n\]*\[^\\r\\n\]*DW_OP_stack_value" } } */ - --extern void x() __attribute__((visibility("hidden"))); --static void (*f)() = x; -+extern void fnx() __attribute__((visibility("hidden"))); -+static void (*f)() = fnx; ---- gcc/testsuite/g++.dg/debug/dwarf2/const1.C.jj 2009-09-30 12:19:16.000000000 +0200 -+++ gcc/testsuite/g++.dg/debug/dwarf2/const1.C 2009-12-15 11:02:24.000000000 +0100 -@@ -1,7 +1,7 @@ - /* { dg-do compile } */ --/* { dg-options "-O -gdwarf-2 -dA" } */ -+/* { dg-options "-O -gdwarf-2 -dA -gno-strict-dwarf -fno-merge-debug-strings" } */ - /* { dg-require-visibility "" } */ --/* { dg-final { scan-assembler "DW_AT_const_value" } } */ -+/* { dg-final { scan-assembler "DW_AT_location\[^\\r\\n\]*\[\\r\\n\]*\[^\\r\\n\]*DW_OP_addr\[^\\r\\n\]*\[\\r\\n\]*\[^\\r\\n\]*fnx\[^\\r\\n\]*\[\\r\\n\]*\[^\\r\\n\]*DW_OP_stack_value" } } */ - --extern void x () __attribute__((visibility ("hidden"))); --void (* const f) () = x; -+extern void fnx () __attribute__((visibility ("hidden"))); -+void (* const f) () = fnx; diff --git a/sources b/sources index cef431b..1098a1d 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ 2659f09c2e43ef8b7d4406321753f1b2 fastjar-0.97.tar.gz -1bac2d18babfc08d9c27d488ffd75cc4 gcc-4.4.2-20091217.tar.bz2 +190cf32f4e2f3e5261cda2ba32be0912 gcc-4.4.2-20091222.tar.bz2