diff options
author | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2018-02-20 21:53:51 -0600 |
---|---|---|
committer | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2018-02-20 21:54:20 -0600 |
commit | 6d7203982c05651f748825deb393eb6480c03e32 (patch) | |
tree | f771531d5103dede68a6c9f52b349d8ba04cbb09 /system/gcc/fix-gcj-musl.patch | |
parent | 866f81aaa5e438537e6a4b30c1f0fcecc713a1a2 (diff) | |
download | packages-6d7203982c05651f748825deb393eb6480c03e32.tar.gz packages-6d7203982c05651f748825deb393eb6480c03e32.tar.bz2 packages-6d7203982c05651f748825deb393eb6480c03e32.tar.xz packages-6d7203982c05651f748825deb393eb6480c03e32.zip |
system/gcc: maintain our own toolchain
Diffstat (limited to 'system/gcc/fix-gcj-musl.patch')
-rw-r--r-- | system/gcc/fix-gcj-musl.patch | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/system/gcc/fix-gcj-musl.patch b/system/gcc/fix-gcj-musl.patch new file mode 100644 index 000000000..d26f510c0 --- /dev/null +++ b/system/gcc/fix-gcj-musl.patch @@ -0,0 +1,49 @@ +--- 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)); |