]> git.ipfire.org Git - thirdparty/libbsd.git/commitdiff
build: Add new libbsd_symver_weak() macro
authorGuillem Jover <guillem@hadrons.org>
Sun, 28 Nov 2021 21:34:59 +0000 (22:34 +0100)
committerGuillem Jover <guillem@hadrons.org>
Sun, 28 Nov 2021 21:34:59 +0000 (22:34 +0100)
We will use it for the reworked md5 deprecation logic.

src/local-link.h

index ebc197f6a570b2056f4b71d398636892be43ae1c..6782d9abefed75422c886db9d1acd79c76ea789a 100644 (file)
 #define libbsd_symver_variant(alias, symbol, version) \
        extern __typeof__(symbol) symbol \
                __attribute__((__symver__(#alias "@" #version)))
+
+#define libbsd_symver_weak(alias, symbol, version) \
+       extern __typeof__(symbol) symbol \
+               __attribute__((__symver__(#alias "@" #version), __weak__))
 #  else
 #define libbsd_symver_default(alias, symbol, version) \
        __asm__(".symver " #symbol "," #alias "@@" #version)
 
 #define libbsd_symver_variant(alias, symbol, version) \
        __asm__(".symver " #symbol "," #alias "@" #version)
+
+#define libbsd_symver_weak(alias, symbol, version) \
+       libbsd_symver_variant(alias, symbol, version); \
+       extern __typeof__(symbol) alias \
+               __attribute__((__weak__))
 #  endif
 #else
 #define libbsd_symver_default(alias, symbol, version) \
        extern __typeof__(symbol) alias __attribute__((__alias__(#symbol)))
 
 #define libbsd_symver_variant(alias, symbol, version)
+
+#define libbsd_symver_weak(alias, symbol, version)
 #endif
 
 #endif