objtool warning breaks build for fs/dlm/lock.o

From: Arnd Bergmann
Date: Wed May 06 2020 - 10:08:06 EST


Hi,

During randconfig testing with clang-10 I came across a number
of additional objtool warnings, I'll send another mail about those
when I have collected more information and some object files.

This one sticks out however, as objtool returns an error code that
stops the build:

$ make V=1 2>&1 | tail
clang-10 -Wp,-MMD,fs/dlm/.lock.o.d -nostdinc -isystem
/usr/lib/llvm-10/lib/clang/10.0.1/include
-I/git/arm-soc/arch/x86/include -I./arch/x86/include/generated
-I/git/arm-soc/include -I./include
-I/git/arm-soc/arch/x86/include/uapi
-I./arch/x86/include/generated/uapi -I/git/arm-soc/include/uapi
-I./include/generated/uapi -include
/git/arm-soc/include/linux/kconfig.h -include
/git/arm-soc/include/linux/compiler_types.h -D__KERNEL__ -Wall -Wundef
-Werror=strict-prototypes -fno-strict-aliasing -fno-common
-fshort-wchar -fno-PIE -Werror=implicit-function-declaration
-Werror=implicit-int -std=gnu89 --target=x86_64-linux
--prefix=/home/arnd/cross/x86_64/gcc-10.0.20200413-nolibc/x86_64-linux/bin/
--gcc-toolchain=/home/arnd/cross/x86_64/gcc-10.0.20200413-nolibc/x86_64-linux
-no-integrated-as -Werror=unknown-warning-option -mno-sse -mno-mmx
-mno-sse2 -mno-3dnow -mno-avx -m64 -mno-80387 -mstack-alignment=8
-mtune=generic -mno-red-zone -mcmodel=kernel -DCONFIG_X86_X32_ABI
-Wno-sign-compare -fno-asynchronous-unwind-tables
-fno-delete-null-pointer-checks -O2 -Wframe-larger-than=2048
-fno-stack-protector -fno-omit-frame-pointer
-fno-optimize-sibling-calls -mno-omit-leaf-frame-pointer
-Wdeclaration-after-statement -Wvla -fno-strict-overflow
-fno-merge-all-constants -fno-stack-check -Werror=date-time
-Werror=incompatible-pointer-types -fmacro-prefix-map=/git/arm-soc/=
-Werror -I /git/arm-soc/fs/dlm -I ./fs/dlm
-DKBUILD_MODFILE='"fs/dlm/dlm"' -DKBUILD_BASENAME='"lock"'
-DKBUILD_MODNAME='"dlm"' -c -o fs/dlm/lock.o
/git/arm-soc/fs/dlm/lock.c
./tools/objtool/objtool check --uaccess fs/dlm/lock.o
fs/dlm/lock.o: warning: objtool: __receive_convert_reply()+0x1e5:
can't find jump dest instruction at .text+0xcaa7
make[4]: *** [/git/arm-soc/scripts/Makefile.build:273: fs/dlm/lock.o] Error 255

Attached object file and .config.

Arnd

Attachment: .config.gz
Description: application/gzip

Attachment: lock.o.gz
Description: application/gzip