]>
Commit | Line | Data |
---|---|---|
8e597a18 | 1 | /* Copyright (C) 1992-2002, 2003, 2004 Free Software Foundation, Inc. |
df4ef2ab | 2 | This file is part of the GNU C Library. |
28f540f4 | 3 | |
df4ef2ab | 4 | The GNU C Library is free software; you can redistribute it and/or |
41bdb6e2 AJ |
5 | modify it under the terms of the GNU Lesser General Public |
6 | License as published by the Free Software Foundation; either | |
7 | version 2.1 of the License, or (at your option) any later version. | |
28f540f4 | 8 | |
df4ef2ab UD |
9 | The GNU C Library is distributed in the hope that it will be useful, |
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
41bdb6e2 | 12 | Lesser General Public License for more details. |
28f540f4 | 13 | |
41bdb6e2 AJ |
14 | You should have received a copy of the GNU Lesser General Public |
15 | License along with the GNU C Library; if not, write to the Free | |
16 | Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA | |
17 | 02111-1307 USA. */ | |
28f540f4 | 18 | |
ce563359 | 19 | #include "version.h" |
013aafb7 | 20 | #include <tls.h> |
dc30f461 UD |
21 | #include <gnu/libc-version.h> |
22 | ||
23 | static const char __libc_release[] = RELEASE; | |
24 | static const char __libc_version[] = VERSION; | |
28f540f4 | 25 | |
f332db02 RM |
26 | static const char banner[] = |
27 | "GNU C Library "RELEASE" release version "VERSION", by Roland McGrath et al.\n\ | |
8e597a18 | 28 | Copyright (C) 2004 Free Software Foundation, Inc.\n\ |
28f540f4 RM |
29 | This is free software; see the source for copying conditions.\n\ |
30 | There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n\ | |
41df5ed4 RH |
31 | PARTICULAR PURPOSE.\n\ |
32 | Compiled by GNU CC version "__VERSION__".\n" | |
499e7464 | 33 | #include "version-info.h" |
deb7f0b4 UD |
34 | #ifdef GLIBC_OLDEST_ABI |
35 | "The oldest ABI supported: " GLIBC_OLDEST_ABI ".\n" | |
36 | #endif | |
013aafb7 UD |
37 | #ifdef USE_TLS |
38 | "Thread-local storage support included.\n" | |
39 | #endif | |
d40eb37a UD |
40 | "For bug reporting instructions, please see:\n\ |
41 | <http://www.gnu.org/software/libc/bugs.html>.\n"; | |
f332db02 RM |
42 | |
43 | #include <unistd.h> | |
44 | ||
17427edd | 45 | extern void __libc_print_version (void); |
f332db02 RM |
46 | void |
47 | __libc_print_version (void) | |
48 | { | |
49 | __write (STDOUT_FILENO, banner, sizeof banner - 1); | |
28f540f4 | 50 | } |
463e148b | 51 | |
844b79a6 | 52 | extern const char *__gnu_get_libc_release (void); |
dc30f461 UD |
53 | const char * |
54 | __gnu_get_libc_release (void) | |
55 | { | |
56 | return __libc_release; | |
57 | } | |
58 | weak_alias (__gnu_get_libc_release, gnu_get_libc_release) | |
59 | ||
844b79a6 | 60 | extern const char *__gnu_get_libc_version (void); |
dc30f461 UD |
61 | const char * |
62 | __gnu_get_libc_version (void) | |
63 | { | |
64 | return __libc_version; | |
65 | } | |
66 | weak_alias (__gnu_get_libc_version, gnu_get_libc_version) | |
67 | ||
463e148b RM |
68 | #ifdef HAVE_ELF |
69 | /* This function is the entry point for the shared object. | |
70 | Running the library as a program will get here. */ | |
71 | ||
17427edd | 72 | extern void __libc_main (void) __attribute__ ((noreturn)); |
463e148b RM |
73 | void |
74 | __libc_main (void) | |
75 | { | |
76 | __libc_print_version (); | |
f332db02 | 77 | _exit (0); |
463e148b RM |
78 | } |
79 | #endif |