[PATCH 4.14 0/6] fix warning and errors on arm built with clang
Anders Roxell
anders.roxell at linaro.org
Mon Dec 20 04:25:00 PST 2021
Hi,
Can this patchset be applied to linux-4.14.y. I've tried to build an arm
kernel for these defconfigs:
mini2440_defconfig, mxs_defconfig, imx_v4_v5_defconfig,
integrator_defconfig, lpc32xx_defconfig, s3c2410_defconfig,
nhk8815_defconfig, imx_v6_v7_defconfig, at91_dt_defconfig,
shmobile_defconfig, omap1_defconfig, multi_v5_defconfig,
orion5x_defconfig, footbridge_defconfig, davinci_all_defconfig
Without this patchset these configs faild to build.
Also I fixed a few warnings.
There are still a few more warnings to fix.
But this is a start.
I built the kernel with tuxmake and this is the command:
tuxmake --runtime podman --target-arch arm --toolchain clang-nightly --kconfig tinyconfig LLVM=1 LLVM_IAS=0
Similar results with clang-13.
Patch "net: lan78xx: Avoid unnecessary self assignment" fixes:
drivers/net/usb/lan78xx.c:949:11: warning: explicitly assigning value of variable of type 'u32' (aka 'unsigned int') to itself [-Wself-assign]
offset = offset;
~~~~~~ ^ ~~~~~~
1 warning generated.
Patch "ARM: 8805/2: remove unneeded naked function usage" fixes:
arch/arm/mm/copypage-v4wb.c:47:9: error: parameter references not allowed in naked functions
: "r" (kto), "r" (kfrom), "I" (PAGE_SIZE / 64));
^
/builds/linux/arch/arm/mm/copypage-v4wb.c:25:13: note: attribute is here
static void __naked
^
/builds/linux/include/linux/compiler_types.h:249:34: note: expanded from macro '__naked'
#define __naked __attribute__((naked)) notrace
^
1 error generated.
Patch "mwifiex: Remove unnecessary braces from HostCmd_SET_SEQ_NO_BSS_INFO" fixes:
drivers/net/wireless/marvell/mwifiex/cmdevt.c:219:22: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
host_cmd->seq_num = cpu_to_le16(HostCmd_SET_SEQ_NO_BSS_INFO
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/builds/linux/include/linux/byteorder/generic.h:90:21: note: expanded from macro 'cpu_to_le16'
#define cpu_to_le16 __cpu_to_le16
^
Patch "Input: touchscreen - avoid bitwise vs logical OR warning" fixes:
drivers/input/touchscreen/of_touchscreen.c:80:17: warning: use of bitwise '|' with boolean operands [-Wbitwise-instead-of-logical]
data_present = touchscreen_get_prop_u32(dev, "touchscreen-size-x",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Patch "ARM: 8788/1: ftrace: remove old mcount support" fixes:
arch/arm/kernel/entry-ftrace.S:56:2: error: Ftrace requires CONFIG_FRAME_POINTER=y with GCC older than 4.4.0.
#error Ftrace requires CONFIG_FRAME_POINTER=y with GCC older than 4.4.0.
^
1 error generated.
Patch "ARM: 8800/1: use choice for kernel unwinders" fixes the build
error:
clang: error: unknown argument: '-mapcs'
clang: error: unknown argument: '-mno-sched-prolog'
Cheers,
Anders
Nathan Chancellor (3):
net: lan78xx: Avoid unnecessary self assignment
mwifiex: Remove unnecessary braces from HostCmd_SET_SEQ_NO_BSS_INFO
Input: touchscreen - avoid bitwise vs logical OR warning
Nicolas Pitre (1):
ARM: 8805/2: remove unneeded naked function usage
Stefan Agner (2):
ARM: 8800/1: use choice for kernel unwinders
ARM: 8788/1: ftrace: remove old mcount support
arch/arm/Kconfig.debug | 45 +++++----
arch/arm/include/asm/ftrace.h | 3 -
arch/arm/kernel/armksyms.c | 3 -
arch/arm/kernel/entry-ftrace.S | 75 +-------------
arch/arm/kernel/ftrace.c | 51 ----------
arch/arm/mm/copypage-fa.c | 35 ++++---
arch/arm/mm/copypage-feroceon.c | 98 +++++++++----------
arch/arm/mm/copypage-v4mc.c | 19 ++--
arch/arm/mm/copypage-v4wb.c | 41 ++++----
arch/arm/mm/copypage-v4wt.c | 37 ++++---
arch/arm/mm/copypage-xsc3.c | 71 ++++++--------
arch/arm/mm/copypage-xscale.c | 71 +++++++-------
drivers/input/touchscreen/of_touchscreen.c | 18 ++--
drivers/net/usb/lan78xx.c | 6 +-
drivers/net/wireless/marvell/mwifiex/cmdevt.c | 4 +-
drivers/net/wireless/marvell/mwifiex/fw.h | 8 +-
lib/Kconfig.debug | 6 +-
17 files changed, 228 insertions(+), 363 deletions(-)
--
2.34.1
More information about the linux-arm-kernel
mailing list