From 152fa714e19372a8812f54cfbfa72919ccf6aaba Mon Sep 17 00:00:00 2001 From: pierre Date: Thu, 12 Nov 2009 12:28:21 +0000 Subject: [PATCH] * fix environment corruption for inferiors git-svn-id: trunk@14153 - --- rtl/solaris/i386/start.inc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/rtl/solaris/i386/start.inc b/rtl/solaris/i386/start.inc index 3caa92d5d1..cad449d25f 100644 --- a/rtl/solaris/i386/start.inc +++ b/rtl/solaris/i386/start.inc @@ -37,9 +37,14 @@ var __get_exit_frame_monitor_ptr : pointer; cvar; external; __do_exit_code_ptr : pointer; cvar; external; } + +var + _environ : pointer; cvar; external; + procedure _DYNAMIC;cdecl;external 'c' name '_DYNAMIC'; { should be weak } + procedure __Argv;cdecl;external 'c' name '__Argv'; -procedure environ;cdecl;external 'c' name 'environ'; +//procedure environ;cdecl;external 'c' name 'environ'; //procedure __get_exit_frame_monitor_ptr;cdecl;external 'c' name '__get_exit_frame_monitor_ptr'; //procedure __do_exit_code_ptr;cdecl;external 'c' name '__do_exit_code_ptr'; @@ -77,11 +82,12 @@ asm .Label2: mov 0x8(%ebp),%eax mov %eax,argc - mov environ,%edx + mov _environ,%edx test %edx,%edx jne .Label3 lea 0x10(%ebp,%eax,4),%edx .Label3: + movl %edx,_environ movl %edx,envp and $0xfffffff0,%esp push %edx