summaryrefslogtreecommitdiff
path: root/emulators/virtualbox-ose-legacy/files/patch-src-VBox-Runtime-r3-freebsd-rtProcInitExePath-freebsd.cpp
diff options
context:
space:
mode:
authorMartin Wilke <miwi@FreeBSD.org>2010-03-15 20:54:35 +0000
committerMartin Wilke <miwi@FreeBSD.org>2010-03-15 20:54:35 +0000
commit2a547baa1bcd9985be840b08a7804396f7d13cbb (patch)
tree90ae025ac61d42ae952a7102f887009dcc7626ab /emulators/virtualbox-ose-legacy/files/patch-src-VBox-Runtime-r3-freebsd-rtProcInitExePath-freebsd.cpp
parentUpdate to 2.2.1-rc2 (initial wctdm24xxp support). (diff)
Presenting VirtualBox 3.1.4 for FreeBSD
Changelog from VirtualBox is available here: http://www.virtualbox.org/wiki/Changelog Changes in the port: - VirtualBox and Guest Additions iso updated to 3.1.4 - Add UNIQUENAME to fix options file clashes between the virtualbox ports [0] - Fixed vtophys problems on CURRENT and STABLE kernes newer than January 23th [1] - Fixed page double wiring issue in rtR0MemObjNativeAllocPage [2] PR: ports/143361 [0] Submitted by: Martin Birgmeier <martin.birgmeier AT aon.at> [0] Alexander Eichner <Alexander.Eichner AT Sun.COM> [1] Thanks To: All testers on emulation@ and current@ [1] Giovanni Trematerra <giovanni.trematerra AT gmail.com> [1] Ian Freislich <ianf AT clue.co.za> [1] Reported by: Alan Cox <alc AT cs dot rice dot edu> [2]
Notes
Notes: svn path=/head/; revision=251101
Diffstat (limited to 'emulators/virtualbox-ose-legacy/files/patch-src-VBox-Runtime-r3-freebsd-rtProcInitExePath-freebsd.cpp')
-rw-r--r--emulators/virtualbox-ose-legacy/files/patch-src-VBox-Runtime-r3-freebsd-rtProcInitExePath-freebsd.cpp81
1 files changed, 0 insertions, 81 deletions
diff --git a/emulators/virtualbox-ose-legacy/files/patch-src-VBox-Runtime-r3-freebsd-rtProcInitExePath-freebsd.cpp b/emulators/virtualbox-ose-legacy/files/patch-src-VBox-Runtime-r3-freebsd-rtProcInitExePath-freebsd.cpp
deleted file mode 100644
index 2332212ead14..000000000000
--- a/emulators/virtualbox-ose-legacy/files/patch-src-VBox-Runtime-r3-freebsd-rtProcInitExePath-freebsd.cpp
+++ /dev/null
@@ -1,81 +0,0 @@
---- src/VBox/Runtime/r3/freebsd/rtProcInitExePath-freebsd.cpp (revision 25471)
-+++ src/VBox/Runtime/r3/freebsd/rtProcInitExePath-freebsd.cpp (revision 25472)
-@@ -32,6 +32,8 @@
- * Header Files *
- *******************************************************************************/
- #define LOG_GROUP RTLOGGROUP_PROCESS
-+#include <sys/param.h>
-+#include <sys/sysctl.h>
- #include <unistd.h>
- #include <errno.h>
- #include <dlfcn.h>
-@@ -47,17 +49,20 @@
-
- DECLHIDDEN(int) rtProcInitExePath(char *pszPath, size_t cchPath)
- {
-- /*
-- * Read the /proc/curproc/file link, convert to native and return it.
-- */
-- int cchLink = readlink("/proc/curproc/file", pszPath, cchPath - 1);
-- if (cchLink > 0 && (size_t)cchLink <= cchPath - 1)
-- {
-- pszPath[cchLink] = '\0';
-+ int aiName[4];
-+ size_t cchExePath;
-
-+ aiName[0] = CTL_KERN;
-+ aiName[1] = KERN_PROC;
-+ aiName[2] = KERN_PROC_PATHNAME;
-+ aiName[3] = getpid();
-+
-+ cchExePath = cchPath - 1;
-+ if(sysctl(aiName, RT_ELEMENTS(aiName), pszPath, &cchExePath, NULL, 0) == 0)
-+ {
- char *pszTmp = NULL;
- int rc = rtPathFromNative(&pszTmp, pszPath);
-- AssertMsgRCReturn(rc, ("rc=%Rrc pszLink=\"%s\"\nhex: %.*Rhsx\n", rc, pszPath, cchLink, pszPath), rc);
-+ AssertMsgRCReturn(rc, ("rc=%Rrc pszLink=\"%s\"\nhex: %.*Rhsx\n", rc, pszPath, cchExePath, pszPath), rc);
-
- size_t cch = strlen(pszTmp);
- AssertReturn(cch <= cchPath, VERR_BUFFER_OVERFLOW);
-@@ -68,39 +73,8 @@
- return VINF_SUCCESS;
- }
-
-- int err = errno;
--
-- /*
-- * Fall back on the dynamic linker since /proc is optional.
-- */
-- void *hExe = dlopen(NULL, 0);
-- if (hExe)
-- {
-- struct link_map const *pLinkMap = 0;
-- if (dlinfo(hExe, RTLD_DI_LINKMAP, &pLinkMap) == 0)
-- {
-- const char *pszImageName = pLinkMap->l_name;
-- if (*pszImageName == '/') /* this may not always be absolute, despite the docs. :-( */
-- {
-- char *pszTmp = NULL;
-- int rc = rtPathFromNative(&pszTmp, pszImageName);
-- AssertMsgRCReturn(rc, ("rc=%Rrc pszImageName=\"%s\"\n", rc, pszImageName), rc);
--
-- size_t cch = strlen(pszTmp);
-- AssertReturn(cch <= cchPath, VERR_BUFFER_OVERFLOW);
--
-- memcpy(pszPath, pszTmp, cch + 1);
-- RTStrFree(pszTmp);
--
-- return VINF_SUCCESS;
-- }
-- /** @todo Try search the PATH for the file name or append the current
-- * directory, which ever makes sense... */
-- }
-- }
--
-- int rc = RTErrConvertFromErrno(err);
-- AssertMsgFailed(("rc=%Rrc err=%d cchLink=%d hExe=%p\n", rc, err, cchLink, hExe));
-+ int rc = RTErrConvertFromErrno(errno);
-+ AssertMsgFailed(("rc=%Rrc errno=%d cchLink=%d\n", rc, errno, cchExePath));
- return rc;
- }