diff options
author | davek <davek@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-01-31 18:52:00 +0000 |
---|---|---|
committer | davek <davek@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-01-31 18:52:00 +0000 |
commit | 8cae609cdca397a87c1059b07a44ef9b3b63ee53 (patch) | |
tree | 3b59fc8984e5b0cc68ebb79362688651ec1eeadc /gcc/config/i386/t-cygwin | |
parent | 27ed8c87b1d9aab091c167e649ab0c383c213647 (diff) | |
download | gcc-8cae609cdca397a87c1059b07a44ef9b3b63ee53.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143829 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/i386/t-cygwin')
-rw-r--r-- | gcc/config/i386/t-cygwin | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/config/i386/t-cygwin b/gcc/config/i386/t-cygwin index 7433138d692..d58d84fcd6f 100644 --- a/gcc/config/i386/t-cygwin +++ b/gcc/config/i386/t-cygwin @@ -16,3 +16,15 @@ cygwin2.o: $(srcdir)/config/i386/cygwin2.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ # Cygwin-specific parts of LIB_SPEC SHLIB_LC = -lcygwin -luser32 -lkernel32 -ladvapi32 -lshell32 + +# We have already included one of the t-{dw2,sjlj}-eh fragments for EH_MODEL +SHLIB_EH_EXTENSION = $(subst -dw2,,-$(EH_MODEL)) + +# Cygwin uses different conventions than MinGW; override generic SHLIB_ def'ns here. +SHLIB_IMPLIB = @shlib_base_name@$(SHLIB_EXT).a +SHLIB_SONAME = cyggcc_s$(SHLIB_EH_EXTENSION)-$(SHLIB_SOVERSION)$(SHLIB_EXT) +# This must match the definitions of SHLIB_SONAME/SHLIB_SOVERSION and LIBGCC_SONAME. +# We'd like to use SHLIB_SONAME here too, and we can, since +# we don't rely on shlib_base_name substitution for it. +SHLIB_MKMAP_OPTS = -v pe_dll=$(SHLIB_SONAME) + |