Update.
authorUlrich Drepper <drepper@redhat.com>
Mon, 8 Jan 2001 08:50:37 +0000 (08:50 +0000)
committerUlrich Drepper <drepper@redhat.com>
Mon, 8 Jan 2001 08:50:37 +0000 (08:50 +0000)
2001-01-08  Ulrich Drepper  <drepper@redhat.com>

* libio/bits/stdio.h (printf): Define macro to map printf call to
fprintf which gcc can optimize.

ChangeLog
libio/bits/stdio.h
libio/stdio.h
linuxthreads/pthread.c

index bb7aaab..dba37e3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2001-01-08  Ulrich Drepper  <drepper@redhat.com>
+
+       * libio/bits/stdio.h (printf): Define macro to map printf call to
+       fprintf which gcc can optimize.
+
 2001-01-07  Ulrich Drepper  <drepper@redhat.com>
 
        * sysdeps/generic/bits/byteswap.h (__bswap_64): Partly revert last
index 2522a38..0b4f614 100644 (file)
@@ -1,5 +1,5 @@
 /* Optimizing macros and inline functions for stdio functions.
-   Copyright (C) 1998, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1998, 2000, 2001 Free Software Foundation, Inc.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Library General Public License as
 
 
 #ifdef __USE_EXTERN_INLINES
+/* Since version 2.97 GCC knows about `fprintf' and can optimize certain
+   cases.  Help gcc to optimize more code by mapping `printf' to the known
+   `fprintf' function.  Unfortunately we have to use a macro.  */
+# if __GNUC_PREREQ (2,97)
+#  define printf(fmt, args...) fprintf (stdout, fmt, ##args)
+# endif
+
 /* Write formatted output to stdout from argument list ARG.  */
 __STDIO_INLINE int
 vprintf (__const char *__restrict __fmt, _G_va_list __arg) __THROW
index 4fcc3b3..c8565e8 100644 (file)
@@ -1,5 +1,5 @@
 /* Define ISO C stdio on top of C++ iostreams.
-   Copyright (C) 1991, 1994-1999, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1991, 1994-1999, 2000, 2001 Free Software Foundation, Inc.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Library General Public License as
@@ -637,7 +637,7 @@ extern void funlockfile (FILE *__stream) __THROW;
 #endif /* X/Open, but not issue 6 and not for GNU.  */
 
 /* If we are compiling with optimizing read this file.  It contains
-   several optizing inline functions and macros.  */
+   several optimizing inline functions and macros.  */
 #ifdef __USE_EXTERN_INLINES
 # include <bits/stdio.h>
 #endif
index 75cac05..836d8a8 100644 (file)
@@ -740,7 +740,10 @@ static void pthread_exit_process(int retcode, void *arg)
     /* Main thread should accumulate times for thread manager and its
        children, so that timings for main thread account for all threads. */
     if (self == __pthread_main_thread)
-      waitpid(__pthread_manager_thread.p_pid, NULL, __WCLONE);
+      {
+       waitpid(__pthread_manager_thread.p_pid, NULL, __WCLONE);
+       free (__pthread_manager_thread_bos);
+      }
   }
 }