aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2005-07-19 15:35:50 +0000
committerUlrich Drepper <drepper@redhat.com>2005-07-19 15:35:50 +0000
commit401a9ec9cad6fe21a6471f926152dbaff64d2212 (patch)
treeda140fef4d5b44878ceea97383512f64c25818a3
parentbe686f1876c5ebbf95801b270522066bfebb0905 (diff)
downloadglibc-401a9ec9cad6fe21a6471f926152dbaff64d2212.tar
glibc-401a9ec9cad6fe21a6471f926152dbaff64d2212.tar.gz
glibc-401a9ec9cad6fe21a6471f926152dbaff64d2212.tar.bz2
glibc-401a9ec9cad6fe21a6471f926152dbaff64d2212.zip
* 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.
-rw-r--r--ChangeLog8
-rw-r--r--config.make.in1
-rw-r--r--configure.in15
-rw-r--r--nscd/Makefile3
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)