diff --git a/.gitignore b/.gitignore index 81f3850..a002ff7 100644 --- a/.gitignore +++ b/.gitignore @@ -52,3 +52,4 @@ /aarch64-port-preview_rc4.tar.xz /aarch64-port-jdk7u60-b04-aarch64-831.tar.xz /systemtap-tapset-2014-03-19.tar.xz +/openjdk-icedtea-2.5pre04.tar.xz diff --git a/gstackbounds.patch b/gstackbounds.patch deleted file mode 100644 index 39a066a..0000000 --- a/gstackbounds.patch +++ /dev/null @@ -1,142 +0,0 @@ -diff --git a/src/os/linux/vm/os_linux.cpp b/src/os/linux/vm/os_linux.cpp ---- openjdk/hotspot/src/os/linux/vm/os_linux.cpp -+++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp -@@ -2763,39 +2763,47 @@ - // writing thread stacks don't use growable mappings (i.e. those - // creeated with MAP_GROWSDOWN), and aren't marked "[stack]", so this - // only applies to the main thread. -- --static --bool get_stack_bounds(uintptr_t *bottom, uintptr_t *top) { -- -- char buf[128]; -- int fd, sz; -- -- if ((fd = ::open("/proc/self/maps", O_RDONLY)) < 0) { -+static bool -+get_stack_bounds(uintptr_t *bottom, uintptr_t *top) -+{ -+ FILE *f = fopen("/proc/self/maps", "r"); -+ if (f == NULL) - return false; -- } -- -- const char kw[] = "[stack]"; -- const int kwlen = sizeof(kw)-1; -- -- // Address part of /proc/self/maps couldn't be more than 128 bytes -- while ((sz = os::get_line_chars(fd, buf, sizeof(buf))) > 0) { -- if (sz > kwlen && ::memcmp(buf+sz-kwlen, kw, kwlen) == 0) { -- // Extract addresses -- if (sscanf(buf, "%" SCNxPTR "-%" SCNxPTR, bottom, top) == 2) { -- uintptr_t sp = (uintptr_t) __builtin_frame_address(0); -- if (sp >= *bottom && sp <= *top) { -- ::close(fd); -- return true; -- } -+ -+ while (!feof(f)) { -+ size_t dummy; -+ char *str = NULL; -+ ssize_t len = getline(&str, &dummy, f); -+ if (len == -1) { -+ fclose(f); -+ if (str != NULL) -+ free(str); -+ return false; -+ } -+ -+ if (len > 0 && str[len-1] == '\n') { -+ str[len-1] = 0; -+ len--; -+ } -+ -+ static const char *stack_str = "[stack]"; -+ if (len > (ssize_t)strlen(stack_str) -+ && (strcmp(str + len - strlen(stack_str), stack_str) == 0)) { -+ if (sscanf(str, "%" SCNxPTR "-%" SCNxPTR, bottom, top) == 2) { -+ uintptr_t sp = (uintptr_t)__builtin_frame_address(0); -+ if (sp >= *bottom && sp <= *top) { -+ free(str); -+ fclose(f); -+ return true; - } -- } -- } -- -- ::close(fd); -+ } -+ } -+ free(str); -+ } -+ fclose(f); - return false; - } - -- - // If the (growable) stack mapping already extends beyond the point - // where we're going to put our guard pages, truncate the mapping at - // that point by munmap()ping it. This ensures that when we later -diff --git a/src/share/vm/runtime/os.cpp b/src/share/vm/runtime/os.cpp ---- openjdk/hotspot/src/share/vm/runtime/os.cpp -+++ openjdk/hotspot/src/share/vm/runtime/os.cpp -@@ -1353,43 +1353,6 @@ - return result; - } - --// Read file line by line, if line is longer than bsize, --// skip rest of line. --int os::get_line_chars(int fd, char* buf, const size_t bsize){ -- size_t sz, i = 0; -- -- // read until EOF, EOL or buf is full -- while ((sz = (int) read(fd, &buf[i], 1)) == 1 && i < (bsize-2) && buf[i] != '\n') { -- ++i; -- } -- -- if (buf[i] == '\n') { -- // EOL reached so ignore EOL character and return -- -- buf[i] = 0; -- return (int) i; -- } -- -- buf[i+1] = 0; -- -- if (sz != 1) { -- // EOF reached. if we read chars before EOF return them and -- // return EOF on next call otherwise return EOF -- -- return (i == 0) ? -1 : (int) i; -- } -- -- // line is longer than size of buf, skip to EOL -- char ch; -- while (read(fd, &ch, 1) == 1 && ch != '\n') { -- // Do nothing -- } -- -- // return initial part of line that fits in buf. -- // If we reached EOF, it will be returned on next call. -- -- return (int) i; --} - - void os::SuspendedThreadTask::run() { - assert(Threads_lock->owned_by_self() || (_thread == VMThread::vm_thread()), "must have threads lock to call this"); - -diff --git a/src/share/vm/runtime/os.hpp b/src/share/vm/runtime/os.hpp ---- openjdk/hotspot/src/share/vm/runtime/os.hpp -+++ openjdk/hotspot/src/share/vm/runtime/os.hpp -@@ -672,10 +672,6 @@ - // Hook for os specific jvm options that we don't want to abort on seeing - static bool obsolete_option(const JavaVMOption *option); - -- // Read file line by line. If line is longer than bsize, -- // rest of line is skipped. Returns number of bytes read or -1 on EOF -- static int get_line_chars(int fd, char *buf, const size_t bsize); -- - // Extensions - #include "runtime/os_ext.hpp" - - diff --git a/java-1.7.0-openjdk.spec b/java-1.7.0-openjdk.spec index 050fb46..db3c2ab 100644 --- a/java-1.7.0-openjdk.spec +++ b/java-1.7.0-openjdk.spec @@ -1,7 +1,7 @@ # If debug is 1, OpenJDK is built with all debug info present. %global debug 0 -%global icedtea_version_presuffix pre02 +%global icedtea_version_presuffix pre04 %global icedtea_version 2.5 %global hg_tag icedtea-{icedtea_version} @@ -167,7 +167,7 @@ Name: java-%{javaver}-%{origin} Version: %{javaver}.60 -Release: %{icedtea_version}.0.16.%{icedtea_version_presuffix}%{?dist} +Release: %{icedtea_version}.0.17.%{icedtea_version_presuffix}%{?dist} # java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons, # and this change was brought into RHEL-4. java-1.5.0-ibm packages # also included the epoch in their virtual provides. This created a @@ -278,8 +278,6 @@ Patch200: abrt_friendly_hs_log_jdk7.patch # mixer Patch300: pulse-soundproperties.patch -#Workaround RH902004 -Patch402: gstackbounds.patch Patch403: PStack-808293.patch Patch4030: PStack-808293-aarch64.patch # End of tmp patches @@ -563,11 +561,6 @@ tar xzf %{SOURCE9} %patch200 %endif -%ifnarch %{aarch64} -#seems to be upstreamed -%patch402 -%endif - %ifarch %{aarch64} %patch4030 %else @@ -1553,6 +1546,11 @@ exit 0 %changelog +* Tue Apr 22 2014 Jiri Vanek - 1.7.0.51-2.5.0.17.pre04.f21 +- Updated to pre04 +- adapted patch100, rhino.patch +- removed upstreamed patch402 gstackbounds.patch + * Wed Apr 2 2014 Jiri Vanek - 1.7.0.51-2.5.0.16.pre02.f21 - returned rm -rf to posunn of headless - added OrderWithRequires on headless where possible diff --git a/rhino.patch b/rhino.patch index 3c11620..bd8ab68 100644 --- a/rhino.patch +++ b/rhino.patch @@ -140,9 +140,9 @@ diff -ur openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoTopLe -import sun.org.mozilla.javascript.internal.*; +import sun.org.mozilla.javascript.*; - import java.security.AccessControlContext; import javax.script.*; import java.security.AccessControlContext; + diff -ur openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java --- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java 2012-02-14 16:12:49.000000000 -0500 +++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java 2012-02-22 14:10:53.327225198 -0500 diff --git a/sources b/sources index 598889a..341c272 100644 --- a/sources +++ b/sources @@ -1,5 +1,5 @@ ea344cc5b53b73f375558ba41760ff64 class-rewriter.tar.gz 1cb61996cf5dbe80827abbe7d009bf28 pulseaudio.tar.gz 013ddff65e090aafe9ff89d4ce767e8d systemtap-tapset-2014-03-19.tar.xz -8a20df6e55d536b4f10c7691bc24e539 openjdk-icedtea-2.5pre02.tar.xz +7f72e72d85f3ab5e3f36719a17e132ec openjdk-icedtea-2.5pre04.tar.xz 15c5288e350b49550b23d25f95713626 aarch64-port-jdk7u60-b04-aarch64-831.tar.xz