diff options
author | Max Filippov <jcmvbkbc@gmail.com> | 2023-05-07 03:10:36 +0300 |
---|---|---|
committer | Max Filippov <jcmvbkbc@gmail.com> | 2023-05-12 19:44:12 +0300 |
commit | 034f4a7877c32a8efd6beee4d71ed14e424499a9 (patch) | |
tree | eedd53678d79666df2fc9ca6975685910e598b0c /arch/xtensa/lib/bswapdi2.S | |
parent | 9c2cc74fb31ec76b8b118c97041a6a154a3ff219 (diff) | |
download | linux-034f4a7877c32a8efd6beee4d71ed14e424499a9.tar.xz |
xtensa: add __bswap{si,di}2 helpers
gcc-13 may generate calls for __bswap{si,di}2. This breaks the kernel
build when optimization for size is selected. Add __bswap{si,di}2
helpers to fix that.
Cc: stable@vger.kernel.org
Fixes: 19c5699f9aff ("xtensa: don't link with libgcc")
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Diffstat (limited to 'arch/xtensa/lib/bswapdi2.S')
-rw-r--r-- | arch/xtensa/lib/bswapdi2.S | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/arch/xtensa/lib/bswapdi2.S b/arch/xtensa/lib/bswapdi2.S new file mode 100644 index 000000000000..d8e52e05eba6 --- /dev/null +++ b/arch/xtensa/lib/bswapdi2.S @@ -0,0 +1,21 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later WITH GCC-exception-2.0 */ +#include <linux/linkage.h> +#include <asm/asmmacro.h> +#include <asm/core.h> + +ENTRY(__bswapdi2) + + abi_entry_default + ssai 8 + srli a4, a2, 16 + src a4, a4, a2 + src a4, a4, a4 + src a4, a2, a4 + srli a2, a3, 16 + src a2, a2, a3 + src a2, a2, a2 + src a2, a3, a2 + mov a3, a4 + abi_ret_default + +ENDPROC(__bswapdi2) |