mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-12-11 12:10:43 +01:00
* fix environment corruption for inferiors
git-svn-id: trunk@14153 -
This commit is contained in:
parent
ce5d4ee65d
commit
152fa714e1
@ -37,9 +37,14 @@ var
|
|||||||
__get_exit_frame_monitor_ptr : pointer; cvar; external;
|
__get_exit_frame_monitor_ptr : pointer; cvar; external;
|
||||||
__do_exit_code_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 _DYNAMIC;cdecl;external 'c' name '_DYNAMIC'; { should be weak }
|
||||||
|
|
||||||
procedure __Argv;cdecl;external 'c' name '__Argv';
|
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 __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';
|
//procedure __do_exit_code_ptr;cdecl;external 'c' name '__do_exit_code_ptr';
|
||||||
|
|
||||||
@ -77,11 +82,12 @@ asm
|
|||||||
.Label2:
|
.Label2:
|
||||||
mov 0x8(%ebp),%eax
|
mov 0x8(%ebp),%eax
|
||||||
mov %eax,argc
|
mov %eax,argc
|
||||||
mov environ,%edx
|
mov _environ,%edx
|
||||||
test %edx,%edx
|
test %edx,%edx
|
||||||
jne .Label3
|
jne .Label3
|
||||||
lea 0x10(%ebp,%eax,4),%edx
|
lea 0x10(%ebp,%eax,4),%edx
|
||||||
.Label3:
|
.Label3:
|
||||||
|
movl %edx,_environ
|
||||||
movl %edx,envp
|
movl %edx,envp
|
||||||
and $0xfffffff0,%esp
|
and $0xfffffff0,%esp
|
||||||
push %edx
|
push %edx
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user