--- LVM2.2.02.178/configure.ac +++ LVM2.2.02.178/configure.ac @@ -33,6 +33,7 @@ CLDFLAGS="$CLDFLAGS -Wl,--version-script,.export.sym" # equivalent to -rdynamic ELDFLAGS="-Wl,--export-dynamic" + STATIC_LDFLAGS="-Wl,--no-export-dynamic" # FIXME Generate list and use --dynamic-list=.dlopen.sym CLDWHOLEARCHIVE="-Wl,-whole-archive" CLDNOWHOLEARCHIVE="-Wl,-no-whole-archive" @@ -2042,6 +2043,7 @@ AC_SUBST(SYSTEMD_LIBS) AC_SUBST(SNAPSHOTS) AC_SUBST(STATICDIR) +AC_SUBST(STATIC_LDFLAGS) AC_SUBST(STATIC_LINK) AC_SUBST(TESTSUITE_DATA) AC_SUBST(THIN) --- LVM2.2.02.178/daemons/dmeventd/Makefile.in +++ LVM2.2.02.178/daemons/dmeventd/Makefile.in @@ -64,7 +64,7 @@ -o $@ $(DL_LIBS) $(DMEVENT_LIBS) $(LIBS) dmeventd.static: $(LIB_STATIC) dmeventd.o $(interfacebuilddir)/libdevmapper.a - $(CC) $(CFLAGS) $(LDFLAGS) -static -L. -L$(interfacebuilddir) dmeventd.o \ + $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static -L. -L$(interfacebuilddir) dmeventd.o \ -o $@ $(DL_LIBS) $(DMEVENT_LIBS) $(LIBS) $(STATIC_LIBS) ifeq ("@PKGCONFIG@", "yes") --- LVM2.2.02.178/make.tmpl.in +++ LVM2.2.02.178/make.tmpl.in @@ -64,6 +64,7 @@ # FIXME set this only where it's needed, not globally? CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@ LDFLAGS ?= @LDFLAGS@ +STATIC_LDFLAGS += @STATIC_LDFLAGS@ CLDFLAGS += @CLDFLAGS@ ELDFLAGS += @ELDFLAGS@ LDDEPS += @LDDEPS@ --- LVM2.2.02.178/tools/Makefile.in +++ LVM2.2.02.178/tools/Makefile.in @@ -129,7 +129,7 @@ dmsetup.static: dmsetup.o $(interfacebuilddir)/libdevmapper.a @echo " [CC] $@" - $(Q) $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) \ + $(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static -L$(interfacebuilddir) \ -o $@ dmsetup.o -ldevmapper $(M_LIBS) $(PTHREAD_LIBS) $(STATIC_LIBS) $(LIBS) all: device-mapper @@ -159,7 +159,7 @@ lvm.static: $(OBJECTS) lvm-static.o $(top_builddir)/lib/liblvm-internal.a $(interfacebuilddir)/libdevmapper.a @echo " [CC] $@" - $(Q) $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) -o $@ \ + $(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static -L$(interfacebuilddir) -o $@ \ $(OBJECTS) lvm-static.o $(LVMLIBS) $(STATIC_LIBS) $(LIBS) liblvm2cmd.a: $(top_builddir)/lib/liblvm-internal.a $(OBJECTS) lvmcmdlib.o lvm2cmd.o