diff -urN hwinfo-14.19.orig/src/hd/input.c hwinfo-14.19/src/hd/input.c --- hwinfo-14.19.orig/src/hd/input.c 2008-05-30 18:03:13 +0300 +++ hwinfo-14.19/src/hd/input.c 2008-09-25 19:39:45 +0300 @@ -313,7 +313,7 @@ sl = sl0 = hd_split(' ', str); for(; sl; sl = sl->next) { u = strtoul(sl->str, NULL, 16); - str_printf(&s, -1, "%0*lx", sizeof (unsigned long) * 2, u); + str_printf(&s, -1, "%0*lx", (int) sizeof(unsigned long) << 1, u); } free_str_list(sl0); free_mem(str); diff -urN hwinfo-14.19.orig/src/int10/i10_v86.c hwinfo-14.19/src/int10/i10_v86.c --- hwinfo-14.19.orig/src/int10/i10_v86.c 2005-04-01 13:19:13 +0300 +++ hwinfo-14.19/src/int10/i10_v86.c 2008-09-25 19:43:59 +0300 @@ -27,6 +27,24 @@ #include #ifdef __i386__ #include +#if defined(__linux__) +#include +#ifndef IF_MASK +#define IF_MASK X86_EFLAGS_IF +#endif +#ifndef NT_MASK +#define NT_MASK X86_EFLAGS_NT +#endif +#ifndef VIF_MASK +#define VIF_MASK X86_EFLAGS_VIF +#endif +#ifndef VIP_MASK +#define VIP_MASK X86_EFLAGS_VIP +#endif +#ifndef TF_MASK +#define TF_MASK X86_EFLAGS_TF +#endif +#endif #else #include "vm86_struct.h" #endif diff -urN hwinfo-14.19.orig/src/int10/i10_vbios.c hwinfo-14.19/src/int10/i10_vbios.c --- hwinfo-14.19.orig/src/int10/i10_vbios.c 2006-03-09 15:12:55 +0200 +++ hwinfo-14.19/src/int10/i10_vbios.c 2008-09-25 19:39:45 +0300 @@ -151,7 +151,7 @@ ip = ((uint16_t *) 0)[0x10 * 2]; cs = ((uint16_t *) 0)[0x10 * 2 + 1]; - p = (unsigned char *) ((cs << 4) + ip); + p = (unsigned char *) (unsigned long)((cs << 4) + ip); log_err( " vbe: int 10h points to %04x:%04x: %02x %02x %02x %02x %02x %02x %02x %02x\n",