From 18bf0829a7545b14de3fe241a65298c5f36e8bbc Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Thu, 6 Sep 2018 16:17:56 -0400 Subject: 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. --- src/internal/libc.h | 2 ++ src/internal/version.c | 7 +------ 2 files changed, 3 insertions(+), 6 deletions(-) (limited to 'src/internal') 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; -- cgit v1.2.1