mirror of
git://sourceware.org/git/lvm2.git
synced 2025-03-10 16:58:47 +03:00
compile/link: use RELRO/PIE compiler/linker options for executables
This commit is contained in:
parent
b494881e68
commit
481edce41f
@ -8,7 +8,7 @@ Version 2.02.105 -
|
|||||||
Extend lv_remove_single() to not print info about removed LV.
|
Extend lv_remove_single() to not print info about removed LV.
|
||||||
Replace open_count check with lv_check_not_in_use() for snapshot open test.
|
Replace open_count check with lv_check_not_in_use() for snapshot open test.
|
||||||
Add error messages with LV names for failing lv refresh.
|
Add error messages with LV names for failing lv refresh.
|
||||||
Compile/link daemons with RELRO and PIE options to harden daemon security.
|
Compile/link executables with new RELRO and PIE options (non-static builds).
|
||||||
Support per-object compilation cflags via CFLAGS_object.o.
|
Support per-object compilation cflags via CFLAGS_object.o.
|
||||||
Automatically detect support for compiler/linker options to use RELRO and PIE.
|
Automatically detect support for compiler/linker options to use RELRO and PIE.
|
||||||
Add --splitsnapshot to lvconvert to separate out cow LV.
|
Add --splitsnapshot to lvconvert to separate out cow LV.
|
||||||
|
@ -88,8 +88,8 @@ LVMLIBS += -ldevmapper
|
|||||||
LIBS += $(PTHREAD_LIBS)
|
LIBS += $(PTHREAD_LIBS)
|
||||||
|
|
||||||
DEFS += -D_REENTRANT
|
DEFS += -D_REENTRANT
|
||||||
CFLAGS += -fno-strict-aliasing $(DAEMON_CFLAGS)
|
CFLAGS += -fno-strict-aliasing $(EXTRA_EXEC_CFLAGS)
|
||||||
LDFLAGS += $(DAEMON_LDFLAGS)
|
LDFLAGS += $(EXTRA_EXEC_LDFLAGS)
|
||||||
|
|
||||||
INSTALL_TARGETS = \
|
INSTALL_TARGETS = \
|
||||||
install_clvmd
|
install_clvmd
|
||||||
|
@ -28,8 +28,8 @@ include $(top_builddir)/make.tmpl
|
|||||||
|
|
||||||
LIBS += -ldevmapper
|
LIBS += -ldevmapper
|
||||||
LMLIBS += $(CPG_LIBS) $(SACKPT_LIBS)
|
LMLIBS += $(CPG_LIBS) $(SACKPT_LIBS)
|
||||||
CFLAGS += $(CPG_CFLAGS) $(SACKPT_CFLAGS) $(DAEMON_CFLAGS)
|
CFLAGS += $(CPG_CFLAGS) $(SACKPT_CFLAGS) $(EXTRA_EXEC_CFLAGS)
|
||||||
LDFLAGS += $(DAEMON_LDFLAGS)
|
LDFLAGS += $(EXTRA_EXEC_LDFLAGS)
|
||||||
|
|
||||||
cmirrord: $(OBJECTS) $(top_builddir)/lib/liblvm-internal.a
|
cmirrord: $(OBJECTS) $(top_builddir)/lib/liblvm-internal.a
|
||||||
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJECTS) \
|
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJECTS) \
|
||||||
|
@ -59,10 +59,10 @@ device-mapper: $(TARGETS)
|
|||||||
LIBS += -ldevmapper
|
LIBS += -ldevmapper
|
||||||
LVMLIBS += -ldevmapper-event $(PTHREAD_LIBS)
|
LVMLIBS += -ldevmapper-event $(PTHREAD_LIBS)
|
||||||
|
|
||||||
CFLAGS_dmeventd.o += $(DAEMON_CFLAGS)
|
CFLAGS_dmeventd.o += $(EXTRA_EXEC_CFLAGS)
|
||||||
|
|
||||||
dmeventd: $(LIB_SHARED) dmeventd.o
|
dmeventd: $(LIB_SHARED) dmeventd.o
|
||||||
$(CC) $(CFLAGS) $(LDFLAGS) $(DAEMON_LDFLAGS) $(ELDFLAGS) -L. -o $@ dmeventd.o \
|
$(CC) $(CFLAGS) $(LDFLAGS) $(EXTRA_EXEC_LDFLAGS) $(ELDFLAGS) -L. -o $@ dmeventd.o \
|
||||||
$(DL_LIBS) $(LVMLIBS) $(LIBS) -rdynamic
|
$(DL_LIBS) $(LVMLIBS) $(LIBS) -rdynamic
|
||||||
|
|
||||||
dmeventd.static: $(LIB_STATIC) dmeventd.o $(interfacebuilddir)/libdevmapper.a
|
dmeventd.static: $(LIB_STATIC) dmeventd.o $(interfacebuilddir)/libdevmapper.a
|
||||||
|
@ -33,9 +33,9 @@ LVMLIBS = -ldaemonserver $(LVMINTERNAL_LIBS) -ldevmapper
|
|||||||
|
|
||||||
LIBS += $(PTHREAD_LIBS)
|
LIBS += $(PTHREAD_LIBS)
|
||||||
|
|
||||||
LDFLAGS += -L$(top_builddir)/libdaemon/server $(DAEMON_LDFLAGS)
|
LDFLAGS += -L$(top_builddir)/libdaemon/server $(EXTRA_EXEC_LDFLAGS)
|
||||||
CLDFLAGS += -L$(top_builddir)/libdaemon/server
|
CLDFLAGS += -L$(top_builddir)/libdaemon/server
|
||||||
CFLAGS += $(DAEMON_CFLAGS)
|
CFLAGS += $(EXTRA_EXEC_CFLAGS)
|
||||||
|
|
||||||
lvmetad: $(OBJECTS) $(top_builddir)/libdaemon/client/libdaemonclient.a \
|
lvmetad: $(OBJECTS) $(top_builddir)/libdaemon/client/libdaemonclient.a \
|
||||||
$(top_builddir)/libdaemon/server/libdaemonserver.a
|
$(top_builddir)/libdaemon/server/libdaemonserver.a
|
||||||
|
@ -153,8 +153,8 @@ endif
|
|||||||
ifneq ("@STATIC_LINK@", "yes")
|
ifneq ("@STATIC_LINK@", "yes")
|
||||||
ifeq ("@HAVE_PIE@", "yes")
|
ifeq ("@HAVE_PIE@", "yes")
|
||||||
ifeq ("@HAVE_FULL_RELRO@", "yes")
|
ifeq ("@HAVE_FULL_RELRO@", "yes")
|
||||||
DAEMON_CFLAGS += -fPIE -DPIE
|
EXTRA_EXEC_CFLAGS += -fPIE -DPIE
|
||||||
DAEMON_LDFLAGS += -Wl,-z,relro,-z,now -pie
|
EXTRA_EXEC_LDFLAGS += -Wl,-z,relro,-z,now -pie
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
@ -82,8 +82,10 @@ ifeq ("@BLKDEACTIVATE@", "yes")
|
|||||||
$(INSTALL_SCRIPT) blk_availability_init_red_hat $(initdir)/blk-availability
|
$(INSTALL_SCRIPT) blk_availability_init_red_hat $(initdir)/blk-availability
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
CFLAGS_lvm2_activation_generator_systemd_red_hat.o += $(EXTRA_EXEC_CFLAGS)
|
||||||
|
|
||||||
lvm2_activation_generator_systemd_red_hat: $(OBJECTS) $(DEPLIBS)
|
lvm2_activation_generator_systemd_red_hat: $(OBJECTS) $(DEPLIBS)
|
||||||
$(CC) -o $@ $(OBJECTS) $(LDFLAGS) $(LVMLIBS)
|
$(CC) -o $@ $(OBJECTS) $(LDFLAGS) $(EXTRA_EXEC_LDFLAGS) $(LVMLIBS)
|
||||||
|
|
||||||
install_systemd_generators:
|
install_systemd_generators:
|
||||||
$(INSTALL_DIR) $(systemd_generator_dir)
|
$(INSTALL_DIR) $(systemd_generator_dir)
|
||||||
|
@ -122,7 +122,7 @@ LIBS += $(UDEV_LIBS) $(BLKID_LIBS)
|
|||||||
device-mapper: $(TARGETS_DM)
|
device-mapper: $(TARGETS_DM)
|
||||||
|
|
||||||
dmsetup: dmsetup.o $(top_builddir)/libdm/libdevmapper.$(LIB_SUFFIX)
|
dmsetup: dmsetup.o $(top_builddir)/libdm/libdevmapper.$(LIB_SUFFIX)
|
||||||
$(CC) $(CFLAGS) $(LDFLAGS) -L$(top_builddir)/libdm \
|
$(CC) $(CFLAGS) $(EXTRA_EXEC_CFLAGS) $(LDFLAGS) $(EXTRA_EXEC_LDFLAGS) -L$(top_builddir)/libdm \
|
||||||
-o $@ dmsetup.o -ldevmapper $(LIBS)
|
-o $@ dmsetup.o -ldevmapper $(LIBS)
|
||||||
|
|
||||||
dmsetup.static: dmsetup.o $(interfacebuilddir)/libdevmapper.a
|
dmsetup.static: dmsetup.o $(interfacebuilddir)/libdevmapper.a
|
||||||
@ -132,7 +132,7 @@ dmsetup.static: dmsetup.o $(interfacebuilddir)/libdevmapper.a
|
|||||||
all: device-mapper
|
all: device-mapper
|
||||||
|
|
||||||
lvm: $(OBJECTS) lvm.o $(top_builddir)/lib/liblvm-internal.a
|
lvm: $(OBJECTS) lvm.o $(top_builddir)/lib/liblvm-internal.a
|
||||||
$(CC) $(CFLAGS) $(LDFLAGS) $(ELDFLAGS) -o $@ $(OBJECTS) lvm.o \
|
$(CC) $(CFLAGS) $(EXTRA_EXEC_CFLAGS) $(LDFLAGS) $(EXTRA_EXEC_LDFLAGS) $(ELDFLAGS) -o $@ $(OBJECTS) lvm.o \
|
||||||
$(LVMLIBS) $(READLINE_LIBS) $(LIBS) -rdynamic
|
$(LVMLIBS) $(READLINE_LIBS) $(LIBS) -rdynamic
|
||||||
|
|
||||||
ifeq ("@BUILD_LVMETAD@", "yes")
|
ifeq ("@BUILD_LVMETAD@", "yes")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user