diff options
author | Jaroslav Kysela <perex@perex.cz> | 2022-11-09 15:04:06 +0100 |
---|---|---|
committer | Jaroslav Kysela <perex@perex.cz> | 2022-11-09 15:18:43 +0100 |
commit | 152983f01b0bc1178ea0d461ebf66e2d2a8e2e02 (patch) | |
tree | 9aafed889b2b30289cda3864314d85cb4e655144 | |
parent | 161f47da5f196c291ac0e11d066fa5ff5f79fa04 (diff) | |
download | alsa-lib-152983f01b0bc1178ea0d461ebf66e2d2a8e2e02.tar.gz |
include: alsa-symbols.h - use newer gcc symver function attribute
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>
-rw-r--r-- | include/alsa-symbols.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/alsa-symbols.h b/include/alsa-symbols.h index 344f021a..f8c49103 100644 --- a/include/alsa-symbols.h +++ b/include/alsa-symbols.h @@ -29,10 +29,17 @@ #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"))) |