This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Patch/RFC] SEH exceptions for Win64
- From: Eric Botcazou <ebotcazou at adacore dot com>
- To: Tristan Gingold <gingold at adacore dot com>
- Cc: gcc-patches at gcc dot gnu dot org, Kai Tietz <ktietz70 at googlemail dot com>, Richard Henderson <rth at redhat dot com>
- Date: Thu, 19 Jul 2012 18:54:54 +0200
- Subject: Re: [Patch/RFC] SEH exceptions for Win64
- References: <17C1EDE6-6479-4C93-AD30-1930864B3729@adacore.com>
> 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