From cde52628bf652aee07ae34acfda1baaa8d5868b5583bbd1b137060bd5f6a2a17 Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Thu, 3 Jan 2013 07:43:27 +0000 Subject: [PATCH] Accepting request 146742 from home:elvigia:branches:Base:System - pciutils-endianh.patch Use the documented/optimized byteswapping routines from endian.h OBS-URL: https://build.opensuse.org/request/show/146742 OBS-URL: https://build.opensuse.org/package/show/Base:System/pciutils?expand=0&rev=36 --- pciutils-endianh.patch | 80 ++++++++++++++++++++++++++++++++++++++++++ pciutils.changes | 6 ++++ pciutils.spec | 5 +-- 3 files changed, 89 insertions(+), 2 deletions(-) create mode 100644 pciutils-endianh.patch diff --git a/pciutils-endianh.patch b/pciutils-endianh.patch new file mode 100644 index 0000000..b9b7136 --- /dev/null +++ b/pciutils-endianh.patch @@ -0,0 +1,80 @@ +Dear kernel developers. we plead to you, please use documented,optimized userspace interfaces, thanks ! + +--- lib/sysdep.h.orig ++++ lib/sysdep.h +@@ -18,71 +18,10 @@ + typedef u8 byte; + typedef u16 word; + +-#ifdef PCI_OS_WINDOWS +-#define strcasecmp strcmpi +-#endif +- +-#ifdef PCI_HAVE_LINUX_BYTEORDER_H +- +-#include +-#define cpu_to_le16 __cpu_to_le16 +-#define cpu_to_le32 __cpu_to_le32 +-#define le16_to_cpu __le16_to_cpu +-#define le32_to_cpu __le32_to_cpu +- +-#else +- +-#ifdef PCI_OS_LINUX + #include +-#define BYTE_ORDER __BYTE_ORDER +-#define BIG_ENDIAN __BIG_ENDIAN +-#endif +- +-#ifdef PCI_OS_SUNOS +-#include +-#define BIG_ENDIAN 4321 +-#ifdef _LITTLE_ENDIAN +-#define BYTE_ORDER 1234 +-#else +-#define BYTE_ORDER 4321 +-#endif +-#endif +- +-#ifdef PCI_OS_WINDOWS +-#ifdef __MINGW32__ +- #include +-#else +- #include +- #define BIG_ENDIAN 4321 +- #define LITTLE_ENDIAN 1234 +- #define BYTE_ORDER LITTLE_ENDIAN +- #define snprintf _snprintf +-#endif +-#endif +- +-#if BYTE_ORDER == BIG_ENDIAN +-#define cpu_to_le16 swab16 +-#define cpu_to_le32 swab32 +-#define le16_to_cpu swab16 +-#define le32_to_cpu swab32 +- +-static inline word swab16(word w) +-{ +- return (w << 8) | ((w >> 8) & 0xff); +-} + +-static inline u32 swab32(u32 w) +-{ +- return ((w & 0xff000000) >> 24) | +- ((w & 0x00ff0000) >> 8) | +- ((w & 0x0000ff00) << 8) | +- ((w & 0x000000ff) << 24); +-} +-#else +-#define cpu_to_le16(x) (x) +-#define cpu_to_le32(x) (x) +-#define le16_to_cpu(x) (x) +-#define le32_to_cpu(x) (x) +-#endif ++#define cpu_to_le16 htole16 ++#define cpu_to_le32 htole32 ++#define le16_to_cpu le16toh ++#define le32_to_cpu le32toh + +-#endif diff --git a/pciutils.changes b/pciutils.changes index af2f205..f95a8d4 100644 --- a/pciutils.changes +++ b/pciutils.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Dec 31 14:44:58 UTC 2012 - crrodriguez@opensuse.org + +- pciutils-endianh.patch Use the documented/optimized byteswapping + routines from endian.h + ------------------------------------------------------------------- Sun Mar 18 15:33:42 UTC 2012 - jengelh@medozas.de diff --git a/pciutils.spec b/pciutils.spec index 224873a..a257cda 100644 --- a/pciutils.spec +++ b/pciutils.spec @@ -38,6 +38,7 @@ Source2: baselibs.conf Patch: update-pciutils-dist Patch1: %{name}-%{version}_pkgconfig.patch Patch2: pciutils-ocloexec.patch +Patch3: pciutils-endianh.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -88,9 +89,9 @@ Authors: %patch -p1 %patch1 -p1 %patch2 -p1 - +%patch3 %build -make %{?_smp_mflags} OPT="$RPM_OPT_FLAGS -Wall" PREFIX=%{_prefix} LIBDIR=/%{_lib} SBINDIR=/sbin STRIP="" SHARED="yes" +make %{?_smp_mflags} OPT="$RPM_OPT_FLAGS -D_GNU_SOURCE $(getconf LFS_CFLAGS) -Wall" PREFIX=%{_prefix} LIBDIR=/%{_lib} SBINDIR=/sbin STRIP="" SHARED="yes" %install make install PREFIX=$RPM_BUILD_ROOT%{_prefix} SBINDIR=$RPM_BUILD_ROOT/sbin \