summaryrefslogtreecommitdiff
path: root/sysutils/flashrom
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
parenteb5d835b563340bbe4eecbd2fdd846e03710bf65 (diff)
downloadpkgsrc-5b8d455b0af7d33b03993a60477ce5859ad4fe57.tar.gz
It is UB whether defined() is evaluated in macro expansions, so avoid
it.
Diffstat (limited to 'sysutils/flashrom')
-rw-r--r--sysutils/flashrom/distinfo3
-rw-r--r--sysutils/flashrom/patches/patch-hwaccess.c72
2 files changed, 74 insertions, 1 deletions
diff --git a/sysutils/flashrom/distinfo b/sysutils/flashrom/distinfo
index c178111bb0d..bc6fe24a0cf 100644
--- a/sysutils/flashrom/distinfo
+++ b/sysutils/flashrom/distinfo
@@ -1,7 +1,8 @@
-$NetBSD: distinfo,v 1.9 2015/11/04 01:32:14 agc Exp $
+$NetBSD: distinfo,v 1.10 2016/12/22 21:07:17 joerg Exp $
SHA1 (flashrom-0.9.7.tar.bz2) = d08b4073ea3ebf63f03c3e502f4291f50ef348ee
RMD160 (flashrom-0.9.7.tar.bz2) = e160e0ac1e0e138702f3f467707175df96b7e6b1
SHA512 (flashrom-0.9.7.tar.bz2) = a226c1ac3f9c7822b74ca14b7f9b53013110b2cdb66b1f936593c693ee54f19d643cc3a97a9635c05f2c959aca817668006f609ddb503a84d0bf5d510065674e
Size (flashrom-0.9.7.tar.bz2) = 408883 bytes
SHA1 (patch-flashrom.c) = 9867fa7ff7d0a55bff5fc0e6c8c6c901af6211f8
+SHA1 (patch-hwaccess.c) = a76c1def47b8b3a79c8d024c43c510f3989bd6d9
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;