summaryrefslogtreecommitdiff
path: root/java/jdk16/files/patch-j2se-bin-java_md.c
diff options
context:
space:
mode:
Diffstat (limited to 'java/jdk16/files/patch-j2se-bin-java_md.c')
-rw-r--r--java/jdk16/files/patch-j2se-bin-java_md.c62
1 files changed, 0 insertions, 62 deletions
diff --git a/java/jdk16/files/patch-j2se-bin-java_md.c b/java/jdk16/files/patch-j2se-bin-java_md.c
deleted file mode 100644
index f8305b53ae46..000000000000
--- a/java/jdk16/files/patch-j2se-bin-java_md.c
+++ /dev/null
@@ -1,62 +0,0 @@
-$FreeBSD$
-
---- ../../j2se/src/solaris/bin/java_md.c 15 Feb 2005 02:06:26 -0000 1.6
-+++ ../../j2se/src/solaris/bin/java_md.c 20 Apr 2005 12:08:02 -0000
-@@ -906,8 +904,7 @@
- if (execname != NULL) /* Already determined */
- return (execname);
-
--/* XXXBSD: is it right for us ?*/
--#if defined(__sun) || defined(__FreeBSD__)
-+#if defined(__sun)
- {
- Dl_info dlinfo;
- if (dladdr((void*)&SetExecname, &dlinfo)) {
-@@ -928,12 +925,47 @@
- exec_path = strdup(buf);
- }
- }
-+#elif defined(__FreeBSD__)
-+ /* Try /proc/curproc/file if exec_path hasn't been found */
-+
-+ if (exec_path == NULL) {
-+ const char* self = "/proc/curproc/file";
-+ char buf[PATH_MAX+1];
-+ int len = readlink(self, buf, PATH_MAX);
-+ if (len >= 0) {
-+ buf[len] = '\0'; /* readlink doesn't nul terminate */
-+ exec_path = strdup(buf);
-+ }
-+ }
-+
-+ /*
-+ * Try the dladdr(3) method FreeBSD if exec_path hasn't been found.
-+ * Requires a recent version of FreeBSD.
-+ */
-+
-+ /*
-+ if (exec_path == NULL) {
-+ Dl_info dlinfo;
-+ if (dladdr((void*)&SetExecname, &dlinfo)) {
-+ char *resolved = (char*)MemAlloc(PATH_MAX+1);
-+ if (resolved != NULL) {
-+ exec_path = realpath(dlinfo.dli_fname, resolved);
-+ if (exec_path == NULL) {
-+ free(resolved);
-+ }
-+ }
-+ }
-+ }
-+ */
-+
- #else /* !__sun && !__linux */
- {
- /* Not implemented */
- }
- #endif
-
-+ /* Fall back to examining argv[0] and our path */
-+
- if (exec_path == NULL) {
- exec_path = FindExecName(argv[0]);
- }