This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch/RFC] SEH exceptions for Win64


> I did a manual build and testing for x86_64-pc-mingw32 and I will run a
> full bootstrap and regression run on GNU/Linux.
> 
> Tristan.
> 
> libstdc++-v3/
> 	* libsupc++/eh_personality.cc (__gxx_personality_seh0): New function.
> 	Adjust for SEH.
> 	* config/abi/pre/gnu.ver: Add __gxx_personality_seh0.
> 
> libobjc/
> 	* exception.c (__gnu_objc_personality_seh0): New function.
> 
> libjava/
> 	* libgcj.ver: Add __gcj_personality_seh0.
> 	* exception.cc (__gcj_personality_seh0): New function.
> 	Adjust for SEH.
> 
> libgcc/
> 	* unwind-seh.c: New file.
> 	* unwind-generic.h: Include windows.h for SEH.
> 	(_Unwind_Exception): Use 6 private fields for SEH.
> 	(_GCC_specific_handler): Declare.
> 	* unwind-c.c (__gcc_personality_seh0): New function.
> 	Adjust for SEH.
> 	* config/i386/libgcc-cygming.ver: New file.
> 	* config/i386/t-seh-eh: New file.
> 	* config.host (x86_64-*-mingw*): Default to seh.
> 
> gcc/
> 	* opts.c (finish_options): Handle UI_SEH.
> 	* expr.c (build_personality_function): Handle UI_SEH.
> 	* dwarf2out.c (dwarf2out_begin_prologue): Handle UI_SEH.
> 	* coretypes.h (unwind_info_type): Add UI_SEH.
> 	* config/i386/winnt.c (i386_pe_seh_emit_except_personality):
> 	New function.
> 	(i386_pe_seh_init_sections): Likewise.
> 	* config/i386/cygming.h (TARGET_ASM_EMIT_EXCEPT_PERSONALITY): Define.
> 	(TARGET_ASM_INIT_SECTIONS): Define.
> 	* common/config/i386/i386-common.c (TARGET_EXCEPT_UNWIND_INFO): Define.
> 	(i386_except_unwind_info): New function.

Don't we need something in ada/ as well?  PR ada/54028 reports a build failure.

-- 
Eric Botcazou


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]