* OpenAnolis8.10-64 strlen strange result
[not found] <170338$5m3buc@orviesa010-auth.jf.intel.com>
@ 2025-11-25 10:29 ` Morten Brørup
0 siblings, 0 replies; only message in thread
From: Morten Brørup @ 2025-11-25 10:29 UTC (permalink / raw)
To: sys_stv, test-report, dev
> From: sys_stv@intel.com [mailto:sys_stv@intel.com]
> Sent: Friday, 21 November 2025 12.14
> To: test-report@dpdk.org; Morten Brørup
> Subject: compilation|FAILURE| pw(158971) sid(36768)
> job(PER_PATCH_BUILD17357)[v3] eal/x86: optimize memcpy of small sizes
>
> Test-Label: Intel-compilation
> Test-Status: FAILURE
> http://dpdk.org/patch/158971
>
> _Compilation issues_
>
> Submitter: Morten Brørup <mb@smartsharesystems.com>
> Date: 2025-11-21 10:40:51
> Reply_mail: <20251121104052.1273637-1-mb@smartsharesystems.com>
>
> DPDK git baseline: Repo:dpdk, CommitID:
> ef98b88455bf4a7c8b7aa3106a761c9e9270d6a3
>
>
> Meson Build Summary: 23 Builds Done, 22 Successful, 1 Failures, 0
> Blocked
>
> +-------------------+------------+--------------+------------+---------
> ---+-----------+----------+------------+
> | os | gcc-static | clang-static | icc-static | gcc-
> shared | gcc-debug | document | gcc-16byte |
> +-------------------+------------+--------------+------------+---------
> ---+-----------+----------+------------+
> | OpenAnolis8.10-64 | fail | | |
> | | | |
> | FreeBSD14-64 | pass | pass | | pass
> | pass | | |
> | RHEL96-64 | pass | pass | | pass
> | pass | | |
> | SUSE15-64 | pass | pass | |
> | | | |
> | AzureLinux3.0-64 | pass | | |
> | | | |
> | UB2404-32 | pass | | |
> | | | |
> | RHEL10-64 | pass | | |
> | | | |
> | UB2404-64 | pass | pass | |
> | | pass | pass |
> | RHEL10-64RT | pass | | |
> | | | |
> | UB2504-64 | pass | | |
> | | | |
> | Fedora42-64 | pass | pass | |
> | | | |
> | OpenEuler2404-64 | pass | | |
> | | | |
> +-------------------+------------+--------------+------------+---------
> ---+-----------+----------+------------+
>
> Comments:
> Because of DPDK bug (https://bugs.dpdk.org/show_bug.cgi?id=928),
> All the dpdk-next-* branch add `Ddisable_drivers=event/cnxk` option
> when build with ICC complier.
>
> Test environment and configuration as below:
>
>
> OS: OpenAnolis8.10-64
> Kernel Version: 5.10.134-18.an8.x86_64
> GCC Version: gcc (GCC) 8.5.0 20210514 (Anolis 8.5.0-24.0.1)
> Clang Version: 18.1.8 (Red Hat 18.1.8-
> 1.0.1.module+an8.9.0+11287+9d0292d3)
> x86_64-native-linuxapp-gcc
>
> OS: FreeBSD14-64
> Kernel Version: 14.3-RELEASE
> GCC Version: gcc (FreeBSD Ports Collection) 13.3.0
> Clang Version: 19.1.7 (https://github.com/llvm/llvm-project.git
> llvmorg-19.1.7-0-gcd708029e0b2)
> x86_64-native-bsdapp-gcc
> x86_64-native-bsdapp-clang
> x86_64-native-bsdapp-gcc+shared
> x86_64-native-bsdapp-gcc+debug
>
> OS: RHEL96-64
> Kernel Version: 5.14.0-570.12.1.el9_6.x86_64
> GCC Version: gcc (GCC) 11.5.0 20240719 (Red Hat 11.5.0-5)
> Clang Version: 19.1.7 (Red Hat, Inc. 19.1.7-2.el9)
> x86_64-native-linuxapp-gcc
> x86_64-native-linuxapp-clang
> x86_64-native-linuxapp-gcc+shared
> x86_64-native-linuxapp-gcc+debug
>
> OS: SUSE15-64
> Kernel Version: 6.4.0-150700.51-default
> GCC Version: gcc (SUSE Linux) 14.2.0
> Clang Version: 17.0.6
> x86_64-native-linuxapp-clang
> x86_64-native-linuxapp-gcc
>
> OS: AzureLinux3.0-64
> Kernel Version: 6.6.47.1-1.azl3
> GCC Version: gcc (GCC) 13.2.0
> Clang Version: 18.1.2
> x86_64-native-linuxapp-gcc
>
> OS: UB2404-32
> Kernel Version: 6.8.0-41-generic
> GCC Version: gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
> Clang Version: NA
> i686-native-linuxapp-gcc
>
> OS: RHEL10-64
> Kernel Version: 6.12.0-55.9.1.el10_0.x86_64
> GCC Version: gcc (GCC) 14.2.1 20250110 (Red Hat 14.2.1-7)
> Clang Version: 19.1.7 (Red Hat, Inc. 19.1.7-2.el10)
> x86_64-native-linuxapp-gcc
>
> OS: UB2404-64
> Kernel Version: 6.8.0-41-generic
> GCC Version: gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
> Clang Version: 18.1.3 (1ubuntu1)
> x86_64-native-linuxapp-gcc+16byte
> x86_64-native-linuxapp-gcc
> x86_64-native-linuxapp-clang
> x86_64-native-linuxapp-doc
>
> OS: RHEL10-64RT
> Kernel Version: 6.12.0-55.9.1.el10_0.x86_64+rt
> GCC Version: gcc (GCC) 14.2.1 20250110 (Red Hat 14.2.1-7)
> Clang Version: 19.1.7 (Red Hat, Inc. 19.1.7-2.el10)
> x86_64-native-linuxapp-gcc
>
> OS: UB2504-64
> Kernel Version: 6.14.0-15-generic
> GCC Version: gcc (Ubuntu 14.2.0-19ubuntu2) 14.2.0
> Clang Version: NA
> x86_64-native-linuxapp-gcc
>
> OS: Fedora42-64
> Kernel Version: 6.14.0-63.fc42.x86_64
> GCC Version: gcc (GCC) 15.0.1 20250329 (Red Hat 15.0.1-0)
> Clang Version: 20.1.3 (Fedora 20.1.3-1.fc42)
> x86_64-native-linuxapp-gcc
> x86_64-native-linuxapp-clang
>
> OS: OpenEuler2404-64
> Kernel Version: 6.6.0-98.0.0.103.oe2403sp2.x86_64
> GCC Version: gcc (GCC) 12.3.1 (openEuler 12.3.1-98.oe2403sp2)
> Clang Version: 17.0.6 ( 17.0.6-45.oe2403sp2)
> x86_64-native-linuxapp-gcc
>
>
>
> *Build Failed #1:
> OS: OpenAnolis8.10-64
> Target: x86_64-native-linuxapp-gcc
> FAILED: drivers/libtmp_rte_raw_ifpga.a.p/raw_ifpga_base_ifpga_fme.c.o
> gcc -Idrivers/libtmp_rte_raw_ifpga.a.p -Idrivers -I../drivers -
> Idrivers/raw/ifpga -I../drivers/raw/ifpga -Idrivers/raw/ifpga/base -
> I../drivers/raw/ifpga/base -Ilib/rawdev -I../lib/rawdev -
> Ilib/eal/common -I../lib/eal/common -I. -I.. -Iconfig -I../config -
> Ilib/eal/include -I../lib/eal/include -Ilib/eal/linux/include -
> I../lib/eal/linux/include -Ilib/eal/x86/include -
> I../lib/eal/x86/include -I../kernel/linux -Ilib/eal -I../lib/eal -
> Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metrics -
> I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/argparse -
> I../lib/argparse -Ilib/ethdev -I../lib/ethdev -Ilib/net -I../lib/net -
> Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -
> I../lib/ring -Ilib/meter -I../lib/meter -Ilib/pci -I../lib/pci -
> Idrivers/bus/pci -I../drivers/bus/pci -I../drivers/bus/pci/linux -
> Idrivers/bus/vdev -I../drivers/bus/vdev -Idrivers/bus/ifpga -
> I../drivers/bus/ifpga -Idrivers/net/intel/i40e -
> I../drivers/net/intel/i40e -Idrivers/net/intel/i40e/base -
> I../drivers/net/intel/i40e/base -Ilib/hash -I../lib/hash -Ilib/rcu -
> I../lib/rcu -Idrivers/net/intel/ipn3ke -I../drivers/net/intel/ipn3ke -
> Ilib/sched -I../lib/sched -fdiagnostics-color=always -
> D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -O3
> -include rte_config.h -Wvla -Wcast-qual -Wdeprecated -Wformat -Wformat-
> nonliteral -Wformat-security -Wmissing-declarations -Wmissing-
> prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -
> Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-packed-
> not-aligned -Wno-missing-field-initializers -D_GNU_SOURCE -fPIC -
> march=native -mrtm -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-
> format-truncation -DRTE_LOG_DEFAULT_LOGTYPE=pmd.raw.ifpga -MD -MQ
> drivers/libtmp_rte_raw_ifpga.a.p/raw_ifpga_base_ifpga_fme.c.o -MF
> drivers/libtmp_rte_raw_ifpga.a.p/raw_ifpga_base_ifpga_fme.c.o.d -o
> drivers/libtmp_rte_raw_ifpga.a.p/raw_ifpga_base_ifpga_fme.c.o -c
> ../drivers/raw/ifpga/base/ifpga_fme.c
> In file included from
> ../drivers/raw/ifpga/base/osdep_rte/osdep_generic.h:17,
> from ../drivers/raw/ifpga/base/opae_osdep.h:13,
> from ../drivers/raw/ifpga/base/ifpga_compat.h:8,
> from ../drivers/raw/ifpga/base/ifpga_defines.h:8,
> from ../drivers/raw/ifpga/base/ifpga_hw.h:8,
> from ../drivers/raw/ifpga/base/ifpga_feature_dev.h:8,
> from ../drivers/raw/ifpga/base/ifpga_fme.c:5:
> In function ‘rte_mov17_to_32’,
> inlined from ‘rte_memcpy’ at
> ../lib/eal/x86/include/rte_memcpy.h:770:10,
> inlined from ‘i2c_mac_rom_test’ at
> ../drivers/raw/ifpga/base/ifpga_fme.c:1297:2:
> ../lib/eal/x86/include/rte_memcpy.h:219:11: error: ‘memcpy’ forming
> offset [12, 20] is out of the bounds [0, 11] [-Werror=array-bounds]
> return memcpy(dst, src, 20);
> ^~~~~~~~~~~~~~~~~~~~
This is the code failing in /drivers/raw/ifpga/base/ifpga_fme.c [1]:
static int i2c_mac_rom_test(struct altera_i2c_dev *dev)
{
char buf[20];
int ret;
char read_buf[20] = {0,};
const char *string = "1a2b3c4d5e";
opae_memcpy(buf, string, strlen(string));
Why does the OpenAnolis8.10-64 build evaluate strlen(string), i.e. strlen("1a2b3c4d5e"), as 20 instead of 10?
Note: opae_memcpy is defined as rte_memcpy.
[1]: https://git.dpdk.org/dpdk/tree/drivers/raw/ifpga/base/ifpga_fme.c#n1290
^ permalink raw reply [flat|nested] only message in thread