From: xwt Date: Fri, 30 Jan 2004 08:04:58 +0000 (+0000) Subject: 2004/01/20 10:30:45 X-Git-Tag: RC3~112 X-Git-Url: http://git.megacz.com/?p=org.ibex.core.git;a=commitdiff_plain;h=1079215ba49d8eff5d2f56c2b66f2c254d8f7d0f 2004/01/20 10:30:45 darcs-hash:20040130080458-3ac31-b01e1c709897fb914bc894a80481f736672e8b87.gz --- diff --git a/src/org/xwt/plat/GCJ.cc b/src/org/xwt/plat/GCJ.cc index 74589e4..5c355d3 100644 --- a/src/org/xwt/plat/GCJ.cc +++ b/src/org/xwt/plat/GCJ.cc @@ -23,12 +23,11 @@ extern "C" { #include #include -#ifndef TRUE -#define TRUE 1 +#ifdef TRUE +#undef TRUE #endif -using org::xwt::util::Log; - #define TRUE 1 +using org::xwt::util::Log; // builtin.xwar ///////////////////////////////////////////////////////// diff --git a/src/org/xwt/plat/Linux.cc b/src/org/xwt/plat/Linux.cc index 39ab5a8..b3a19e6 100644 --- a/src/org/xwt/plat/Linux.cc +++ b/src/org/xwt/plat/Linux.cc @@ -8,9 +8,14 @@ extern const char **_Jv_argv; extern int _Jv_argc; void org::xwt::plat::Linux::fixEnvironment() { - // see http://lists.debian.org/debian-glibc/2003/debian-glibc-200311/msg00647.html - if (!strcmp("2.4.1", getenv("LD_ASSUME_KERNEL"))) { - putenv("LD_ASSUME_KERNEL", "2.4.1"); - execvp(_Jv_argv[0], _Jv_argv); + // see http://lists.debian.org/debian-glibc/2003/debian-glibc-200311/msg00647.html + const char* ld_assume_kernel = getenv("LD_ASSUME_KERNEL"); + if (ld_assume_kernel == NULL || strcmp("2.4.1", ld_assume_kernel)) { + int result; + printf("respawning self (%s) with LD_ASSUME_KERNEL=2.4.1\n", _Jv_argv[0]); + setenv("LD_ASSUME_KERNEL", "2.4.1", 1); + result = execvp(_Jv_argv[0], (char* const*)((void*)_Jv_argv)); + printf("execvp() failed with error code %d\n", result); + exit(-1); } }