[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#901344: autofs: crashes when built with -Wl,-Bsymbolic-functions



Package: autofs
Version: 5.1.2-3
Severity: normal


Hi,

Ubuntu has had -Bsymbolic-functions enabled in its build flags for
quite some time. Some packages don't work with that flag set, and it's
then disabled on a case by case basis.. One such package is autofs.
There have been various bugs filed against Ubuntu whenever that flag
was inadvertently left in place:

https://bugs.launchpad.net/ubuntu/+source/autofs/+bug/1470687: Not
working properly with compile options "-symbolic-functions"
https://bugs.launchpad.net/ubuntu/+source/autofs/+bug/1472115: autofs
start fails: segfault at 0 ip ....
https://bugs.launchpad.net/ubuntu/+source/autofs/+bug/1503034: Autofs
5.1.1-1ubuntu2 crashes with segfault on startup

Ubuntu has been carrying the following delta with Debian:

a) d/rules:
https://git.launchpad.net/ubuntu/+source/autofs/commit/?id=ae31d5b93d825d83a27a2032b8c031e6524d095b
- strip it from LDFLAGS:
LDFLAGS="$(dpkg-buildflags --get LDFLAGS | sed -e
's/-Wl,-Bsymbolic-functions//')"
(which is incorrect, it should be $$(.....), but keep reading for my suggestion)

b) ldap lookup patch:
https://git.launchpad.net/ubuntu/+source/autofs/tree/debian/patches/fix-lookup-ldap-crash.patch

The reason the fix from (a), even when properly made, doesn't work and
the patch from (b) is still needed is that the build of the ldap
module eventually calls krb5-config --libs, and that has, incorrectly
or not, LDFLAGS in it. LDFLAGS that were used when building the
kerberos libraries. In Ubuntu, that includes -Bsymbolic-functions.

I submitted (b) upstream just now:
https://www.spinics.net/lists/autofs/msg01903.html

Would you please consider:
a) adopting the proper fix for (a), which right now I have as this (of
course the commenting can change):
--- a/debian/rules
+++ b/debian/rules
@@ -3,6 +3,11 @@
 # Uncomment this to turn on verbose mode.
 #export DH_VERBOSE=1
 DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
+# Taken from #1636781 as it's the same problem here. Also see
+# https://lists.ubuntu.com/archives/ubuntu-devel/2018-June/040369.html
+ifeq ($(shell dpkg-vendor --derives-from Ubuntu && echo yes),yes)
+  export DEB_LDFLAGS_MAINT_STRIP = -Wl,-Bsymbolic-functions
+endif

 %:
        dh $@ --with systemd

b) Adopting the patch from (b)

Thanks!


Reply to: