]>
Commit | Line | Data |
---|---|---|
81fb02b0 | 1 | /* Copyright (C) 1992-2011, 2012 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> |
92ad15a8 | 21 | #include <libc-abis.h> |
dc30f461 UD |
22 | #include <gnu/libc-version.h> |
23 | ||
24 | static const char __libc_release[] = RELEASE; | |
25 | static const char __libc_version[] = VERSION; | |
28f540f4 | 26 | |
f332db02 RM |
27 | static const char banner[] = |
28 | "GNU C Library "RELEASE" release version "VERSION", by Roland McGrath et al.\n\ | |
81fb02b0 | 29 | Copyright (C) 2012 Free Software Foundation, Inc.\n\ |
28f540f4 RM |
30 | This is free software; see the source for copying conditions.\n\ |
31 | There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n\ | |
41df5ed4 RH |
32 | PARTICULAR PURPOSE.\n\ |
33 | Compiled by GNU CC version "__VERSION__".\n" | |
499e7464 | 34 | #include "version-info.h" |
92ad15a8 UD |
35 | #ifdef LIBC_ABIS_STRING |
36 | LIBC_ABIS_STRING | |
37 | #endif | |
deb7f0b4 UD |
38 | #ifdef GLIBC_OLDEST_ABI |
39 | "The oldest ABI supported: " GLIBC_OLDEST_ABI ".\n" | |
40 | #endif | |
d40eb37a UD |
41 | "For bug reporting instructions, please see:\n\ |
42 | <http://www.gnu.org/software/libc/bugs.html>.\n"; | |
f332db02 RM |
43 | |
44 | #include <unistd.h> | |
45 | ||
17427edd | 46 | extern void __libc_print_version (void); |
f332db02 RM |
47 | void |
48 | __libc_print_version (void) | |
49 | { | |
50 | __write (STDOUT_FILENO, banner, sizeof banner - 1); | |
28f540f4 | 51 | } |
463e148b | 52 | |
844b79a6 | 53 | extern const char *__gnu_get_libc_release (void); |
dc30f461 UD |
54 | const char * |
55 | __gnu_get_libc_release (void) | |
56 | { | |
57 | return __libc_release; | |
58 | } | |
59 | weak_alias (__gnu_get_libc_release, gnu_get_libc_release) | |
60 | ||
844b79a6 | 61 | extern const char *__gnu_get_libc_version (void); |
dc30f461 UD |
62 | const char * |
63 | __gnu_get_libc_version (void) | |
64 | { | |
65 | return __libc_version; | |
66 | } | |
67 | weak_alias (__gnu_get_libc_version, gnu_get_libc_version) | |
68 | ||
463e148b RM |
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 | 78 | } |