summaryrefslogtreecommitdiff
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"