[git] GPG-ERROR - branch, master, updated. libgpg-error-1.18-2-g8487ec2

by Werner Koch cvs at cvs.gnupg.org
Fri Jan 30 17:27:15 CET 2015


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Error codes used by GnuPG et al.".

The branch, master has been updated
       via  8487ec25e1c8f73ca7dc31e5d648cb05eede0f14 (commit)
      from  bf44f9a2365faf6b85967e69d6f2f0de11bc9a54 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 8487ec25e1c8f73ca7dc31e5d648cb05eede0f14
Author: Werner Koch <wk at gnupg.org>
Date:   Fri Jan 30 16:39:02 2015 +0100

    w32: Use -static-libgcc to avoid linking to libgcc_s_sjlj-1.dll.
    
    * src/Makefile.am (extra_ltoptions): New.
    (libgpg_error_la_LDFLAGS): Use it.
    --
    
    Since gcc 4.8 there is a regression in that plain C programs may link
    to libgcc_s.a which has a dependency on libgcc_s_sjlj.dll.  This is
    for example triggered by using long long arithmetic on a 32 bit
    Windows (e.g symbol __udivdi3).
    
    As usual the gcc maintainers don't care about backward compatibility
    and declare that as some kind of compatibility fix and not as
    regression from 4.7 and all earlier versions.
    
    Signed-off-by: Werner Koch <wk at gnupg.org>

diff --git a/src/Makefile.am b/src/Makefile.am
index b91876b..403f5d2 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -114,6 +114,12 @@ SUFFIXES = .rc .lo
 gpg_error_res = versioninfo.lo
 no_undefined = -no-undefined
 export_symbols = -export-symbols gpg-error.def
+# i686-w64-mingw32.gcc version 4.9.1 takes the long long helper
+# functions from libgcc_s_sjlj-1.dll and not from a static libgcc.  As
+# a plain C program we do not use exception handler and thus there is
+# no need to use this DLL.  Thus we force gcc to link that statically.
+extra_ltoptions = -XCClinker -static-libgcc
+
 
 install-def-file: gpg-error.def
 	-$(INSTALL) -d $(DESTDIR)$(libdir)
@@ -136,6 +142,8 @@ arch_sources = posix-lock.c posix-lock-obj.h posix-thread.c
 gpg_error_res =
 no_undefined =
 export_symbols =
+extra_ltoptions =
+
 install-def-file:
 uninstall-def-file:
 
@@ -154,7 +162,7 @@ endif
 
 libgpg_error_la_LDFLAGS = \
   $(no_undefined) $(export_symbols) $(libgpg_error_vers_opt) \
-  -version-info \
+  $(extra_ltoptions) -version-info \
   @LIBGPG_ERROR_LT_CURRENT@:@LIBGPG_ERROR_LT_REVISION@:@LIBGPG_ERROR_LT_AGE@
 
 libgpg_error_la_SOURCES = gettext.h $(arch_sources) \

-----------------------------------------------------------------------

Summary of changes:
 src/Makefile.am | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
Error codes used by GnuPG et al.
http://git.gnupg.org




More information about the Gnupg-commits mailing list