gnupg: compile with -fcommon
authorTjeu Kayim <15987676+TjeuKayim@users.noreply.github.com>
Thu, 24 Nov 2022 11:08:30 +0000 (12:08 +0100)
committerRosen Penev <rosenp@gmail.com>
Thu, 24 Nov 2022 18:09:58 +0000 (10:09 -0800)
This fixes a segfault because gnupg/g10/options.h struct opt
is otherwise not shared between the different compilation units,
resulting in opt.homedir being NULL when passed to make_filename.

$ gpg1 -i

gpg: signal 11 caught ... exiting
Segmentation fault

(gdb) bt
    #0  0x00007f17bb2185e2 in strlen (s=s@entry=0x0) at src/string/strlen.c:17
    #1  0x0000000000460ea0 in make_filename (first_part=first_part@entry=0x0) at gnupg-1.4.23/util/fileutil.c:174
    #2  0x000000000040ee42 in keydb_add_resource (url=url@entry=0x46bfe3 "secring.gpg", flags=flags@entry=4, secret=secret@entry=1)
        at gnupg-1.4.23/g10/keydb.c:238
    #3  0x00000000004062ee in main (argc=<optimized out>, argv=<optimized out>) at gnupg-1.4.23/g10/gpg.c:3323

Signed-off-by: Tjeu Kayim <15987676+TjeuKayim@users.noreply.github.com>
utils/gnupg/Makefile

index 1974d34e06c7b0a6d5458a2c45eec3b3cc200dd7..455c2fb6730f0995b0f8a54abf500050b9e3069e 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gnupg
 PKG_VERSION:=1.4.23
-PKG_RELEASE:=4
+PKG_RELEASE:=5
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://gnupg.org/ftp/gcrypt/gnupg
@@ -87,7 +87,7 @@ CONFIGURE_ARGS += \
 MAKE_FLAGS += \
        SUBDIRS="m4 intl zlib util mpi cipher tools g10 keyserver ${checks}" \
 
-TARGET_CFLAGS += -DEXTERN_UNLESS_MAIN_MODULE=static
+TARGET_CFLAGS += -fcommon
 
 define Package/gnupg/install
        $(INSTALL_DIR) $(1)/usr/bin