path: root/src
diff options
authorRich Felker <>2018-09-06 16:17:56 -0400
committerRich Felker <>2018-09-12 14:34:28 -0400
commit18bf0829a7545b14de3fe241a65298c5f36e8bbc (patch)
tree173183b30b68a4e84702b390de6383837107ed5f /src
parent3b028c28314a43e6fb65f3281149aecae8250f11 (diff)
improve machinery for ldso to report libc version
eliminate gratuitous glue function for reporting the version, which was probably leftover from the old dynamic linker design which lacked a clear barrier for when/how it could access global data. put the declaration for the data object that replaces it in libc.h where it can be type checked.
Diffstat (limited to 'src')
2 files changed, 3 insertions, 6 deletions
diff --git a/src/internal/libc.h b/src/internal/libc.h
index 7307a738..f536eaf6 100644
--- a/src/internal/libc.h
+++ b/src/internal/libc.h
@@ -43,6 +43,8 @@ extern hidden size_t __hwcap;
extern hidden size_t __sysinfo;
extern char *__progname, *__progname_full;
+extern hidden const char __libc_version[];
/* Designed to avoid any overhead in non-threaded processes */
hidden void __lock(volatile int *);
hidden void __unlock(volatile int *);
diff --git a/src/internal/version.c b/src/internal/version.c
index 0d6e1f82..08bbf5b2 100644
--- a/src/internal/version.c
+++ b/src/internal/version.c
@@ -1,9 +1,4 @@
#include "version.h"
#include "libc.h"
-static const char version[] = VERSION;
-hidden const char *__libc_get_version()
- return version;
+const char __libc_version[] = VERSION;