summaryrefslogtreecommitdiff
path: root/gcc/config/i386/cygwin.h
diff options
context:
space:
mode:
authorDave Korn <dave.korn.cygwin@gmail.com>2009-01-31 18:52:00 +0000
committerDave Korn <davek@gcc.gnu.org>2009-01-31 18:52:00 +0000
commit3cbfaf984602e3b1eabba8ec279a1aceb0379224 (patch)
tree3b59fc8984e5b0cc68ebb79362688651ec1eeadc /gcc/config/i386/cygwin.h
parent8d0b6068b550226ed80e62af3bb5b3da171d7802 (diff)
downloadgcc-3cbfaf984602e3b1eabba8ec279a1aceb0379224.tar.gz
re PR target/38904 (Shared libgcc DLL violates Cygwin platform conventions.)
PR target/38904 * mkmap-flat.awk (END): Use pe_dll command-line arg to pass LIBRARY name in, instead of hard-coding it. * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add an extra target make frag to tmake_files according to EH model. (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise. * config/i386/t-dw2-eh, config/i386/t-sjlj-eh: Add new target frags that define makefile variable EH_MODEL appropriately. * config/i386/cygming.h (DWARF2_UNWIND_INFO): Add comment. * config/i386/cygwin.h (LIBGCC_EH_EXTN): Define to nothing or to "-sjlj" according to type of EH configured. (LIBGCC_SONAME): Concatenate it to shared library base name. * config/i386/mingw32.h (LIBGCC_EH_EXTN): Define to "_dw2" or to "_sjlj" according to type of EH configured. (LIBGCC_SONAME): Concatenate it to shared library base name. * config/i386/t-cygming (SHLIB_SONAME): Use EH_MODEL. (SHLIB_LINK): Add missing semicolon to if-else construct. (SHLIB_MKMAP_OPTS): Pass library name to mkmap-flat.awk as string value of "pe_dll" command-line option. * config/i386/t-cygwin (SHLIB_EH_EXTENSION): New helper. (SHLIB_SONAME): Use it when overriding t-cygming default. (SHLIB_IMPLIB): Override t-cygming default. (SHLIB_MKMAP_OPTS): Pass library name to mkmap-flat.awk as string value of "pe_dll" command-line option. From-SVN: r143829
Diffstat (limited to 'gcc/config/i386/cygwin.h')
-rw-r--r--gcc/config/i386/cygwin.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/config/i386/cygwin.h b/gcc/config/i386/cygwin.h
index 9b2fd7f2b7d..0f73f000707 100644
--- a/gcc/config/i386/cygwin.h
+++ b/gcc/config/i386/cygwin.h
@@ -259,3 +259,11 @@ while (0)
and the -pthread flag is not recognized. */
#undef GOMP_SELF_SPECS
#define GOMP_SELF_SPECS ""
+
+/* This matches SHLIB_SONAME and SHLIB_SOVERSION in t-cygwin. */
+#if DWARF2_UNWIND_INFO
+#define LIBGCC_EH_EXTN ""
+#else
+#define LIBGCC_EH_EXTN "-sjlj"
+#endif
+#define LIBGCC_SONAME "cyggcc_s" LIBGCC_EH_EXTN "-1.dll"