i386-win32 compiler build crashes at WPO stage under -CriotR
Original Reporter info from Mantis: CuriousKit @CuriousKit
-
Reporter name: J. Gareth Moreton
Original Reporter info from Mantis: CuriousKit @CuriousKit
- Reporter name: J. Gareth Moreton
Description:
When building the compiler under -CriotR options on i386-win32, it crashes with an access violation at the whole-program optimization stage.
Steps to reproduce:
When under win64, I do something akin to: make clean all FPC=C:\FPC\3.2.0\bin\i386-win32\fpc CPU_TARGET=i386 OS_TARGET=win32 OPT="-CriotR"
Observe a compiler exception while running ppcwpo1.exe (see Additional Information for an example log):
Additional information:
...
C:/Users/garet/Documents/programming/fpc/compiler/ppcwpo1.exe -Ur -Xs -O2 -n -Fi../inc -Fi../i386 -Fi../win -FE. -FUC:/Users/garet/Documents/programming/fpc/rtl/units/i386-win32 -CriotR -DD2020/11/27 -Owdevirtcalls,optvmts -FwC:/Users/garet/Documents/programming/fpc/compiler/pp2.wpo -di386 -dRELEASE -Fi../objpas/sysutils -Fi../objpas/classes -Fu../i386 -I../objpas -I../win/wininc -Fu../win/wininc -Fu../win -I../inc -Fu../inc -Fu../objpas buildrtl
Error: Compilation raised exception internally
An unhandled exception occurred at $00467DFF:
EAccessViolation: Access violation
$00467DFF
make[6]: *** [buildrtl.ppu] Error 217
make[6]: Leaving directory C:/Users/garet/Documents/programming/fpc/rtl/win32'<br/> make[5]: *** [win32_all] Error 2<br/> make[5]: Leaving directory
C:/Users/garet/Documents/programming/fpc/rtl'
make[4]: *** [rtl] Error 2
make[4]: Leaving directory C:/Users/garet/Documents/programming/fpc/compiler'<br/> make[3]: *** [wpocycle] Error 2<br/> make[3]: Leaving directory
C:/Users/garet/Documents/programming/fpc/compiler'
make[2]: *** [cycle] Error 2
make[2]: Leaving directory C:/Users/garet/Documents/programming/fpc/compiler'<br/> make[1]: *** [compiler_cycle] Error 2<br/> make[1]: Leaving directory
C:/Users/garet/Documents/programming/fpc'
make: *** [build-stamp.i386-win32] Error 2
----
Additional debugging information suggests the exception might be occurring under a call to FreeInstance.
Mantis conversion info:
- Mantis ID: 38136
- OS: Microsoft Windows
- OS Build: 10 Home
- Build: r47604
- Platform: i386-win32
- Version: 3.3.1
- Fixed in version: 3.3.1
- Fixed in revision: r47749 (#8b7c5666)
- Monitored by: » @CuriousKit (J. Gareth Moreton)