diff options
-rw-r--r-- | nptl/Banner | 2 | ||||
-rw-r--r-- | nptl/ChangeLog | 6 | ||||
-rw-r--r-- | nptl/Makefile | 11 | ||||
-rw-r--r-- | nptl/version.c | 40 |
4 files changed, 56 insertions, 3 deletions
diff --git a/nptl/Banner b/nptl/Banner index 558f6d83aa..aaca2401a2 100644 --- a/nptl/Banner +++ b/nptl/Banner @@ -1 +1 @@ -nptl 0.15 by Ulrich Drepper +NPTL 0.16 by Ulrich Drepper diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 20e4c7ac35..a3692f77a4 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -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 diff --git a/nptl/Makefile b/nptl/Makefile index 487e58ac33..e106172e54 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -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 index 0000000000..0f12c6aa18 --- /dev/null +++ b/nptl/version.c @@ -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); +} |