From a9aea01c2ebb42a5a021a1621e17145b9d1c29da Mon Sep 17 00:00:00 2001 From: Kienan Stewart Date: Tue, 29 Aug 2023 10:27:15 -0400 Subject: [PATCH] jjb: Disable netronome and micrel phy drivers These drivers cause build issues on many legacy kernels with modern toolchains Change-Id: Ib6f41bb694d6357a84b555b2b1408447d738ea56 --- scripts/lttng-modules/param-build.sh | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/scripts/lttng-modules/param-build.sh b/scripts/lttng-modules/param-build.sh index b3d5abc..e79dc65 100644 --- a/scripts/lttng-modules/param-build.sh +++ b/scripts/lttng-modules/param-build.sh @@ -346,11 +346,6 @@ build_linux_kernel() { patch_linux_kernel 854e55ad289ef8888e7991f0ada85d5846f5afb9 fi - # More recent compiler optimizations expose build errors with netronome. - # It seems easier to disable the driver than to attempt patching. - scripts/config --disable CONFIG_NET_VENDOR_NETRONOME - scripts/config --disable CONFIG_MICREL_PHY - # Duplicate decalarations of __force_order # @see https://gitlab.com/linux-kernel/stable/-/commit/df6d4f9db79c1a5d6f48b59db35ccd1e9ff9adfc # However, kaslr_64.c doesn't exit in 4.15, 4.16, it's named pagetable.c @@ -538,6 +533,27 @@ EOF scripts/config --disable CONFIG_MFD_WM8994 scripts/config --disable CONFIG_DRM_RADEON scripts/config --disable CONFIG_SND_SOC_WM5100 + # More recent compiler optimizations (from gcc 8 onwards )expose build errors + # with netronome on older kernels. + # Observed in 4.11-rt, 4.15-4.17, 5.0-rt - 5.16-rt + # It seems easier to disable the driver than to attempt patching. + # Eg. + # In function ‘ur_load_imm_any’, + # inlined from ‘jeq_imm’ at drivers/net/ethernet/netronome/nfp/bpf/jit.c:3146:13: + # ./include/linux/compiler.h:350:45: error: call to ‘__compiletime_assert_1062’ declared with attribute error: FIELD_FIT: value too large for the field + # 350 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) + # + scripts/config --disable CONFIG_NET_VENDOR_NETRONOME + # Eg. + # In function ‘memcpy’, + # inlined from ‘kszphy_get_strings’ at drivers/net/phy/micrel.c:664:3: + # ./include/linux/string.h:305:25: error: call to ‘__read_overflow2’ declared with attribute error: detected read beyond size of object passed as 2nd parameter + # 305 | __read_overflow2(); + # | ^~~~~~~~~~~~~~~~~~ + # make[3]: *** [scripts/Makefile.build:308: drivers/net/phy/micrel.o] Error 1 + # + scripts/config --disable CONFIG_MICREL_PHY + # IGBVF won't build with recent gcc on 2.6.38.x if { vergte "$kversion" "2.6.37" && verlt "$kversion" "2.6.38"; }; then -- 2.34.1