[gcc/f16] 4.6.2-1

Jakub Jelinek jakub at fedoraproject.org
Thu Oct 27 11:03:34 UTC 2011


commit c36b07a1aaeb514992ed83697361b4e2427f57bb
Author: Jakub Jelinek <jakub at redhat.com>
Date:   Thu Oct 27 13:03:31 2011 +0200

    4.6.2-1

 gcc.spec                        |    3 +++
 gcc46-libjava-prims-ctype.patch |   22 ++++++++++++++++++++++
 2 files changed, 25 insertions(+), 0 deletions(-)
---
diff --git a/gcc.spec b/gcc.spec
index 0cb2bc3..f2b9d4f 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -169,6 +169,7 @@ Patch15: gcc46-libstdc++-docs.patch
 Patch17: gcc46-no-add-needed.patch
 Patch18: gcc46-ppl-0.10.patch
 Patch19: gcc46-pr47858.patch
+Patch20: gcc46-libjava-prims-ctype.patch
 
 Patch1000: fastjar-0.97-segfault.patch
 Patch1001: fastjar-0.97-len1.patch
@@ -640,6 +641,7 @@ package or when debugging this package.
 %patch18 -p0 -b .ppl-0.10~
 %endif
 %patch19 -p0 -b .pr47858~
+%patch20 -p0 -b .libjava-prims-ctype~
 
 %if 0%{?_enable_debug_packages}
 cat > split-debuginfo.sh <<\EOF
@@ -2483,6 +2485,7 @@ fi
 - add armv7hl configury options (#746843)
 - add `gcc -print-file-name=rpmver` file with gcc NVRA for plugins
   (#744922)
+- fix build against current glibc, ctype.h changes broke libjava compilation
 
 * Mon Oct  2 2011 Jakub Jelinek <jakub at redhat.com> 4.6.1-10
 - update from the 4.6 branch
diff --git a/gcc46-libjava-prims-ctype.patch b/gcc46-libjava-prims-ctype.patch
new file mode 100644
index 0000000..027e1e7
--- /dev/null
+++ b/gcc46-libjava-prims-ctype.patch
@@ -0,0 +1,22 @@
+2011-10-27  Jakub Jelinek  <jakub at redhat.com>
+
+	* prims.cc (__NO_CTYPE): For glibc define this before including
+	ctype.h.
+
+--- libjava/prims.cc	2009-04-28 06:02:30.000000000 +0200
++++ libjava/prims.cc	2011-10-27 12:57:42.748752380 +0200
+@@ -38,6 +38,14 @@ details.  */
+ #endif
+ 
+ #ifndef DISABLE_GETENV_PROPERTIES
++#ifdef __GLIBC__
++/* glibc 2.15+ provides even for C++ inline optimized ::isspace etc.
++   Unfortunately those inlines are throw (), and call a function pointer
++   (which is throw () too, but with -fnon-call-exceptions this results
++   in a __cxa_call_unexpected call.  This macro disables the optimized
++   version.  */
++#define __NO_CTYPE 1
++#endif
+ #include <ctype.h>
+ #include <java-props.h>
+ #define PROCESS_GCJ_PROPERTIES process_gcj_properties()


More information about the scm-commits mailing list