diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2022-03-14 14:46:25 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2022-03-16 06:45:06 -0700 |
commit | f4be26838dc9937a4ae3e9cf4fbec50efd7786a2 (patch) | |
tree | ce206b7152f6f242e4a9e56e378b41f4ed5dd694 /gprofng/libcollector/mmaptrace.c | |
parent | 61a1f2e71118206dd700fc1ddf244b2178bf6610 (diff) | |
download | gdb-f4be26838dc9937a4ae3e9cf4fbec50efd7786a2.zip gdb-f4be26838dc9937a4ae3e9cf4fbec50efd7786a2.tar.gz gdb-f4be26838dc9937a4ae3e9cf4fbec50efd7786a2.tar.bz2 |
gprofng: Use symver attribute if available
Use symver attribute if available, instead of asm statement, to support
LTO build.
PR gprof/28962
* libcollector/dispatcher.c (timer_create@@GLIBC_2.3.3): Use
SYMVER_ATTRIBUTE.
(timer_create@GLIBC_2.2): Likewise.
(timer_create@GLIBC_2.2.5): Likewise.
(pthread_create@@GLIBC_2.1): Likewise.
(pthread_create@GLIBC_2.0): Likewise.
* libcollector/iotrace.c (open64@@GLIBC_2.2): Likewise.
(open64@GLIBC_2.1): Likewise.
(fopen@@GLIBC_2.1): Likewise.
(fopen@GLIBC_2.0): Likewise.
(fclose@@GLIBC_2.1): Likewise.
(fclose@GLIBC_2.0): Likewise.
(fdopen@@GLIBC_2.1): Likewise.
(fdopen@GLIBC_2.0): Likewise.
(pread@@GLIBC_2.2): Likewise.
(pread@GLIBC_2.1): Likewise.
(pwrite@@GLIBC_2.2): Likewise.
(pwrite@GLIBC_2.1): Likewise.
(pwrite64@@GLIBC_2.2): Likewise.
(pwrite64@GLIBC_2.1): Likewise.
(fgetpos@@GLIBC_2.2): Likewise.
(fgetpos@GLIBC_2.0): Likewise.
(fgetpos64@@GLIBC_2.2): Likewise.
(fgetpos64@GLIBC_2.1): Likewise.
(fsetpos@@GLIBC_2.2): Likewise.
(fsetpos@GLIBC_2.0): Likewise.
(fsetpos64@@GLIBC_2.2): Likewise.
(fsetpos64@GLIBC_2.1): Likewise.
* libcollector/linetrace.c (posix_spawn@@GLIBC_2.15): Likewise.
(posix_spawn@GLIBC_2.2): Likewise.
(posix_spawn@GLIBC_2.2.5): Likewise.
(posix_spawnp@@GLIBC_2.15): Likewise.
(posix_spawnp@GLIBC_2.2): Likewise.
(posix_spawnp@GLIBC_2.2.5): Likewise.
(popen@@GLIBC_2.1): Likewise.
(popen@GLIBC_2.0): Likewise.
(_popen@@GLIBC_2.1): Likewise.
(_popen@GLIBC_2.0): Likewise.
* libcollector/mmaptrace.c (dlopen@@GLIBC_2.1): Likewise.
(dlopen@GLIBC_2.0): Likewise.
* libcollector/synctrace.c (pthread_cond_wait@@GLIBC_2.3.2):
Likewise.
(pthread_cond_wait@GLIBC_2.0): Likewise.
(pthread_cond_wait@GLIBC_2.2.5): Likewise.
(pthread_cond_wait@GLIBC_2.2): Likewise.
(pthread_cond_timedwait@@GLIBC_2.3.2): Likewise.
(pthread_cond_timedwait@GLIBC_2.0): Likewise.
(pthread_cond_timedwait@GLIBC_2.2.5): Likewise.
(pthread_cond_timedwait@GLIBC_2.2): Likewise.
(sem_wait@@GLIBC_2.1): Likewise.
(sem_wait@GLIBC_2.0): Likewise.
* src/collector_module.h (SYMVER_ATTRIBUTE): New.
Diffstat (limited to 'gprofng/libcollector/mmaptrace.c')
-rw-r--r-- | gprofng/libcollector/mmaptrace.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/gprofng/libcollector/mmaptrace.c b/gprofng/libcollector/mmaptrace.c index ac5c997..bf3294d 100644 --- a/gprofng/libcollector/mmaptrace.c +++ b/gprofng/libcollector/mmaptrace.c @@ -1556,6 +1556,7 @@ munmap (void *start, size_t length) static void * __collector_dlopen_symver (void*(real_dlopen) (), void *caller, const char *pathname, int mode); +SYMVER_ATTRIBUTE (__collector_dlopen_2_1, dlopen@@GLIBC_2.1) void * __collector_dlopen_2_1 (const char *pathname, int mode) { @@ -1565,6 +1566,7 @@ __collector_dlopen_2_1 (const char *pathname, int mode) return __collector_dlopen_symver (CALL_REAL (dlopen_2_1), caller, pathname, mode); } +SYMVER_ATTRIBUTE (__collector_dlopen_2_0, dlopen@GLIBC_2.0) void * __collector_dlopen_2_0 (const char *pathname, int mode) { @@ -1573,10 +1575,6 @@ __collector_dlopen_2_0 (const char *pathname, int mode) void* caller = __builtin_return_address (0); // must be called inside dlopen first layer interpostion return __collector_dlopen_symver (CALL_REAL (dlopen_2_0), caller, pathname, mode); } - -__asm__(".symver __collector_dlopen_2_1,dlopen@@GLIBC_2.1"); -__asm__(".symver __collector_dlopen_2_0,dlopen@GLIBC_2.0"); - #endif #if (ARCH(Intel) && WSIZE(32)) || ARCH(SPARC) |