diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | config.make.in | 1 | ||||
-rw-r--r-- | configure.in | 15 | ||||
-rw-r--r-- | nptl/ChangeLog | 5 | ||||
-rw-r--r-- | nptl/Makefile | 4 | ||||
-rw-r--r-- | nptl/tst-execstack-mod.c | 1 |
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" |