+++ /dev/null
-From 3aba09a5c56e017746c5c1652dbc845f4db7374a Mon Sep 17 00:00:00 2001
-From: Giulio Benetti <giulio.benetti@benettiengineering.com>
-Date: Tue, 3 Aug 2021 23:39:46 +0200
-Subject: [PATCH] meson.build: fix wrong .symver detection
-
-As pointed here [1] __has_attribute() is broken for many attributes and
-if it doesn't support the specific attribute it returns true, so we
-can't really rely on that for this check. This lead to Buildroot
-libfuse3 build failure [2] where that shows up with:
-```
-error: symver is only supported on ELF platforms
-```
-Indeed Microblaze doesn't support ELF since it doesn't include elfos.h,
-but __has_attribute(symver) returns true.
-
-So let's substitute the #ifdef __has_attribute() with a stronger test on
-a function foo() with __attribute__((symver ("test@TEST"))).
-
-[1]: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101766
-[2]: http://autobuild.buildroot.net/results/d6c/d6cfaf2aafaeda3c12d127f6a2d2e175b25e654f/build-end.log
-
-Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
----
- meson.build | 16 +++++++---------
- 1 file changed, 7 insertions(+), 9 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index b0250ee..a7281f3 100644
---- a/meson.build
-+++ b/meson.build
-@@ -96,20 +96,18 @@ endif
- # to have __has_attribute, then they are too old to support symver)
- # other compilers might not have __has_attribute, but in those cases
- # it is safe for this check to fail and for us to fallback to the old _asm_
--# method for symver
-+# method for symver. Anyway the attributes not supported by __has_attribute()
-+# unfortunately return true giving a false positive. So let's try to build
-+# using __attribute__ ((symver )) and see the result.
- code = '''
--#if defined __has_attribute
--# if !__has_attribute (symver)
--# error symver attribute not supported
--# endif
--#else
--#error __has_attribute not defined, assume we do not have symver
--#endif
-+__attribute__ ((symver ("test@TEST")))
-+void foo(void) {
-+}
-
- int main(void) {
- return 0;
- }'''
--if cc.compiles(code, args: [ '-O0', '-c'])
-+if cc.compiles(code, args: [ '-O0', '-c', '-Werror'])
- message('Compiler supports symver attribute')
- add_project_arguments('-DHAVE_SYMVER_ATTRIBUTE', language: 'c')
- else
---
-2.25.1
-