diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | config.make.in | 1 | ||||
-rw-r--r-- | configure.in | 15 | ||||
-rw-r--r-- | nscd/Makefile | 3 |
4 files changed, 27 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index a3edf5d787..72659d6fbf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2005-07-19 Ulrich Drepper <drepper@redhat.com> + + * configure.in: Check for -fstack-protector gcc option. + * config.make.in (have-ssp): Add template. + * nscd/Makefile (nscd-cflags): Add -fstack-protector if supported. + + * nscd/nscd.c (main): Don't ignore result of chdir call. + 2005-07-18 Roland McGrath <roland@redhat.com> [BZ #869] diff --git a/config.make.in b/config.make.in index 1ab4bfbfc4..3687507a17 100644 --- a/config.make.in +++ b/config.make.in @@ -58,6 +58,7 @@ have-cpp-asm-debuginfo = @libc_cv_cpp_asm_debuginfo@ enable-check-abi = @enable_check_abi@ have-forced-unwind = @libc_cv_forced_unwind@ have-fpie = @libc_cv_fpie@ +have-ssp = @libc_cv_ssp@ have-selinux = @have_selinux@ have-libaudit = @have_libaudit@ have-cc-with-libunwind = @libc_cv_cc_with_libunwind@ diff --git a/configure.in b/configure.in index 4396891db5..21756e00a8 100644 --- a/configure.in +++ b/configure.in @@ -1508,6 +1508,21 @@ if test $libc_cv_fno_unit_at_a_time = yes; then fi AC_SUBST(fno_unit_at_a_time) +AC_CACHE_CHECK(for -fstack-protector, libc_cv_ssp, [dnl +cat > conftest.c <<EOF +int foo; +main () { return 0;} +EOF +if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -fstack-protector + -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD]) +then + libc_cv_ssp=yes +else + libc_cv_ssp=no +fi +rm -f conftest*]) +AC_SUBST(libc_cv_ssp) + if test $elf != yes; then AC_CACHE_CHECK(for .init and .fini sections, libc_cv_have_initfini, [AC_TRY_COMPILE(, [asm (".section .init"); diff --git a/nscd/Makefile b/nscd/Makefile index 4b6f2967a5..5a2d29a0a5 100644 --- a/nscd/Makefile +++ b/nscd/Makefile @@ -88,6 +88,9 @@ nscd-cflags = -DIS_IN_nscd=1 -D_FORTIFY_SOURCE=2 ifeq (yesyes,$(have-fpie)$(build-shared)) nscd-cflags += -fpie endif +ifeq (yes,$(have-ssp)) +nscd-cflags += -fstack-protector +endif CFLAGS-nscd.c += $(nscd-cflags) CFLAGS-connections.c += $(nscd-cflags) |