Mercurial > hg > release > icedtea6-1.6
changeset 1647:4041898deb5a
Backport execvpe patch (needed with newer glibc).
2009-07-30 Andrew John Hughes <ahughes@redhat.com>
* Makefile.am:
Add new patch.
* patches/openjdk/rename-execvpe.patch,
Backport execvpe patch from Martin Buchholz.
http://mail.openjdk.java.net/pipermail/core-libs-dev/2009-July/002047.html
author | Andrew John Hughes <ahughes@redhat.com> |
---|---|
date | Thu, 30 Jul 2009 22:47:00 +0100 |
parents | 051ca564791d |
children | 18f23e1e3c37 |
files | ChangeLog Makefile.am patches/openjdk/rename-execvpe.patch |
diffstat | 3 files changed, 52 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Thu Jul 30 04:51:32 2009 -0400 +++ b/ChangeLog Thu Jul 30 22:47:00 2009 +0100 @@ -1,3 +1,11 @@ +2009-07-30 Andrew John Hughes <ahughes@redhat.com> + + * Makefile.am: + Add new patch. + * patches/openjdk/rename-execvpe.patch, + Backport execvpe patch from Martin Buchholz. + http://mail.openjdk.java.net/pipermail/core-libs-dev/2009-July/002047.html + 2009-07-30 Gary Benson <gbenson@redhat.com> * ports/hotspot/src/share/vm/shark/sharkRuntime.hpp:
--- a/Makefile.am Thu Jul 30 04:51:32 2009 -0400 +++ b/Makefile.am Thu Jul 30 22:47:00 2009 +0100 @@ -587,7 +587,8 @@ patches/icedtea-pr261.patch \ patches/icedtea-doc-headers.patch \ patches/openjdk/bidi-tests.patch \ - patches/openjdk/annotation-tests.patch + patches/openjdk/annotation-tests.patch \ + patches/openjdk/rename-execvpe.patch if WITH_ALT_HSBUILD ICEDTEA_PATCHES += \
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/rename-execvpe.patch Thu Jul 30 22:47:00 2009 +0100 @@ -0,0 +1,42 @@ +# HG changeset patch +# User martin +# Date 1248923453 25200 +# Node ID 0f6e8cdc0cbab5221e81b7d25f1b869bd6ecf34a +# Parent ac4f0c58f4c771267f1b5c65a8cf5bf2722a881b +[mq]: rename-execvpe + +diff --git a/src/solaris/native/java/lang/UNIXProcess_md.c b/src/solaris/native/java/lang/UNIXProcess_md.c +--- openjdk/jdk/src/solaris/native/java/lang/UNIXProcess_md.c ++++ openjdk/jdk/src/solaris/native/java/lang/UNIXProcess_md.c +@@ -423,9 +423,20 @@ + return -1; + } + +-/* execvpe should have been included in the Unix standards. */ ++/** ++ * 'execvpe' should have been included in the Unix standards, ++ * and is a GNU extension in glibc 2.10. ++ * ++ * JDK_execvpe is identical to execvp, except that the child environment is ++ * specified via the 3rd argument instead of being inherited from environ. ++ * ++ * This implementation of JDK_execvpe does not work if memory is shared ++ * with the parent, when using vfork(2), or clone(2) with CLONE_VM. ++ */ + static int +-execvpe(const char *file, const char *const argv[], const char *const envp[]) ++JDK_execvpe(const char *file, ++ const char *const argv[], ++ const char *const envp[]) + { + /* This is one of the rare times it's more portable to declare an + * external symbol explicitly, rather than via a system header. +@@ -601,7 +612,7 @@ + if (fcntl(FAIL_FILENO, F_SETFD, FD_CLOEXEC) == -1) + goto WhyCantJohnnyExec; + +- execvpe(argv[0], argv, envv); ++ JDK_execvpe(argv[0], argv, envv); + + WhyCantJohnnyExec: + /* We used to go to an awful lot of trouble to predict whether the