blob: eed9ceee5e3de63afb9f955230a1b6f2cf5b32a9 [file] [log] [blame]
From 7fd144f101fa5c9316d3468ed26f55629afe1305 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 17 Dec 2019 17:55:54 -0800
Subject: [PATCH 3/3] Fix non x86 platforms on musl
Musl only specifies in/outb for x86/x86. Use the fallback path in case
musl is used.
This should fail compilation during the linking stage but for some reason
does not. Will do if -Werror=implicit-function-declaration is specified.
Original here: https://github.com/openwrt/packages/blob/master/utils/lcdproc/patches/110-in-outb.patch
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
server/drivers/port.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/server/drivers/port.h
+++ b/server/drivers/port.h
@@ -94,7 +94,7 @@ static inline int port_deny_multiple(uns
/* ---------------------------- Linux ------------------------------------ */
/* Use ioperm, inb and outb in <sys/io.h> (Linux) */
/* And iopl for higher addresses of PCI LPT cards */
-#if defined HAVE_IOPERM
+#if HAVE_INB
/* Glibc2 and Glibc1 */
# ifdef HAVE_SYS_IO_H
@@ -333,7 +333,7 @@ static inline int port_deny_multiple (un
return i386_set_ioperm(port, count, 0);
}
-#else
+#elif defined(__x86__) && defined(__x86_64__)
/* ------------------------- Everything else ----------------------------- */
/* Last chance! Use /dev/io and i386 ASM code (BSD4.3 ?) */
--- a/configure.ac
+++ b/configure.ac
@@ -144,6 +144,7 @@ AC_CHECK_LIB(i386, i386_get_ioperm,
[])]
)
+AC_CHECK_FUNCS(inb)
AC_CHECK_FUNCS(iopl)
AC_CHECK_FUNCS(ioperm)
AC_CHECK_HEADERS(sys/io.h)