4
0
mirror of git://sourceware.org/git/newlib-cygwin.git synced 2025-01-30 19:10:36 +08:00
Corinna Vinschen 859c10beee autload.cc: Avoid clobbering return address in noload on i686
This fixes a long-standing problem when GetProcAddress fails
	to load a function.  The noload code calls SetLastError on
	i686 without saving the edx register.  Starting with Windows 7,
	SetLastError apparently uses $edx and the register is set to
	0x00000000 on return.  So the subsequent `jmp *$edx' in noload
	supposed to return to the caller, actually jumps to address NULL,
	which results in a SEGV.

        * autoload.cc (noload): i686 only: Save and restore $edx when calling
        SetLastError to avoid clobbering return address stating with Windows 7.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2015-08-25 22:15:22 +02:00
..
2015-08-24 18:35:49 +02:00
2015-01-13 08:52:26 +00:00
2013-04-30 23:43:08 +00:00
2013-04-23 09:44:36 +00:00
2012-11-23 13:22:47 +00:00
2013-04-23 09:44:36 +00:00
2014-01-04 23:58:32 +00:00
2015-07-29 13:45:46 +02:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2015-07-29 13:45:46 +02:00
2013-04-23 09:44:36 +00:00
2015-04-23 21:57:12 +02:00
2015-04-23 21:57:12 +02:00
2014-04-26 17:38:22 +00:00
2015-07-29 13:45:46 +02:00
2013-04-23 09:44:36 +00:00
2014-01-27 20:04:35 +00:00
2013-04-23 09:44:36 +00:00
2015-07-29 13:45:46 +02:00
2015-07-29 13:45:46 +02:00
2015-03-03 12:58:34 +00:00
2015-07-29 13:45:46 +02:00
2013-04-23 09:44:36 +00:00
2015-07-29 13:45:46 +02:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2013-08-19 16:21:29 +00:00
2015-02-24 20:52:57 +00:00
2014-08-14 17:36:24 +00:00
2015-08-17 11:05:43 +02:00
2013-04-23 09:44:36 +00:00
2015-08-25 22:02:35 +02:00
2015-06-17 11:11:02 +02:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2015-07-29 13:45:46 +02:00
2013-04-23 09:44:36 +00:00
2015-04-23 21:57:12 +02:00
2015-04-23 22:04:24 +02:00
2013-04-23 09:44:36 +00:00
2015-07-29 13:45:46 +02:00
2015-08-24 19:09:16 +02:00
2015-07-29 13:45:46 +02:00
2013-04-23 09:44:36 +00:00
2015-07-29 13:45:46 +02:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2015-04-23 21:57:07 +02:00
2015-04-23 22:04:24 +02:00
2015-08-10 12:00:12 +02:00
2015-02-24 20:52:57 +00:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2015-07-29 13:45:46 +02:00
2013-04-23 09:44:36 +00:00
2013-05-13 19:25:35 +00:00