Update.
authorUlrich Drepper <drepper@redhat.com>
Tue, 14 Jan 2003 04:04:05 +0000 (04:04 +0000)
committerUlrich Drepper <drepper@redhat.com>
Tue, 14 Jan 2003 04:04:05 +0000 (04:04 +0000)
2003-01-13  Ulrich Drepper  <drepper@redhat.com>

* Makefile (libpthread-routines): Add version.  Add rules to build
version.os and banner.h.
* version.c: New file.

nptl/Banner
nptl/ChangeLog
nptl/Makefile
nptl/version.c [new file with mode: 0644]

index 558f6d8..aaca240 100644 (file)
@@ -1 +1 @@
-nptl 0.15 by Ulrich Drepper
+NPTL 0.16 by Ulrich Drepper
index 20e4c7a..a3692f7 100644 (file)
@@ -1,3 +1,9 @@
+2003-01-13  Ulrich Drepper  <drepper@redhat.com>
+
+       * Makefile (libpthread-routines): Add version.  Add rules to build
+       version.os and banner.h.
+       * version.c: New file.
+
 2003-01-13  Jakub Jelinek  <jakub@redhat.com>
 
        * pthread_mutex_lock.c (__pthread_mutex_lock_internal): Make
index 487e58a..e106172 100644 (file)
@@ -32,7 +32,7 @@ routines = alloca_cutoff forward libc-lowlevellock libc-lowlevelmutex \
           libc-cancellation
 shared-only-routines = forward
 
-libpthread-routines = init events \
+libpthread-routines = init events version \
                      pthread_create pthread_exit pthread_detach \
                      pthread_join pthread_tryjoin pthread_timedjoin \
                      pthread_self pthread_equal pthread_yield \
@@ -109,7 +109,7 @@ libpthread-routines = init events \
                      herrno res pt-allocrtsig \
                      pthread_kill_other_threads
 
-libpthread-shared-only-routines = pt-allocrtsig
+libpthread-shared-only-routines = version pt-allocrtsig
 
 libpthread-nonshared = pthread_atfork
 
@@ -263,6 +263,13 @@ $(objpfx)crti.o: $(objpfx)crti.S $(objpfx)defs.h
        $(compile.S) -g0 $(ASFLAGS-.os) -o $@
 
 generated += crti.S defs.h pt-initfini.s
+
+$(objpfx)version.os: $(objpfx)banner.h
+$(objpfx)banner.h: Banner
+       sed 's/\(.*\)/"\1\\n"/' $< > $@
+generated += banner.h
+# Give libpthread.so an entry point and make it directly runnable itself.
+LDFLAGS-pthread.so += -e __nptl_main
 endif
 
 ifeq (no,$(cross-compiling))
diff --git a/nptl/version.c b/nptl/version.c
new file mode 100644 (file)
index 0000000..0f12c6a
--- /dev/null
@@ -0,0 +1,40 @@
+/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#include <unistd.h>
+#include <sysdep.h>
+
+
+static const char banner[] =
+#include "banner.h"
+"Copyright (C) 2003 Free Software Foundation, Inc.\n\
+This is free software; see the source for copying conditions.\n\
+There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n\
+PARTICULAR PURPOSE.\n";
+
+
+extern void __nptl_main (void) __attribute__ ((noreturn));
+void
+__nptl_main (void)
+{
+  INTERNAL_SYSCALL_DECL (err);
+  INTERNAL_SYSCALL (write, err, 3, STDOUT_FILENO, banner, sizeof banner - 1);
+
+  _exit (0);
+}