50 lines
1.4 KiB
Diff
50 lines
1.4 KiB
Diff
|
--- gcc-4.8.2/libjava/gnu/classpath/natSystemProperties.cc.orig 2014-02-18 10:55:08.617678779 +0200
|
||
|
+++ gcc-4.8.2/libjava/gnu/classpath/natSystemProperties.cc 2014-02-18 10:56:31.927227453 +0200
|
||
|
@@ -289,7 +289,7 @@
|
||
|
// just default to `en_US'.
|
||
|
setlocale (LC_ALL, "");
|
||
|
char *locale = setlocale (LC_MESSAGES, "");
|
||
|
- if (locale && strlen (locale) >= 2)
|
||
|
+ if (locale && strlen (locale) >= 2 && (locale[2] == '\0' || locale[2] == '_'))
|
||
|
{
|
||
|
char buf[3];
|
||
|
buf[2] = '\0';
|
||
|
--- gcc-4.8.2/libjava/posix-threads.cc.orig 2014-02-18 13:22:01.789933726 +0200
|
||
|
+++ gcc-4.8.2/libjava/posix-threads.cc 2014-02-18 13:29:50.924058875 +0200
|
||
|
@@ -657,6 +657,7 @@
|
||
|
struct sched_param param;
|
||
|
pthread_attr_t attr;
|
||
|
struct starter *info;
|
||
|
+ size_t ss;
|
||
|
|
||
|
if (data->flags & FLAG_START)
|
||
|
return;
|
||
|
@@ -675,8 +676,25 @@
|
||
|
// Set stack size if -Xss option was given.
|
||
|
if (gcj::stack_size > 0)
|
||
|
{
|
||
|
- int e = pthread_attr_setstacksize (&attr, gcj::stack_size);
|
||
|
+ ss = gcj::stack_size;
|
||
|
+ }
|
||
|
+ else
|
||
|
+ {
|
||
|
+ int e = pthread_attr_getstacksize (&attr, &ss);
|
||
|
+ if (e != 0)
|
||
|
+ JvFail (strerror (e));
|
||
|
+
|
||
|
+ // Request at least 1meg of stack
|
||
|
+ if (ss >= 1024 * 1024)
|
||
|
+ ss = 0;
|
||
|
+ else
|
||
|
+ ss = 1024 * 1024;
|
||
|
+ }
|
||
|
+
|
||
|
+ if (ss)
|
||
|
+ {
|
||
|
+ int e = pthread_attr_setstacksize (&attr, ss);
|
||
|
if (e != 0)
|
||
|
JvFail (strerror (e));
|
||
|
}
|
||
|
|
||
|
info = (struct starter *) _Jv_AllocBytes (sizeof (struct starter));
|