mirror of
git://sourceware.org/git/lvm2.git
synced 2025-01-05 13:18:20 +03:00
a65ab773b4
The PIE and RELRO compiler/linker options can be used to produce a code some techniques applied that makes the code more immune to some attacks: - PIE (Position Independent Executable). It can make use of the ASLR (Address Space Layout Randomization) provided by kernel to avoid static locations for .text regions of executables (this is the 'pie' compiler and linker option) - RELRO (Relocation Read-Only). This prevents overwrite attacks of the GOT (Global Offset Table) and PLT (Procedure Lookup Table) used for relocations by making it read-only after all relocations are resolved (these are the 'relro' and 'now' linker options) - hence all symbols are resolved at the very start so there's no need for those tables to be writeable later. These compiler/linker options are now used by default for daemons if the compiler/linker supports it.
40 lines
1.1 KiB
Makefile
40 lines
1.1 KiB
Makefile
#
|
|
# Copyright (C) 2009-2010 Red Hat, Inc. All rights reserved.
|
|
#
|
|
# This file is part of LVM2.
|
|
#
|
|
# This copyrighted material is made available to anyone wishing to use,
|
|
# modify, copy, or redistribute it subject to the terms and conditions
|
|
# of the GNU General Public License v.2.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, write to the Free Software Foundation,
|
|
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
|
|
srcdir = @srcdir@
|
|
top_srcdir = @top_srcdir@
|
|
top_builddir = @top_builddir@
|
|
|
|
CPG_LIBS = @CPG_LIBS@
|
|
CPG_CFLAGS = @CPG_CFLAGS@
|
|
SACKPT_LIBS = @SACKPT_LIBS@
|
|
SACKPT_CFLAGS = @SACKPT_CFLAGS@
|
|
|
|
SOURCES = clogd.c cluster.c compat.c functions.c link_mon.c local.c logging.c
|
|
|
|
TARGETS = cmirrord
|
|
|
|
include $(top_builddir)/make.tmpl
|
|
|
|
LIBS += -ldevmapper
|
|
LMLIBS += $(CPG_LIBS) $(SACKPT_LIBS)
|
|
CFLAGS += $(CPG_CFLAGS) $(SACKPT_CFLAGS) $(DAEMON_CFLAGS)
|
|
LDFLAGS += $(DAEMON_LDFLAGS)
|
|
|
|
cmirrord: $(OBJECTS) $(top_builddir)/lib/liblvm-internal.a
|
|
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJECTS) \
|
|
$(LVMLIBS) $(LMLIBS) $(LIBS)
|
|
|
|
install: $(TARGETS)
|
|
$(INSTALL_PROGRAM) -D cmirrord $(usrsbindir)/cmirrord
|