diff options
author | Dave Korn <dave.korn.cygwin@gmail.com> | 2009-01-31 18:52:00 +0000 |
---|---|---|
committer | Dave Korn <davek@gcc.gnu.org> | 2009-01-31 18:52:00 +0000 |
commit | 3cbfaf984602e3b1eabba8ec279a1aceb0379224 (patch) | |
tree | 3b59fc8984e5b0cc68ebb79362688651ec1eeadc /gcc/config/i386/cygwin.h | |
parent | 8d0b6068b550226ed80e62af3bb5b3da171d7802 (diff) | |
download | gcc-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.h | 8 |
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" |