4.4.4-5.fc14

This commit is contained in:
Jakub Jelinek 2010-05-25 22:50:28 +00:00
parent 26c09a98ec
commit 2bd4446896
7 changed files with 76 additions and 118 deletions

View File

@ -1,2 +1,2 @@
fastjar-0.97.tar.gz
gcc-4.4.4-20100518.tar.bz2
gcc-4.4.4-20100525.tar.bz2

View File

@ -1,9 +1,9 @@
%global DATE 20100518
%global SVNREV 159543
%global DATE 20100525
%global SVNREV 159836
%global gcc_version 4.4.4
# Note, gcc_release must be integer, if you want to add suffixes to
# %{release}, append them after %{gcc_release} on Release: line.
%global gcc_release 4
%global gcc_release 5
%global _unpackaged_files_terminate_build 0
%global multilib_64_archs sparc64 ppc64 s390x x86_64
%if 0%{?fedora} >= 13 || 0%{?rhel} >= 6
@ -165,7 +165,6 @@ Patch5: gcc44-ppc32-retaddr.patch
Patch6: gcc44-pr33763.patch
Patch7: gcc44-rh330771.patch
Patch8: gcc44-rh341221.patch
Patch9: gcc44-java-debug-iface-type.patch
Patch10: gcc44-i386-libgomp.patch
Patch11: gcc44-sparc-config-detection.patch
Patch12: gcc44-libgomp-omp_h-multilib.patch
@ -176,7 +175,7 @@ Patch17: gcc44-pr38757.patch
Patch18: gcc44-libstdc++-docs.patch
Patch19: gcc44-ppc64-aixdesc.patch
Patch20: gcc44-no-add-needed.patch
Patch21: gcc44-debug-sra-be.patch
Patch21: gcc44-pr44199.patch
Patch1000: fastjar-0.97-segfault.patch
Patch1001: fastjar-0.97-len1.patch
@ -471,7 +470,6 @@ which are required to compile with the GNAT.
%patch6 -p0 -b .pr33763~
%patch7 -p0 -b .rh330771~
%patch8 -p0 -b .rh341221~
%patch9 -p0 -b .java-debug-iface-type~
%patch10 -p0 -b .i386-libgomp~
%patch11 -p0 -b .sparc-config-detection~
%patch12 -p0 -b .libgomp-omp_h-multilib~
@ -488,7 +486,7 @@ which are required to compile with the GNAT.
%if 0%{?fedora} >= 13
%patch20 -p0 -b .no-add-needed~
%endif
%patch21 -p0 -b .debug-sra-be~
%patch21 -p0 -b .pr44199~
# This testcase doesn't compile.
rm libjava/testsuite/libjava.lang/PR35020*
@ -1878,6 +1876,14 @@ fi
%doc rpm.doc/changelogs/libmudflap/ChangeLog*
%changelog
* Tue May 25 2010 Jakub Jelinek <jakub@redhat.com> 4.4.4-5
- update from gcc-4_4-branch
- PRs bootstrap/43870, debug/44205, target/43733, target/44074,
target/44202, target/44245, tree-optimization/43845
- fix cv-qual issue with function types (#593750, PR c++/44193)
- VTA backports
- PRs debug/41371, debug/42801, debug/43260, debug/43521
* Tue May 18 2010 Jakub Jelinek <jakub@redhat.com> 4.4.4-4
- update from gcc-4_4-branch
- PR fortran/44135

View File

@ -1,92 +0,0 @@
2010-05-18 Jakub Jelinek <jakub@redhat.com>
* dwarf2out.c (new_loc_descr_op_bit_piece): Add offset
argument. Don't use DW_OP_piece if offset is non-zero,
put offset into second DW_OP_bit_piece argument.
(dw_sra_loc_expr): Adjust callers. For memory expressions
compute offset.
--- gcc/dwarf2out.c.jj 2010-05-15 08:09:16.000000000 +0200
+++ gcc/dwarf2out.c 2010-05-18 15:49:26.000000000 +0200
@@ -14364,12 +14364,12 @@ dw_loc_list_1 (tree loc, rtx varloc, int
if it is not possible. */
static dw_loc_descr_ref
-new_loc_descr_op_bit_piece (HOST_WIDE_INT bitsize)
+new_loc_descr_op_bit_piece (HOST_WIDE_INT bitsize, HOST_WIDE_INT offset)
{
- if ((bitsize % BITS_PER_UNIT) == 0)
+ if ((bitsize % BITS_PER_UNIT) == 0 && offset == 0)
return new_loc_descr (DW_OP_piece, bitsize / BITS_PER_UNIT, 0);
else if (dwarf_version >= 3 || !dwarf_strict)
- return new_loc_descr (DW_OP_bit_piece, bitsize, 0);
+ return new_loc_descr (DW_OP_bit_piece, bitsize, offset);
else
return NULL;
}
@@ -14448,7 +14448,7 @@ dw_sra_loc_expr (tree decl, rtx loc)
if (padsize > decl_size)
return NULL;
decl_size -= padsize;
- *descr_tail = new_loc_descr_op_bit_piece (padsize);
+ *descr_tail = new_loc_descr_op_bit_piece (padsize, 0);
if (*descr_tail == NULL)
return NULL;
descr_tail = &(*descr_tail)->dw_loc_next;
@@ -14461,7 +14461,46 @@ dw_sra_loc_expr (tree decl, rtx loc)
decl_size -= bitsize;
if (last == NULL)
{
- *descr_tail = new_loc_descr_op_bit_piece (bitsize);
+ HOST_WIDE_INT offset = 0;
+ if (GET_CODE (varloc) == VAR_LOCATION
+ && GET_CODE (PAT_VAR_LOCATION_LOC (varloc)) != PARALLEL)
+ {
+ varloc = PAT_VAR_LOCATION_LOC (varloc);
+ if (GET_CODE (varloc) == EXPR_LIST)
+ varloc = XEXP (varloc, 0);
+ }
+ do
+ {
+ if (GET_CODE (varloc) == CONST
+ || GET_CODE (varloc) == SIGN_EXTEND
+ || GET_CODE (varloc) == ZERO_EXTEND)
+ varloc = XEXP (varloc, 0);
+ else if (GET_CODE (varloc) == SUBREG)
+ varloc = SUBREG_REG (varloc);
+ else
+ break;
+ }
+ while (1);
+ /* DW_OP_bit_size offset should be zero for register
+ or implicit location descriptions and empty location
+ descriptions, but for memory addresses needs big endian
+ adjustment. */
+ if (MEM_P (varloc)
+ && ((unsigned HOST_WIDE_INT) INTVAL (MEM_SIZE (varloc))
+ * BITS_PER_UNIT) != bitsize)
+ {
+ unsigned HOST_WIDE_INT memsize
+ = INTVAL (MEM_SIZE (varloc)) * BITS_PER_UNIT;
+ if (BYTES_BIG_ENDIAN != WORDS_BIG_ENDIAN
+ && (memsize > BITS_PER_WORD || bitsize > BITS_PER_WORD))
+ return NULL;
+ if (memsize < bitsize)
+ return NULL;
+ if (BITS_BIG_ENDIAN)
+ offset = memsize - bitsize;
+ }
+
+ *descr_tail = new_loc_descr_op_bit_piece (bitsize, offset);
if (*descr_tail == NULL)
return NULL;
descr_tail = &(*descr_tail)->dw_loc_next;
@@ -14472,7 +14511,7 @@ dw_sra_loc_expr (tree decl, rtx loc)
the decl. */
if (descr != NULL && decl_size != 0)
{
- *descr_tail = new_loc_descr_op_bit_piece (decl_size);
+ *descr_tail = new_loc_descr_op_bit_piece (decl_size, 0);
if (*descr_tail == NULL)
return NULL;
}

View File

@ -1,17 +0,0 @@
2008-01-25 Jakub Jelinek <jakub@redhat.com>
* lang.c (java_classify_record): Revert 2007-12-20 change.
--- gcc/java/lang.c 2007-12-27 09:09:49.000000000 +0100
+++ gcc/java/lang.c 2008-01-25 17:43:57.000000000 +0100
@@ -965,9 +965,7 @@ java_classify_record (tree type)
if (! CLASS_P (type))
return RECORD_IS_STRUCT;
- /* ??? GDB does not support DW_TAG_interface_type as of December,
- 2007. Re-enable this at a later time. */
- if (0 && CLASS_INTERFACE (TYPE_NAME (type)))
+ if (CLASS_INTERFACE (TYPE_NAME (type)))
return RECORD_IS_INTERFACE;
return RECORD_IS_CLASS;

60
gcc44-pr44199.patch Normal file
View File

@ -0,0 +1,60 @@
2010-05-20 Jakub Jelinek <jakub@redhat.com>
PR target/44199
* config/rs6000/rs6000.c (rs6000_emit_epilogue): If cfun->calls_alloca
or total_size is larger than red zone size for non-V4 ABI, emit a
stack_tie resp. frame_tie insn before stack pointer restore.
* config/rs6000/rs6000.md (frame_tie): New insn.
--- gcc/config/rs6000/rs6000.c.jj 2010-05-17 07:52:06.000000000 +0200
+++ gcc/config/rs6000/rs6000.c 2010-05-19 22:15:53.000000000 +0200
@@ -19775,6 +19775,16 @@ rs6000_emit_epilogue (int sibcall)
frame_reg_rtx = sp_reg_rtx;
if (DEFAULT_ABI == ABI_V4)
frame_reg_rtx = gen_rtx_REG (Pmode, 11);
+ /* Prevent reordering memory accesses against stack pointer restore. */
+ else if (cfun->calls_alloca
+ || offset_below_red_zone_p (-info->total_size))
+ {
+ rtx mem1 = gen_rtx_MEM (BLKmode, hard_frame_pointer_rtx);
+ rtx mem2 = gen_rtx_MEM (BLKmode, sp_reg_rtx);
+ MEM_NOTRAP_P (mem1) = 1;
+ MEM_NOTRAP_P (mem2) = 1;
+ emit_insn (gen_frame_tie (mem1, mem2));
+ }
insn = emit_insn (gen_add3_insn (frame_reg_rtx, hard_frame_pointer_rtx,
GEN_INT (info->total_size)));
@@ -19784,6 +19794,14 @@ rs6000_emit_epilogue (int sibcall)
&& DEFAULT_ABI != ABI_V4
&& !crtl->calls_eh_return)
{
+ /* Prevent reordering memory accesses against stack pointer restore. */
+ if (cfun->calls_alloca
+ || offset_below_red_zone_p (-info->total_size))
+ {
+ rtx mem = gen_rtx_MEM (BLKmode, sp_reg_rtx);
+ MEM_NOTRAP_P (mem) = 1;
+ emit_insn (gen_stack_tie (mem));
+ }
insn = emit_insn (gen_add3_insn (sp_reg_rtx, sp_reg_rtx,
GEN_INT (info->total_size)));
sp_offset = 0;
--- gcc/config/rs6000/rs6000.md.jj 2010-03-26 17:13:37.000000000 +0100
+++ gcc/config/rs6000/rs6000.md 2010-05-19 22:15:19.000000000 +0200
@@ -15286,6 +15286,15 @@ (define_insn "stack_tie"
""
[(set_attr "length" "0")])
+; Like stack_tie, but depend on both fp and sp based memory.
+(define_insn "frame_tie"
+ [(set (match_operand:BLK 0 "memory_operand" "+m")
+ (unspec:BLK [(match_dup 0)
+ (match_operand:BLK 1 "memory_operand" "m")] UNSPEC_TIE))]
+ ""
+ ""
+ [(set_attr "length" "0")])
+
(define_expand "epilogue"
[(use (const_int 0))]

View File

@ -17,3 +17,4 @@ gcc-4_4_4-1_fc14:HEAD:gcc-4.4.4-1.fc14.src.rpm:1272658058
gcc-4_4_4-2_fc14:HEAD:gcc-4.4.4-2.fc14.src.rpm:1272918393
gcc-4_4_4-3_fc14:HEAD:gcc-4.4.4-3.fc14.src.rpm:1273873902
gcc-4_4_4-4_fc14:HEAD:gcc-4.4.4-4.fc14.src.rpm:1274217418
gcc-4_4_4-5_fc14:HEAD:gcc-4.4.4-5.fc14.src.rpm:1274827803

View File

@ -1,2 +1,2 @@
2659f09c2e43ef8b7d4406321753f1b2 fastjar-0.97.tar.gz
b7e838fc8d20ea7431118b45d6a7ecca gcc-4.4.4-20100518.tar.bz2
c413ea290fdbe54dbd60816ad80857a1 gcc-4.4.4-20100525.tar.bz2