sys-apps/memtest86+: fix build w/out 32-bit glibc #592638
authorMike Frysinger <vapier@gentoo.org>
Sat, 26 Nov 2016 00:09:15 +0000 (19:09 -0500)
committerMike Frysinger <vapier@gentoo.org>
Sat, 26 Nov 2016 00:09:28 +0000 (19:09 -0500)
sys-apps/memtest86+/files/memtest86+-5.01-no-C-headers.patch [new file with mode: 0644]
sys-apps/memtest86+/memtest86+-5.01-r2.ebuild

diff --git a/sys-apps/memtest86+/files/memtest86+-5.01-no-C-headers.patch b/sys-apps/memtest86+/files/memtest86+-5.01-no-C-headers.patch
new file mode 100644 (file)
index 0000000..bbb2228
--- /dev/null
@@ -0,0 +1,47 @@
+avoid using C library headers as it'd mean we'd need 32-bit glibc files available
+
+https://bugs.gentoo.org/592638
+
+--- a/dmi.c
++++ b/dmi.c
+@@ -10,7 +10,7 @@
+ 
+ 
+ #include "test.h"
+-#include <stdint.h>
++#include "stdint.h"
+ 
+ 
+ #define round_up(x,y) (((x) + (y) - 1) & ~((y)-1))
+--- a/test.c
++++ b/test.c
+@@ -14,7 +14,28 @@
+ #include "stdint.h"
+ #include "cpuid.h"
+ #include "smp.h"
+-#include <sys/io.h>
++
++static inline unsigned char
++inb_p (unsigned short int __port)
++{
++  unsigned char _v;
++
++  __asm__ __volatile__ ("inb %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (__port));
++  return _v;
++}
++
++static inline void
++outb (unsigned char __value, unsigned short int __port)
++{
++  __asm__ __volatile__ ("outb %b0,%w1": :"a" (__value), "Nd" (__port));
++}
++
++static inline void
++outb_p (unsigned char __value, unsigned short int __port)
++{
++  __asm__ __volatile__ ("outb %b0,%w1\noutb %%al,$0x80": :"a" (__value),
++                      "Nd" (__port));
++}
+ 
+ extern struct cpu_ident cpu_id;
+ extern volatile int    mstr_cpu;
index 7d3372c82c5be9882733eef4d361c8e80d0fccc4..831cf329d2868b0b447e62079c53b7804bdd56ff 100644 (file)
@@ -30,6 +30,7 @@ src_prepare() {
        epatch "${FILESDIR}"/${P}-io-extern-inline.patch #548312
        epatch "${FILESDIR}"/${P}-reboot-def.patch #548312
        epatch "${FILESDIR}"/${P}-no-clean.patch #557890
+       epatch "${FILESDIR}"/${P}-no-C-headers.patch #592638
 
        if use serial ; then
                sed -i \