]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
rados: Update symver defs
authorBoris Ranto <branto@redhat.com>
Mon, 2 Aug 2021 19:32:15 +0000 (21:32 +0200)
committerBoris Ranto <branto@redhat.com>
Thu, 5 Aug 2021 08:35:19 +0000 (10:35 +0200)
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>
src/librados/librados_c.cc

index cc6a31f8dc1c7c44959f66a5ea531f2899cb974f..7bb912628240f2fdfc3762617df5b5eff17704c3 100644 (file)
 
 #ifdef HAVE_ASM_SYMVER
 #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