elfutils: fix gcc 8.0+ multistatement macros warning/error
[openwrt/openwrt.git] / package / libs / elfutils / patches / 100-musl-compat.patch
index f8e9a29235edb266eb8d0a0f783bd07117c14869..9631ce05d69d43f6e3d56906b0579ac78c8dcbd2 100644 (file)
@@ -2,7 +2,7 @@ https://sourceware.org/bugzilla/show_bug.cgi?id=21002
 
 --- a/lib/system.h
 +++ b/lib/system.h
-@@ -30,7 +30,16 @@
+@@ -30,7 +30,18 @@
  #define LIB_SYSTEM_H  1
  
  #include <errno.h>
@@ -12,15 +12,17 @@ https://sourceware.org/bugzilla/show_bug.cgi?id=21002
 +#else
 +#include "err.h"
 +#include <stdio.h>
-+#define error(status, errno, ...) \
-+      fflush(stdout); \
-+      warn(__VA_ARGS__); \
-+      if (status) exit(status)
++#define error(status, errno, ...)             \
++      do {                                    \
++              fflush(stdout);                 \
++              warn(__VA_ARGS__);              \
++              if (status) exit(status);       \
++       } while(0)
 +#endif
  #include <stddef.h>
  #include <stdint.h>
  #include <sys/param.h>
-@@ -38,6 +47,10 @@
+@@ -38,6 +49,10 @@
  #include <byteswap.h>
  #include <unistd.h>