From 43b01cc12de676d5a3871f7f813c740fc32b5a1a Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Fri, 9 Nov 2018 10:49:47 +0000 Subject: [PATCH] large-addr-aware for biarch non-w64 mingw32 for gcc/ChangeLog * config/i386/mingw32.h (LINK_SPEC_LARGE_ADDR_AWARE): Adjust for non-w64 x86_64 biarch. From-SVN: r265958 --- gcc/ChangeLog | 5 +++++ gcc/config/i386/mingw32.h | 19 +++++++++++++++++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 46ab4e9..ec1ad17 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2018-11-09 Alexandre Oliva + + * config/i386/mingw32.h (LINK_SPEC_LARGE_ADDR_AWARE): Adjust + for non-w64 x86_64 biarch. + 2018-11-09 Alexandre Oliva PR rtl-optimization/86438 diff --git a/gcc/config/i386/mingw32.h b/gcc/config/i386/mingw32.h index c9d8a7a..5759d8d 100644 --- a/gcc/config/i386/mingw32.h +++ b/gcc/config/i386/mingw32.h @@ -114,11 +114,26 @@ along with GCC; see the file COPYING3. If not see #define SUBTARGET_EXTRA_SPECS \ { "shared_libgcc_undefs", SHARED_LIBGCC_UNDEFS_SPEC } -#if MINGW_DEFAULT_LARGE_ADDR_AWARE +#if ! MINGW_DEFAULT_LARGE_ADDR_AWARE +/* This is used without --enable-large-address-aware. */ +# define LINK_SPEC_LARGE_ADDR_AWARE "" +#elif ! TARGET_BI_ARCH +/* This is used on i686-pc-mingw32 with --enable-large-address-aware. */ # define LINK_SPEC_LARGE_ADDR_AWARE \ "%{!shared:%{!mdll:--large-address-aware}}" +#elif TARGET_64BIT_DEFAULT +/* This is used on x86_64-pc-mingw32 with --enable-large-address-aware. + ??? It probably doesn't work, because the linker emulation defaults + to i386pep, the 64-bit mode that does not support + --large-address-aware, and x86_64-pc-mingw32 does not override the + emulation to i386pe for -m32, unlike x86_64-w64-mingw32. */ +# define LINK_SPEC_LARGE_ADDR_AWARE \ + "%{!shared:%{!mdll:%{m32:--large-address-aware}}}" #else -# define LINK_SPEC_LARGE_ADDR_AWARE "" +/* This would only be used if someone introduced a biarch + configuration that defaulted to 32-bit. */ +# define LINK_SPEC_LARGE_ADDR_AWARE \ + "%{!shared:%{!mdll:%{!m64:--large-address-aware}}}" #endif #define LINK_SPEC "%{mwindows:--subsystem windows} \ -- 2.7.4