From 7750bc9d3c60e63072878616a6ba7e933706efc6 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Thu, 27 Oct 2011 14:48:18 +0200 Subject: [PATCH] 4.6.2-1 --- gcc.spec | 3 +++ gcc46-libjava-prims-ctype.patch | 22 ++++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 gcc46-libjava-prims-ctype.patch 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 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 + + * 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 + #include + #define PROCESS_GCJ_PROPERTIES process_gcj_properties()