Hello community, here is the log from the commit of package dpdk for openSUSE:Factory checked in at 2019-02-24 17:20:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/dpdk (Old) and /work/SRC/openSUSE:Factory/.dpdk.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dpdk" Sun Feb 24 17:20:48 2019 rev:34 rq:678415 version:18.11 Changes: -------- --- /work/SRC/openSUSE:Factory/dpdk/dpdk-thunderx.changes 2019-02-04 14:24:15.593086514 +0100 +++ /work/SRC/openSUSE:Factory/.dpdk.new.28833/dpdk-thunderx.changes 2019-02-24 17:20:54.608391665 +0100 @@ -1,0 +2,7 @@ +Fri Feb 22 10:57:13 CET 2019 - n...@suse.de + +- Add 0002-fix-cpu-compatibility.patch to address issue with older + CPUs (bsc#1125961) + [+ 0002-fix-cpu-compatibility.patch] + +------------------------------------------------------------------- dpdk.changes: same change New: ---- 0002-fix-cpu-compatibility.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ dpdk-thunderx.spec ++++++ --- /var/tmp/diff_new_pack.b3h3FJ/_old 2019-02-24 17:20:55.276391545 +0100 +++ /var/tmp/diff_new_pack.b3h3FJ/_new 2019-02-24 17:20:55.276391545 +0100 @@ -58,6 +58,7 @@ Url: http://dpdk.org Source: http://fast.dpdk.org/rel/dpdk-%{version}.tar.xz Source1: preamble +Patch1: 0002-fix-cpu-compatibility.patch BuildRequires: doxygen BuildRequires: fdupes BuildRequires: libelf-devel @@ -155,6 +156,7 @@ %prep # can't use %{name} because of dpdk-thunderx %setup -q -n dpdk-%{version} +%patch1 -p1 -z .init # This fixes CROSS compilation (broken) in the mk file for ThunderX sed -i '/^CROSS /s/^/#/' mk/machine/thunderx/rte.vars.mk ++++++ dpdk.spec ++++++ --- /var/tmp/diff_new_pack.b3h3FJ/_old 2019-02-24 17:20:55.292391542 +0100 +++ /var/tmp/diff_new_pack.b3h3FJ/_new 2019-02-24 17:20:55.296391542 +0100 @@ -56,6 +56,7 @@ Url: http://dpdk.org Source: http://fast.dpdk.org/rel/dpdk-%{version}.tar.xz Source1: preamble +Patch1: 0002-fix-cpu-compatibility.patch BuildRequires: doxygen BuildRequires: fdupes BuildRequires: libelf-devel @@ -153,6 +154,7 @@ %prep # can't use %{name} because of dpdk-thunderx %setup -q -n dpdk-%{version} +%patch1 -p1 -z .init # This fixes CROSS compilation (broken) in the mk file for ThunderX sed -i '/^CROSS /s/^/#/' mk/machine/thunderx/rte.vars.mk ++++++ 0002-fix-cpu-compatibility.patch ++++++ From: mvarl...@suse.de diff -Nuar dpdk-18.11.old/drivers/bus/vdev/vdev.c dpdk-18.11/drivers/bus/vdev/vdev.c --- dpdk-18.11.old/drivers/bus/vdev/vdev.c 2019-02-20 14:26:48.849061397 +0100 +++ dpdk-18.11/drivers/bus/vdev/vdev.c 2019-02-20 14:33:12.638554838 +0100 @@ -55,7 +55,11 @@ static rte_spinlock_t vdev_custom_scan_lock = RTE_SPINLOCK_INITIALIZER; /* register a driver */ +#if defined(__x86_64__) || defined(__i386__) +void __attribute__((target ("sse2"))) +#else void +#endif rte_vdev_register(struct rte_vdev_driver *driver) { TAILQ_INSERT_TAIL(&vdev_driver_list, driver, next); diff -Nuar dpdk-18.11.old/lib/librte_eal/common/eal_common_bus.c dpdk-18.11/lib/librte_eal/common/eal_common_bus.c --- dpdk-18.11.old/lib/librte_eal/common/eal_common_bus.c 2019-02-20 14:26:48.801061210 +0100 +++ dpdk-18.11/lib/librte_eal/common/eal_common_bus.c 2019-02-20 14:28:52.933544223 +0100 @@ -43,8 +43,11 @@ static struct rte_bus_list rte_bus_list = TAILQ_HEAD_INITIALIZER(rte_bus_list); - +#if defined(__x86_64__) || defined(__i386__) +void __attribute__((target ("sse2"))) +#else void +#endif rte_bus_register(struct rte_bus *bus) { RTE_VERIFY(bus); diff -Nuar dpdk-18.11.old/lib/librte_eal/common/include/rte_common.h dpdk-18.11/lib/librte_eal/common/include/rte_common.h --- dpdk-18.11.old/lib/librte_eal/common/include/rte_common.h 2019-02-20 14:26:48.809061243 +0100 +++ dpdk-18.11/lib/librte_eal/common/include/rte_common.h 2019-02-20 14:51:56.275496936 +0100 @@ -103,8 +103,21 @@ * Priority number must be above 100. * Lowest number is the first to run. */ +#if defined(__x86_64__) || defined(__i386__) #define RTE_INIT_PRIO(func, prio) \ -static void __attribute__((constructor(RTE_PRIO(prio)), used)) func(void) +static void \ + __attribute__((constructor(RTE_PRIO(prio)), used)) \ + __attribute__((target ("sse2"))) \ + __attribute__((target ("no-sse3"))) \ + __attribute__((target ("no-sse4"))) \ + func(void) +#else +#define RTE_INIT_PRIO(func, prio) \ +static void \ + __attribute__((constructor(RTE_PRIO(prio)), used)) \ + func(void) +#endif + /** * Run function before main() with low priority.