From 9d2bf88ec44fa85b120dcaf35dd733742abedabd Mon Sep 17 00:00:00 2001 From: Eneas U de Queiroz Date: Thu, 18 Jan 2018 09:28:03 -0200 Subject: [PATCH] sendmail: link with gcc instead of ld If ld is used directly to link libmilter.so, linking is not done correctly with glibc, and produces a library that can't be used. Linking with the bad library produces a strange error: ld: conftest: hidden symbol `stat' in [...]libc_nonshared.a(stat.oS) is referenced by DSO Using ld with musl works fine, but using gcc is a more portable way of linking the shared library anyway. Signed-off-by: Eneas U de Queiroz --- mail/sendmail/files/OpenWrt | 2 +- mail/sendmail/files/sharedlibrary.m4 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mail/sendmail/files/OpenWrt b/mail/sendmail/files/OpenWrt index 00865f0188..c0a01a95bc 100644 --- a/mail/sendmail/files/OpenWrt +++ b/mail/sendmail/files/OpenWrt @@ -13,7 +13,7 @@ APPENDDEF(`confLIBSEARCH', `crypt') define(`confMTCCOPTS', `-D_REENTRANT') define(`confMTLDOPTS', `-lpthread') define(`confLDOPTS_SO', `-shared') -define(`confSONAME',`-soname') +define(`confSONAME',`-Wl,-soname') define(`currentuser', esyscmd(`id -nu')) define(`currentgroup', esyscmd(`id -ng')) diff --git a/mail/sendmail/files/sharedlibrary.m4 b/mail/sendmail/files/sharedlibrary.m4 index 2c131be808..6096f9016b 100644 --- a/mail/sendmail/files/sharedlibrary.m4 +++ b/mail/sendmail/files/sharedlibrary.m4 @@ -9,7 +9,7 @@ include(confBUILDTOOLSDIR`/M4/'bldM4_TYPE_DIR`/defines.m4') divert(bldTARGETS_SECTION) bldCURRENT_PRODUCT.so.confSOVER: ${BEFORE} ${bldCURRENT_PRODUCT`OBJS'} - ${LD} ${LDOPTS_SO} -o bldCURRENT_PRODUCT.so.confSOVER confSONAME bldCURRENT_PRODUCT.so.confSOVER ${bldCURRENT_PRODUCT`OBJS'} + ${CC} ${LDOPTS_SO} -o bldCURRENT_PRODUCT.so.confSOVER confSONAME,bldCURRENT_PRODUCT.so.confSOVER ${bldCURRENT_PRODUCT`OBJS'} ifdef(`bldLINK_SOURCES', `bldMAKE_SOURCE_LINKS(bldLINK_SOURCES)') install-`'bldCURRENT_PRODUCT: bldCURRENT_PRODUCT.so.confSOVER