summaryrefslogtreecommitdiff
path: root/sysutils/flashrom/patches
diff options
context:
space:
mode:
authorjoerg <joerg@pkgsrc.org>2016-12-22 21:07:17 +0000
committerjoerg <joerg@pkgsrc.org>2016-12-22 21:07:17 +0000
commit5b8d455b0af7d33b03993a60477ce5859ad4fe57 (patch)
treea106e4e543df9d5bfdd7edf2bb2d2279b9f9fd20 /sysutils/flashrom/patches
parenteb5d835b563340bbe4eecbd2fdd846e03710bf65 (diff)
downloadpkgsrc-5b8d455b0af7d33b03993a60477ce5859ad4fe57.tar.gz
It is UB whether defined() is evaluated in macro expansions, so avoid
it.
Diffstat (limited to 'sysutils/flashrom/patches')
-rw-r--r--sysutils/flashrom/patches/patch-hwaccess.c72
1 files changed, 72 insertions, 0 deletions
diff --git a/sysutils/flashrom/patches/patch-hwaccess.c b/sysutils/flashrom/patches/patch-hwaccess.c
new file mode 100644
index 00000000000..fe0c320186c
--- /dev/null
+++ b/sysutils/flashrom/patches/patch-hwaccess.c
@@ -0,0 +1,72 @@
+$NetBSD: patch-hwaccess.c,v 1.1 2016/12/22 21:07:17 joerg Exp $
+
+It is UB whether define() is not handled inside macro expansions.
+
+--- hwaccess.c.orig 2016-12-22 15:40:41.401773946 +0000
++++ hwaccess.c
+@@ -18,16 +18,40 @@
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+-#define IS_X86 (defined(__i386__) || defined(__x86_64__) || defined(__amd64__))
+-#define IS_MIPS (defined (__mips) || defined (__mips__) || defined (__MIPS__) || defined (mips))
+-#define IS_PPC (defined(__powerpc__) || defined(__powerpc64__) || defined(__ppc__) || defined(__ppc64__))
+-#define IS_ARM (defined (__arm__) || defined (_ARM))
++#if defined(__i386__) || defined(__x86_64__) || defined(__amd64__)
++#define IS_X86 1
++#else
++#define IS_X86 0
++#endif
++#if defined (__mips) || defined (__mips__) || defined (__MIPS__) || defined (mips)
++#define IS_MIPS 1
++#else
++#define IS_MIPS 0
++#endif
++#if defined(__powerpc__) || defined(__powerpc64__) || defined(__ppc__) || defined(__ppc64__)
++#define IS_PPC 1
++#else
++#define IS_PPC 0
++#endif
++#if defined (__arm__) || defined (_ARM)
++#define IS_ARM 1
++#else
++#define IS_ARM 0
++#endif
+ #if !(IS_X86 || IS_MIPS || IS_PPC || IS_ARM)
+ #error Unknown architecture
+ #endif
+
+-#define IS_LINUX (defined(__gnu_linux__) || defined(__linux__))
+-#define IS_MACOSX (defined(__APPLE__) && defined(__MACH__))
++#if defined(__gnu_linux__) || defined(__linux__)
++#define IS_LINUX 1
++#else
++#define IS_LINUX 0
++#endif
++#if defined(__APPLE__) && defined(__MACH__)
++#define IS_MACOSX 1
++#else
++#define IS_MACOSX 0
++#endif
+ #if !(IS_LINUX || IS_MACOSX || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__) || defined(__DJGPP__) || defined(__LIBPAYLOAD__) || defined(__sun))
+ #error "Unknown operating system"
+ #endif
+@@ -45,8 +69,16 @@
+ #include "flash.h"
+ #include "hwaccess.h"
+
+-#define USE_IOPL (IS_LINUX || IS_MACOSX || defined(__NetBSD__) || defined(__OpenBSD__))
+-#define USE_DEV_IO (defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__))
++#if IS_LINUX || IS_MACOSX || defined(__NetBSD__) || defined(__OpenBSD__)
++#define USE_IOPL 1
++#else
++#define USE_IOPL 0
++#endif
++#if (defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__))
++#define USE_DEV_IO 1
++#else
++#define USE_DEV_IO 0
++#endif
+
+ #if IS_X86 && USE_DEV_IO
+ int io_fd;