]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rados: Update symver defs
authorBoris Ranto <branto@redhat.com>
Mon, 2 Aug 2021 19:32:15 +0000 (21:32 +0200)
committerKefu Chai <tchaikov@gmail.com>
Wed, 31 Aug 2022 12:36:53 +0000 (20:36 +0800)
The gcc compiler now supports symver attribute. We should update the
symvers to be able to support LTO.

Fixes: https://tracker.ceph.com/issues/40060
Signed-off-by: Boris Ranto <branto@redhat.com>
(cherry picked from commit e76193399d1966adc91c3ccef9c0d7bdbad7a221)

src/librados/librados_c.cc

index 9cff62553efbadbbf29092a2eaa939ee51976144..8ee2f940171468500cf3cf51d78337aaaf2394ef 100644 (file)
 
 #ifndef _WIN32
 #define LIBRADOS_C_API_BASE(fn)               \
-  asm(".symver _" #fn "_base, " #fn "@")
+  extern __typeof (_##fn##_base) _##fn##_base __attribute__((__symver__ (#fn "@")))
 #define LIBRADOS_C_API_BASE_DEFAULT(fn)       \
-  asm(".symver _" #fn ", " #fn "@@")
+  extern __typeof (_##fn) _##fn __attribute__((__symver__ (#fn "@@")))
 #define LIBRADOS_C_API_DEFAULT(fn, ver)       \
-  asm(".symver _" #fn ", " #fn "@@LIBRADOS_" #ver)
+  extern __typeof (_##fn) _##fn __attribute__((__symver__ (#fn "@@LIBRADOS_" #ver)))
 
 #define LIBRADOS_C_API_BASE_F(fn) _ ## fn ## _base
 #define LIBRADOS_C_API_DEFAULT_F(fn) _ ## fn