Update.
authorUlrich Drepper <drepper@redhat.com>
Thu, 8 Aug 2002 09:04:02 +0000 (09:04 +0000)
committerUlrich Drepper <drepper@redhat.com>
Thu, 8 Aug 2002 09:04:02 +0000 (09:04 +0000)
2002-08-08  Ulrich Drepper  <drepper@redhat.com>

* gmon/gmon.c (write_gmon): Use O_NOFOLLOW in open calls if available.

ChangeLog
gmon/gmon.c
linuxthreads/ChangeLog
linuxthreads/sysdeps/i386/tls.h

index da4098e..a7a4558 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2002-08-08  Ulrich Drepper  <drepper@redhat.com>
+
+       * gmon/gmon.c (write_gmon): Use O_NOFOLLOW in open calls if available.
+
 2002-08-08  Alexandre Oliva  <aoliva@redhat.com>
 
        * configure.in: Make the test for broken_alias_attribute stricter.
index f0188a9..c2fcb8f 100644 (file)
@@ -320,18 +320,22 @@ write_gmon (void)
     int fd = -1;
     char *env;
 
+#ifndef O_NOFOLLOW
+# define O_NOFOLLOW    0
+#endif
+
     env = getenv ("GMON_OUT_PREFIX");
     if (env != NULL && !__libc_enable_secure)
       {
        size_t len = strlen (env);
        char buf[len + 20];
        sprintf (buf, "%s.%u", env, __getpid ());
-       fd = __open (buf, O_CREAT|O_TRUNC|O_WRONLY, 0666);
+       fd = __open (buf, O_CREAT|O_TRUNC|O_WRONLY|O_NOFOLLOW, 0666);
       }
 
     if (fd == -1)
       {
-       fd = __open ("gmon.out", O_CREAT|O_TRUNC|O_WRONLY, 0666);
+       fd = __open ("gmon.out", O_CREAT|O_TRUNC|O_WRONLY|O_NOFOLLOW, 0666);
        if (fd < 0)
          {
            char buf[300];
index 37dd1ad..a6a2e9b 100644 (file)
@@ -1,3 +1,7 @@
+2002-08-08  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/i386/tls.h (TLS_DO_SET_THREAD_AREA): Removed.
+
 2002-08-07  Ulrich Drepper  <drepper@redhat.com>
 
        * pthread.c (__linuxthreads_initial_report_events): New variable.
index a00de6c..03d36de 100644 (file)
@@ -107,14 +107,6 @@ typedef struct
   __builtin_expect (result, 0) != 0 ? -1 : nr * 8 + 7;                       \
 })
 
-#  define TLS_DO_SET_THREAD_AREA(descr)                                              \
- INLINE_SYSCALL (set_thread_area, 2, descr, 1);                                      \
-  if (__builtin_expect (__seg, 0) == -1)                                     \
-    /* Nothing else we can do.  */                                           \
-    asm ("hlt");                                                             \
-  __seg;                                                                     \
-})
-
 #  ifdef __ASSUME_SET_THREAD_AREA_SYSCALL
 #   define TLS_SETUP_GS_SEGMENT(descr) \
   INLINE_SYSCALL (set_thread_area, 2, descr, 1)