summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKarel Zak2013-08-27 10:02:04 +0200
committerKarel Zak2013-08-27 11:49:01 +0200
commit03d00d495f3b505d9cae967c629fb38aca301e01 (patch)
tree3433ad37aa6b694d4933668b1cdb9c602571be6a
parenttests: minor changes to make tests more portable (diff)
downloadkernel-qcow2-util-linux-03d00d495f3b505d9cae967c629fb38aca301e01.tar.gz
kernel-qcow2-util-linux-03d00d495f3b505d9cae967c629fb38aca301e01.tar.xz
kernel-qcow2-util-linux-03d00d495f3b505d9cae967c629fb38aca301e01.zip
build-sys: add CFLAGS and LDFLAGS for daemons and shared libs
This is necessary for paranoid security guys who believe that things like "-Wl,-z,relro" or "-Wl,-z,bind_now" is a way how to make the world a safer place... Signed-off-by: Karel Zak <kzak@redhat.com>
-rw-r--r--Documentation/howto-compilation.txt10
-rw-r--r--configure.ac10
-rw-r--r--libblkid/src/Makemodule.am2
-rw-r--r--libmount/src/Makemodule.am2
-rw-r--r--libuuid/src/Makemodule.am7
-rw-r--r--misc-utils/Makemodule.am3
6 files changed, 27 insertions, 7 deletions
diff --git a/Documentation/howto-compilation.txt b/Documentation/howto-compilation.txt
index bebe0d257..4b392461d 100644
--- a/Documentation/howto-compilation.txt
+++ b/Documentation/howto-compilation.txt
@@ -27,12 +27,12 @@ Compiling
The SUID_* feature is currently supported for chfn, chsh,
newgrp, su, write, mount, and umount.
- Preferred compilation options for developers, when
- using gcc, are:
+ Use DAEMON_CFLAGS and DAEMON_LDFLAGS when you want to define
+ special compiler options for daemons; supported for uuidd.
- export CFLAGS="-Wmissing-parameter-type -Wsign-compare
- -Wtype-limits -Wuninitialized -Wunused-parameter
- -Wunused-but-set-parameter -fno-common"
+ Use SOLIB_CFLAGS and SOLIB_LDFLAGS when you want to define
+ special compiler options for shared libraries; supported for
+ libmount, libblkid and libuuid.
FIXME: add notes about klib and uClib.
diff --git a/configure.ac b/configure.ac
index 982606eb6..a0a72fd29 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1473,6 +1473,16 @@ AC_ARG_VAR([SUID_CFLAGS],
AC_ARG_VAR([SUID_LDFLAGS],
[LDFLAGS used for binaries which are usually with the suid bit])
+AC_ARG_VAR([DAEMON_CFLAGS],
+ [CFLAGS used for binaries which are usually executed as daemons])
+AC_ARG_VAR([DAEMON_LDFLAGS],
+ [LDFLAGS used for binaries which are usually executed as daemons])
+
+AC_ARG_VAR([SOLIB_CFLAGS],
+ [CFLAGS used for shared libraries])
+AC_ARG_VAR([SOLIB_LDFLAGS],
+ [LDFLAGS used for shared libraries])
+
LIBS=""
diff --git a/libblkid/src/Makemodule.am b/libblkid/src/Makemodule.am
index 04d862100..15639768a 100644
--- a/libblkid/src/Makemodule.am
+++ b/libblkid/src/Makemodule.am
@@ -113,6 +113,7 @@ libblkid_la_LIBADD = libcommon.la
libblkid_la_CFLAGS = \
+ $(SOLIB_CFLAGS) \
-I$(ul_libblkid_incdir) \
-I$(top_srcdir)/libblkid/src
@@ -128,6 +129,7 @@ libblkid_la_DEPENDENCIES = \
libblkid/src/blkid.h.in
libblkid_la_LDFLAGS = \
+ $(SOLIB_LDFLAGS) \
-Wl,--version-script=$(top_srcdir)/libblkid/src/blkid.sym \
-version-info $(LIBBLKID_VERSION_INFO)
diff --git a/libmount/src/Makemodule.am b/libmount/src/Makemodule.am
index 494e02a34..8ef07e551 100644
--- a/libmount/src/Makemodule.am
+++ b/libmount/src/Makemodule.am
@@ -33,6 +33,7 @@ nodist_libmount_la_SOURCES = libmount/src/mountP.h
libmount_la_LIBADD = libcommon.la libblkid.la $(SELINUX_LIBS)
libmount_la_CFLAGS = \
+ $(SOLIB_CFLAGS) \
-I$(ul_libblkid_incdir) \
-I$(ul_libmount_incdir) \
-I$(top_srcdir)/libmount/src
@@ -43,6 +44,7 @@ libmount_la_DEPENDENCIES = \
libmount/src/libmount.h.in
libmount_la_LDFLAGS = \
+ $(SOLIB_LDFLAGS) \
-Wl,--version-script=$(top_srcdir)/libmount/src/libmount.sym \
-version-info $(LIBMOUNT_VERSION_INFO)
diff --git a/libuuid/src/Makemodule.am b/libuuid/src/Makemodule.am
index 73f1ba957..a20cb4ccb 100644
--- a/libuuid/src/Makemodule.am
+++ b/libuuid/src/Makemodule.am
@@ -29,9 +29,14 @@ libuuid_la_SOURCES = \
libuuid_la_DEPENDENCIES = libuuid/src/uuid.sym
libuuid_la_LIBADD = $(SOCKET_LIBS)
-libuuid_la_CFLAGS = -I$(ul_libuuid_incdir) -Ilibuuid/src
+
+libuuid_la_CFLAGS = \
+ $(SOLIB_CFLAGS) \
+ -I$(ul_libuuid_incdir) \
+ -Ilibuuid/src
libuuid_la_LDFLAGS = \
+ $(SOLIB_LDFLAGS) \
-Wl,--version-script=$(top_srcdir)/libuuid/src/uuid.sym \
-version-info $(LIBUUID_VERSION_INFO)
diff --git a/misc-utils/Makemodule.am b/misc-utils/Makemodule.am
index dc0686b73..fcfec7bac 100644
--- a/misc-utils/Makemodule.am
+++ b/misc-utils/Makemodule.am
@@ -77,7 +77,8 @@ if BUILD_UUIDD
usrsbin_exec_PROGRAMS += uuidd
dist_man_MANS += misc-utils/uuidd.8
uuidd_LDADD = $(LDADD) libuuid.la libcommon.la
-uuidd_CFLAGS = $(AM_CFLAGS) -I$(ul_libuuid_incdir)
+uuidd_CFLAGS = $(DAEMON_CFLAGS) $(AM_CFLAGS) -I$(ul_libuuid_incdir)
+uuidd_LDFLAGS = $(DAEMON_LDFLAGS) $(AM_LDFLAGS)
uuidd_SOURCES = misc-utils/uuidd.c
if USE_SOCKET_ACTIVATION
uuidd_SOURCES += misc-utils/sd-daemon.c misc-utils/sd-daemon.h