diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f7a84c0b74c..a4d6c72aefd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,12 @@ 2014-08-19 Yaakov Selkowitz + * config/i386/cygwin.h (LINK_SPEC): Pass --tsaware flag only + when building executables, not DLLs. Add --large-address-aware + under the same conditions. + * config/i386/cygwin-w64.h (LINK_SPEC): Pass --tsaware flag only + when building executables, not DLLs. Add --large-address-aware + under the same conditions when using -m32. + * config/i386/cygwin-stdint.h: Throughout, make type definitions dependent on target architecture, not host. diff --git a/gcc/config/i386/cygwin-w64.h b/gcc/config/i386/cygwin-w64.h index 06a6cd98c1b..0ecb37b2ff0 100644 --- a/gcc/config/i386/cygwin-w64.h +++ b/gcc/config/i386/cygwin-w64.h @@ -66,7 +66,8 @@ along with GCC; see the file COPYING3. If not see %{static:-Bstatic} %{!static:-Bdynamic} \ %{shared|mdll: " SUB_LINK_ENTRY " --enable-auto-image-base} \ %(shared_libgcc_undefs) \ - --dll-search-prefix=cyg -tsaware" + --dll-search-prefix=cyg \ + %{!shared: %{!mdll: %{" SPEC_32 ":--large-address-aware} --tsaware}}" /* Cygwin64 will have a 64-bit long type. */ #undef LONG_TYPE_SIZE diff --git a/gcc/config/i386/cygwin.h b/gcc/config/i386/cygwin.h index 165d3aae229..0ea29ce0fc8 100644 --- a/gcc/config/i386/cygwin.h +++ b/gcc/config/i386/cygwin.h @@ -120,7 +120,8 @@ along with GCC; see the file COPYING3. If not see %{shared: --shared} %{mdll:--dll} \ %{static:-Bstatic} %{!static:-Bdynamic} \ %{shared|mdll: --enable-auto-image-base -e __cygwin_dll_entry@12} \ - --dll-search-prefix=cyg -tsaware" + --dll-search-prefix=cyg \ + %{!shared: %{!mdll: --large-address-aware --tsaware}}" /* Binutils does not handle weak symbols from dlls correctly. For now, do not use them unnecessarily in gthr-posix.h. */