about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--config.make.in1
-rw-r--r--configure.in15
-rw-r--r--nptl/ChangeLog5
-rw-r--r--nptl/Makefile4
-rw-r--r--nptl/tst-execstack-mod.c1
6 files changed, 29 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index efab24eb34..5997c4c1a3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,13 +1,15 @@
-2003-09-23  Ulrich Drepper  <drepper@redhat.com>
+2003-09-24  Ulrich Drepper  <drepper@redhat.com>
 
 	* nscd/Makefile: Add rules to build nscd as a PIE.
+	* configure.in: Check for -fpie and -pie compiler options.
+	* config.make.in (have-fpie): Define.
 
 2003-09-23  Ulrich Drepper  <drepper@redhat.com>
 
 	* sysdeps/unix/sysv/linux/sys/sysmacros.h: Adjust for larger
 	kernel dev_t size.
-	* sysdeps/unix/sysv/linux/sys/alpha/sysmacros.h: Removed.
-	* sysdeps/unix/sysv/linux/sys/sparc/sysmacros.h: Removed.
+	* sysdeps/unix/sysv/linux/alpha/sys/sysmacros.h: Removed.
+	* sysdeps/unix/sysv/linux/sparc/sys/sysmacros.h: Removed.
 	* sysdeps/unix/sysv/linux/makedev.c: New file.
 	* sysdeps/unix/sysv/linux/Dist: Add makedev.c.
 	* sysdeps/unix/sysv/linux/Makefile [subdir=misc]
diff --git a/config.make.in b/config.make.in
index 21d01f9bc6..a70249fec8 100644
--- a/config.make.in
+++ b/config.make.in
@@ -54,6 +54,7 @@ have-initfini-array = @libc_cv_initfinit_array@
 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@
 
 static-libgcc = @libc_cv_gcc_static_libgcc@
 
diff --git a/configure.in b/configure.in
index c3f4adb89d..50e18eb09a 100644
--- a/configure.in
+++ b/configure.in
@@ -1382,6 +1382,21 @@ EOF
   fi
   rm -f conftest*])
   AC_SUBST(libc_cv_z_execstack)
+
+  AC_CACHE_CHECK(for -fpie, libc_cv_fpie, [dnl
+  cat > conftest.c <<EOF
+int foo;
+EOF
+  if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -pie -fpie
+			      -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD])
+  then
+    libc_cv_fpie=yes
+  else
+    libc_cv_fpie=no
+  fi
+  rm -f conftest*])
+
+  AC_SUBST(libc_cv_fpie)
 fi
 
 if test $elf != yes; then
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 031c9e08cd..0ee343c3d1 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,8 @@
+2003-09-24  Ulrich Drepper  <drepper@redhat.com>
+
+	* Makefile: Build tst-execstack-mod locally.
+	* tst-execstack-mod.c: New file.
+
 2003-09-23  Jakub Jelinek  <jakub@redhat.com>
 
 	* Makefile (tests): Only add tst-execstack if have-z-execstack is yes.
diff --git a/nptl/Makefile b/nptl/Makefile
index cf438bbdb6..b0962dc662 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -261,7 +261,7 @@ endif
 modules-names = tst-atfork2mod tst-tls3mod tst-tls4moda tst-tls4modb \
 		tst-tls5mod tst-tls5moda tst-tls5modb tst-tls5modc \
 		tst-tls5modd tst-tls5mode tst-tls5modf \
-		tst-_res1mod1 tst-_res1mod2
+		tst-_res1mod1 tst-_res1mod2 tst-execstack-mod
 extra-objs += $(addsuffix .os,$(strip $(modules-names)))
 test-extras += $(modules-names)
 test-modules = $(addprefix $(objpfx),$(addsuffix .so,$(modules-names)))
@@ -545,5 +545,5 @@ endif
 tst-exec4-ARGS = $(built-program-cmd)
 
 $(objpfx)tst-execstack: $(libdl)
-$(objpfx)tst-execstack.out: $(elf-objpfx)tst-execstack-mod.so
+$(objpfx)tst-execstack.out: $(objpfx)tst-execstack-mod.so
 LDFLAGS-tst-execstack = -Wl,-z,noexecstack
diff --git a/nptl/tst-execstack-mod.c b/nptl/tst-execstack-mod.c
new file mode 100644
index 0000000000..5b9812c258
--- /dev/null
+++ b/nptl/tst-execstack-mod.c
@@ -0,0 +1 @@
+#include "../elf/tst-execstack-mod.c"