mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-01 19:26:16 +00:00
PSEH2 uses a special mechanism to deal with nested try blocks inside the same function. Instead of pushing a second exception registration record on the exception list, it uses an internal pointer to handle the different try-levels. But when a function using SEH is inlined, the resulting code will push 2 registration frames on the stack. Now it happens with GCC 4.7.1 that these frames get shuffled on the stack, putting one for the inner try on a higher stack address. This is something that RtlUnwind regards as a bug and throws a STATUS_INVALID_UNWIND_TARGET exception. This was the reason for the crashing PSEH2_TEST, when compiled with GCC 4.7.1. To fix this, I added a mechanism that will prevent functions using SEH from being inlined. svn path=/trunk/; revision=57159
======================== ReactOS Version 0.3.x Updated Dec 16, 2006 ======================== 1. What is ReactOS? ReactOS is an Open Source effort to develop a quality operating system that is compatible with Windows NT applications and drivers. The ReactOS project, although currently focused on Windows XP/2003 drivers compatibility, is always keeping an eye toward compatibility with older version of Windows NT family ( NT 4.0, 2000 (NT 5.0)) and new Windows NT releases (Vista, etc). Applications (Win32 API) compatibility focus is Windows XP. More information is available at http://www.reactos.org/. 2. Building ReactOS See the INSTALL file for more details. 3. More information See the media\doc subdirectory for some sparse notes. 4. Who is responsible See the CREDITS file.