diff options
author | Dmitry V. Levin <ldv@altlinux.org> | 2012-08-23 14:29:43 +0000 |
---|---|---|
committer | Dmitry V. Levin <ldv@altlinux.org> | 2012-10-02 19:22:57 +0000 |
commit | fc997c6e55cc2636681db298eac4cb7c8568708f (patch) | |
tree | 72007f9f2ca467a15236b0ee4ba1ca9160e1c7cd | |
parent | bb9510dc345f0b24de212604b2308dc6e6cc939a (diff) | |
download | glibc-fc997c6e55cc2636681db298eac4cb7c8568708f.zip glibc-fc997c6e55cc2636681db298eac4cb7c8568708f.tar.gz glibc-fc997c6e55cc2636681db298eac4cb7c8568708f.tar.bz2 |
nscd: fix compilation flags
Commit 61653dfb81b776bb72ce4304175b861d77c357a8 added support for
compilers predefining _FORTIFY_SOURCE by adding -U_FORTIFY_SOURCE to
CPPFLAGS for these compilers, but that change doesn't work quite well in
case of nscd: its Makefile sets _FORTIFY_SOURCE using CFLAGS instead of
CPPFLAGS and, thanks to compilation rules defined in Makerules, CPPFLAGS
are passed to compiler after CFLAGS, resulting to a build with
_FORTIFY_SOURCE turned off.
This change implements a more safe method of passing preprocessor and
compiler flags so that no nscd modules could be accidentally forgotten.
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | nscd/Makefile | 41 |
2 files changed, 11 insertions, 34 deletions
@@ -1,5 +1,9 @@ 2012-10-02 Dmitry V. Levin <ldv@altlinux.org> + * nscd/Makefile: Remove nscd-cflags and all its users. + (CPPFLAGS-nonlib): Add preprocessor flags for nscd modules. + (CFLAGS-nonlib): Add compiler flags for nscd modules. + [BZ #10631] * malloc.c (malloc_printerr): Clarify error message. diff --git a/nscd/Makefile b/nscd/Makefile index c26ddb1..de754d2 100644 --- a/nscd/Makefile +++ b/nscd/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1998,2000,2002-2009,2011,2012 Free Software Foundation, Inc. +# Copyright (C) 1998-2012 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -79,48 +79,21 @@ CFLAGS-nscd_gethst_r.c = -fexceptions CFLAGS-nscd_getai.c = -fexceptions CFLAGS-nscd_initgroups.c = -fexceptions -nscd-cflags = -DIS_IN_nscd=1 -D_FORTIFY_SOURCE=2 +CPPFLAGS-nonlib += -DIS_IN_nscd=1 -D_FORTIFY_SOURCE=2 + ifeq (yesyes,$(have-fpie)$(build-shared)) -nscd-cflags += $(pie-ccflag) +CFLAGS-nonlib += $(pie-ccflag) endif ifeq (yes,$(have-ssp)) -nscd-cflags += -fstack-protector +CFLAGS-nonlib += -fstack-protector endif -CFLAGS-nscd.c += $(nscd-cflags) -CFLAGS-connections.c += $(nscd-cflags) -CFLAGS-pwdcache.c += $(nscd-cflags) -CFLAGS-getpwnam_r.c += $(nscd-cflags) -CFLAGS-getpwuid_r.c += $(nscd-cflags) -CFLAGS-grpcache.c += $(nscd-cflags) -CFLAGS-getgrnam_r.c += $(nscd-cflags) -CFLAGS-getgrgid_r.c += $(nscd-cflags) -CFLAGS-hstcache.c += $(nscd-cflags) -CFLAGS-gethstbyad_r.c += $(nscd-cflags) -CFLAGS-gethstbynm3_r.c += $(nscd-cflags) -CFLAGS-dbg_log.c += $(nscd-cflags) -CFLAGS-nscd_conf.c += $(nscd-cflags) -CFLAGS-nscd_stat.c += $(nscd-cflags) -CFLAGS-cache.c += $(nscd-cflags) -CFLAGS-xmalloc.c += $(nscd-cflags) -CFLAGS-xstrdup.c += $(nscd-cflags) -CFLAGS-mem.c += $(nscd-cflags) -CFLAGS-nscd_setup_thread.c += $(nscd-cflags) -CFLAGS-aicache.c += $(nscd-cflags) -CFLAGS-selinux.c += $(nscd-cflags) -CFLAGS-initgrcache.c += $(nscd-cflags) -CFLAGS-gai.c += $(nscd-cflags) -CFLAGS-servicescache.c += $(nscd-cflags) -CFLAGS-getsrvbynm_r.c += $(nscd-cflags) -CFLAGS-getsrvbypt_r.c += $(nscd-cflags) -CFLAGS-res_hconf.c += $(nscd-cflags) -CFLAGS-netgroupcache.c += $(nscd-cflags) - ifeq (yesyes,$(have-fpie)$(build-shared)) LDFLAGS-nscd = -Wl,-z,now endif -# This makes sure -DNOT_IN_libc is passed for all these modules. +# This makes sure CPPFLAGS-nonlib and CFLAGS-nonlib are passed +# for all these modules. cpp-srcs-left := $(nscd-modules:=.c) lib := nonlib include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left)) |