Hello,

Split submitted patch from thread "[patch ada]: Fix issues about
multilib build of native windows and handle MSG_WAITALL for windows
native targets"
into separate ones.

ChangeLog gcc/ada (ada_w_multi.txt)

2011-03-28  Kai Tietz

        * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
        windows targets.
        (EH_MECHANISM): Make sure we use gcc's exception mechanism for all
        native windows target.
        * system-mingw.ads (System): Change ZCX_By_Default default to
        True.

Regards,
Kai
Index: gcc/gcc/ada/gcc-interface/Makefile.in
===================================================================
--- gcc.orig/gcc/ada/gcc-interface/Makefile.in  2011-03-28 10:56:42.202851800 
+0200
+++ gcc/gcc/ada/gcc-interface/Makefile.in       2011-03-28 11:35:38.320423700 
+0200
@@ -1634,21 +1634,26 @@ ifeq ($(strip $(filter-out cygwin32% min
     s-osprim.adb<s-osprim-mingw.adb \
     s-taprop.adb<s-taprop-mingw.adb
 
+    EH_MECHANISM=-gcc
     ifeq ($(strip $(filter-out x86_64%,$(arch))),)
       ifeq ($(strip $(MULTISUBDIR)),/32)
        LIBGNAT_TARGET_PAIRS += \
          system.ads<system-mingw.ads
+       SO_OPTS= -m32 -Wl,-soname,
       else
        LIBGNAT_TARGET_PAIRS += \
          system.ads<system-mingw-x86_64.ads
+       SO_OPTS = -m64 -Wl,-soname,
       endif
     else
       ifeq ($(strip $(MULTISUBDIR)),/64)
        LIBGNAT_TARGET_PAIRS += \
          system.ads<system-mingw-x86_64.ads
+       SO_OPTS = -m64 -Wl,-soname,
       else
        LIBGNAT_TARGET_PAIRS += \
          system.ads<system-mingw.ads
+       SO_OPTS = -m32 -Wl,-soname,
       endif
     endif
 
Index: gcc/gcc/ada/system-mingw.ads
===================================================================
--- gcc.orig/gcc/ada/system-mingw.ads   2010-09-09 16:07:48.000000000 +0200
+++ gcc/gcc/ada/system-mingw.ads        2011-03-28 11:31:31.668102900 +0200
@@ -139,7 +139,7 @@ private
    Always_Compatible_Rep     : constant Boolean := False;
    Suppress_Standard_Library : constant Boolean := False;
    Use_Ada_Main_Program_Name : constant Boolean := False;
-   ZCX_By_Default            : constant Boolean := False;
+   ZCX_By_Default            : constant Boolean := True;
    GCC_ZCX_Support           : constant Boolean := True;
 
    ---------------------------

Reply via email to