about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--sysdeps/mach/hurd/dl-sysdep.h8
2 files changed, 11 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 55acb4a9f0..bf3d821ca0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,10 @@
 2005-10-16  Roland McGrath  <roland@frob.com>
 
 	[BZ #1253]
+	* sysdeps/mach/hurd/dl-sysdep.h
+	[SHARED] (DL_ARGV_NOT_RELRO): New macro.
+
+	[BZ #1253]
 	* sysdeps/mach/hurd/i386/init-first.c (init): Make cast kosher.
 	(_hurd_stack_setup): Don't declare with arguments and ellipsis.
 	Use __builtin_frame_address and __builtin_return_address.
diff --git a/sysdeps/mach/hurd/dl-sysdep.h b/sysdeps/mach/hurd/dl-sysdep.h
index 2dc9b0a910..4b21b779ef 100644
--- a/sysdeps/mach/hurd/dl-sysdep.h
+++ b/sysdeps/mach/hurd/dl-sysdep.h
@@ -1,5 +1,5 @@
 /* System-specific settings for dynamic linker code.  Hurd version.
-   Copyright (C) 2002 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -23,3 +23,9 @@
    (open, mmap, etc).  */
 
 #define RTLD_PRIVATE_ERRNO 0
+
+#ifdef SHARED
+/* _dl_argv cannot be attribute_relro, because the stack-switching
+   libc initializer for using cthreads might write into it.  */
+# define DL_ARGV_NOT_RELRO 1
+#endif