--- /dev/null
+diff -u -r1.476.4.8 -r1.476.4.9
+--- gcc/gcc/c-common.c 2004/08/23 18:02:39 1.476.4.8
++++ gcc/gcc/c-common.c 2004/10/13 23:29:04 1.476.4.9
+@@ -4642,7 +4642,10 @@
+ else
+ for (j = 0; j < NUM_MACHINE_MODES; j++)
+ if (!strcmp (p, GET_MODE_NAME (j)))
+- mode = (enum machine_mode) j;
++ {
++ mode = (enum machine_mode) j;
++ break;
++ }
+
+ if (mode == VOIDmode)
+ error ("unknown machine mode `%s'", p);
+@@ -4675,8 +4678,17 @@
+ mode);
+ *node = ptr_type;
+ }
++ else if (VECTOR_MODE_P (mode)
++ ? TREE_CODE (type) != TREE_CODE (TREE_TYPE (typefm))
++ : TREE_CODE (type) != TREE_CODE (typefm))
++
++ {
++ error ("mode `%s' applied to inappropriate type", p);
++ return NULL_TREE;
++ }
+ else
+- *node = typefm;
++ *node = typefm;
++
+ /* No need to layout the type here. The caller should do this. */
+ }
+ }
+diff -u -r1.65 -r1.65.4.1
+--- gcc/gcc/crtstuff.c 2003/11/21 19:48:24 1.65
++++ gcc/gcc/crtstuff.c 2004/10/13 23:29:04 1.65.4.1
+@@ -445,9 +445,18 @@
+ #ifdef EH_FRAME_SECTION_NAME
+ /* Terminate the frame unwind info section with a 4byte 0 as a sentinel;
+ this would be the 'length' field in a real FDE. */
+-STATIC EH_FRAME_SECTION_CONST int __FRAME_END__[]
+- __attribute__ ((unused, mode(SI), section(EH_FRAME_SECTION_NAME),
+- aligned(4)))
++# if __INT_MAX__ == 2147483647
++typedef int int32;
++# elif __LONG_MAX__ == 2147483647
++typedef long int32;
++# elif __SHRT_MAX__ == 2147483647
++typedef short int32;
++# else
++# error "Missing a 4 byte integer"
++# endif
++STATIC EH_FRAME_SECTION_CONST int32 __FRAME_END__[]
++ __attribute__ ((unused, section(EH_FRAME_SECTION_NAME),
++ aligned(sizeof(int32))))
+ = { 0 };
+ #endif /* EH_FRAME_SECTION_NAME */
+
+diff -u -r1.4.4.1 -r1.4.4.2
+--- gcc/gcc/config/i386/emmintrin.h 2004/01/31 06:18:20 1.4.4.1
++++ gcc/gcc/config/i386/emmintrin.h 2004/10/13 23:29:05 1.4.4.2
+@@ -34,7 +34,7 @@
+ #include <xmmintrin.h>
+
+ /* SSE2 */
+-typedef int __v2df __attribute__ ((mode (V2DF)));
++typedef double __v2df __attribute__ ((mode (V2DF)));
+ typedef int __v2di __attribute__ ((mode (V2DI)));
+ typedef int __v4si __attribute__ ((mode (V4SI)));
+ typedef int __v8hi __attribute__ ((mode (V8HI)));
+diff -u -r1.27.4.1 -r1.27.4.2
+--- gcc/gcc/config/i386/xmmintrin.h 2004/01/31 06:18:23 1.27.4.1
++++ gcc/gcc/config/i386/xmmintrin.h 2004/10/13 23:29:06 1.27.4.2
+@@ -38,10 +38,10 @@
+ #include <mmintrin.h>
+
+ /* The data type intended for user use. */
+-typedef int __m128 __attribute__ ((__mode__(__V4SF__)));
++typedef float __m128 __attribute__ ((__mode__(__V4SF__)));
+
+ /* Internal data types for implementing the intrinsics. */
+-typedef int __v4sf __attribute__ ((__mode__(__V4SF__)));
++typedef float __v4sf __attribute__ ((__mode__(__V4SF__)));
+
+ /* Create a selector for use with the SHUFPS instruction. */
+ #define _MM_SHUFFLE(fp3,fp2,fp1,fp0) \
#
# TODO:
# - http://gcc.gnu.org/PR11203
-# - http://gcc.gnu.org/PR17384
# - http://gcc.gnu.org/PR17567
+#
# - after 3.4.3 release snaps should go to DEVEL branch
#
# Conditional build:
Summary(pt_BR): Coleção dos compiladores GNU: o compilador C e arquivos compartilhados
Name: gcc
Version: 3.4.3
-Release: 0.%{_snap}.1
+Release: 0.%{_snap}.2
#Release: 1
Epoch: 5
License: GPL
# How to Write Shared Libraries: http://people.redhat.com/drepper/dsohowto.pdf
#
Patch9: %{name}-visibility.patch
+Patch10: %{name}-pr17384.patch
#
URL: http://gcc.gnu.org/
BuildRequires: autoconf
%patch8 -p2
%endif
%patch9 -p1
+%patch10 -p1
# because we distribute modified version of gcc...
perl -pi -e 's/(version.*)";/$1 %{?with_ssp:SSP }(PLD Linux)";/' gcc/version.c