[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202110091215.BL7kYAEE-lkp@intel.com>
Date: Sat, 9 Oct 2021 12:27:32 +0800
From: kernel test robot <lkp@...el.com>
To: Ard Biesheuvel <ardb@...nel.org>
Cc: llvm@...ts.linux.dev, kbuild-all@...ts.01.org,
linux-kernel@...r.kernel.org
Subject: [ardb:for-kernelci 16/19] arch/arm/lib/call_with_stack.S:36:13:
error: redefinition of 'fpreg' does not match original.
tree: git://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git for-kernelci
head: f7296306098662beeec45001fb949d2f9f4239d3
commit: 81de60b03a22a36ab920948a6584aa6ec05fe88f [16/19] ARM: memcpy: use frame pointer as unwind anchor
config: arm-buildonly-randconfig-r002-20211008 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 30caca39f401ae17927439c0a0bd6d1b1916dd6a)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# https://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git/commit/?id=81de60b03a22a36ab920948a6584aa6ec05fe88f
git remote add ardb git://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git
git fetch --no-tags ardb for-kernelci
git checkout 81de60b03a22a36ab920948a6584aa6ec05fe88f
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>
All errors (new ones prefixed by >>):
>> arch/arm/lib/call_with_stack.S:36:13: error: redefinition of 'fpreg' does not match original.
fpreg .req r7
^
vim +/fpreg +36 arch/arm/lib/call_with_stack.S
2d81f1fe81b753 Will Deacon 2011-06-08 12
2d81f1fe81b753 Will Deacon 2011-06-08 13 /*
2d81f1fe81b753 Will Deacon 2011-06-08 14 * void call_with_stack(void (*fn)(void *), void *arg, void *sp)
2d81f1fe81b753 Will Deacon 2011-06-08 15 *
2d81f1fe81b753 Will Deacon 2011-06-08 16 * Change the stack to that pointed at by sp, then invoke fn(arg) with
2d81f1fe81b753 Will Deacon 2011-06-08 17 * the new stack.
e45123e7f2f5fd Ard Biesheuvel 2021-09-17 18 *
e45123e7f2f5fd Ard Biesheuvel 2021-09-17 19 * The sequence below follows the APCS frame convention for frame pointer
e45123e7f2f5fd Ard Biesheuvel 2021-09-17 20 * unwinding, and implements the unwinder annotations needed by the EABI
e45123e7f2f5fd Ard Biesheuvel 2021-09-17 21 * unwinder.
e45123e7f2f5fd Ard Biesheuvel 2021-09-17 22 */
e45123e7f2f5fd Ard Biesheuvel 2021-09-17 23
e45123e7f2f5fd Ard Biesheuvel 2021-09-17 24 #if defined(CONFIG_THUMB2_KERNEL) || \
e45123e7f2f5fd Ard Biesheuvel 2021-09-17 25 (defined(CONFIG_UNWINDER_FRAME_POINTER) && defined(CONFIG_CC_IS_CLANG))
e45123e7f2f5fd Ard Biesheuvel 2021-09-17 26 /*
e45123e7f2f5fd Ard Biesheuvel 2021-09-17 27 * Thumb-2 builds must use R7 as the frame pointer due to the way our unwind
e45123e7f2f5fd Ard Biesheuvel 2021-09-17 28 * info based unwinder is constructed.
e45123e7f2f5fd Ard Biesheuvel 2021-09-17 29 *
e45123e7f2f5fd Ard Biesheuvel 2021-09-17 30 * The code below uses the GCC idiom for managing the frame pointer in the
e45123e7f2f5fd Ard Biesheuvel 2021-09-17 31 * function prologue and epilogue, which Clang does not support. So the best we
e45123e7f2f5fd Ard Biesheuvel 2021-09-17 32 * can do here is not touch the frame pointer at all: this will simply omit
e45123e7f2f5fd Ard Biesheuvel 2021-09-17 33 * this frame when unwinding the call stack. So use R7 in this case as well,
e45123e7f2f5fd Ard Biesheuvel 2021-09-17 34 * and leave R11 unmodified.
2d81f1fe81b753 Will Deacon 2011-06-08 35 */
e45123e7f2f5fd Ard Biesheuvel 2021-09-17 @36 fpreg .req r7
e45123e7f2f5fd Ard Biesheuvel 2021-09-17 37 #else
e45123e7f2f5fd Ard Biesheuvel 2021-09-17 38 fpreg .req fp
e45123e7f2f5fd Ard Biesheuvel 2021-09-17 39 #endif
e45123e7f2f5fd Ard Biesheuvel 2021-09-17 40
:::::: The code at line 36 was first introduced by commit
:::::: e45123e7f2f5fd88d16a53e80d13cfe181a74901 ARM: call_with_stack: add unwind support
:::::: TO: Ard Biesheuvel <ardb@...nel.org>
:::::: CC: Ard Biesheuvel <ardb@...nel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
Download attachment ".config.gz" of type "application/gzip" (32351 bytes)
Powered by blists - more mailing lists