]> git.alsa-project.org Git - alsa-lib.git/commitdiff
include: alsa-symbols.h - use newer gcc symver function attribute
authorJaroslav Kysela <perex@perex.cz>
Wed, 9 Nov 2022 14:04:06 +0000 (15:04 +0100)
committerJaroslav Kysela <perex@perex.cz>
Wed, 9 Nov 2022 14:18:43 +0000 (15:18 +0100)
Use the symver function attribute for newer gccs (version 11+).
The symver function attribute was introduced probably earlier
(gcc-10). We can fix that on demand later.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
include/alsa-symbols.h

index 344f021a3dffd877dac80be471432fd3108dbfeb..f8c49103fea869d8c9e1800503318e0a39d634a8 100644 (file)
 #define INTERNAL_CONCAT2_2(Pre, Post) Pre##Post
 #define INTERNAL(Name) INTERNAL_CONCAT2_2(__, Name)
 
+#if __GNUC__ > 10
+#define symbol_version(real, name, version) \
+       extern __typeof (real) real __attribute__((symver (#name "@" #version)))
+#define default_symbol_version(real, name, version) \
+       extern __typeof (real) real __attribute__((symver (#name "@@" #version)))
+#else
 #define symbol_version(real, name, version) \
        __asm__ (".symver " ASM_NAME(#real) "," ASM_NAME(#name) "@" #version)
 #define default_symbol_version(real, name, version) \
        __asm__ (".symver " ASM_NAME(#real) "," ASM_NAME(#name) "@@" #version)
+#endif
 
 #ifdef __clang__
 #define EXPORT_SYMBOL __attribute__((visibility("default")))