Date: Thursday, February 4, 2021 @ 12:12:28 Author: andyrtr Revision: 407228
upgpkg: linux-lts 5.4.95-1: upstream update 5.4.95; apply a build fix for binutils 2.33 Added: linux-lts/trunk/Do_not_fail_on_missing_symbol_table.patch Modified: linux-lts/trunk/PKGBUILD -------------------------------------------+ Do_not_fail_on_missing_symbol_table.patch | 46 ++++++++++++++++++++++++++++ PKGBUILD | 6 +++ 2 files changed, 51 insertions(+), 1 deletion(-) Added: Do_not_fail_on_missing_symbol_table.patch =================================================================== --- Do_not_fail_on_missing_symbol_table.patch (rev 0) +++ Do_not_fail_on_missing_symbol_table.patch 2021-02-04 12:12:28 UTC (rev 407228) @@ -0,0 +1,46 @@ +From 1d489151e9f9d1647110277ff77282fe4d96d09b Mon Sep 17 00:00:00 2001 +From: Josh Poimboeuf <[email protected]> +Date: Thu, 14 Jan 2021 16:14:01 -0600 +Subject: objtool: Don't fail on missing symbol table + +Thanks to a recent binutils change which doesn't generate unused +symbols, it's now possible for thunk_64.o be completely empty without +CONFIG_PREEMPTION: no text, no data, no symbols. + +We could edit the Makefile to only build that file when +CONFIG_PREEMPTION is enabled, but that will likely create confusion +if/when the thunks end up getting used by some other code again. + +Just ignore it and move on. + +Reported-by: Nathan Chancellor <[email protected]> +Reviewed-by: Nathan Chancellor <[email protected]> +Reviewed-by: Miroslav Benes <[email protected]> +Tested-by: Nathan Chancellor <[email protected]> +Link: https://github.com/ClangBuiltLinux/linux/issues/1254 +Signed-off-by: Josh Poimboeuf <[email protected]> +--- + tools/objtool/elf.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/tools/objtool/elf.c b/tools/objtool/elf.c +index f9682db33ccab..d8421e1d06bed 100644 +--- a/tools/objtool/elf.c ++++ b/tools/objtool/elf.c +@@ -380,8 +380,11 @@ static int read_symbols(struct elf *elf) + + symtab = find_section_by_name(elf, ".symtab"); + if (!symtab) { +- WARN("missing symbol table"); +- return -1; ++ /* ++ * A missing symbol table is actually possible if it's an empty ++ * .o file. This can happen for thunk_64.o. ++ */ ++ return 0; + } + + symtab_shndx = find_section_by_name(elf, ".symtab_shndx"); +-- +cgit 1.2.3-1.el7 + Modified: PKGBUILD =================================================================== --- PKGBUILD 2021-02-04 11:13:23 UTC (rev 407227) +++ PKGBUILD 2021-02-04 12:12:28 UTC (rev 407228) @@ -19,6 +19,9 @@ 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch 0002-virt-vbox-Add-support-for-the-new-VBG_IOCTL_ACQUIRE_.patch sphinx-workaround.patch + # binutils 2.33 fix + # https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=1d489151e9f9d1647110277ff77282fe4d96d09b + Do_not_fail_on_missing_symbol_table.patch ) validpgpkeys=( 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds @@ -30,7 +33,8 @@ 'be2066dd6133357007e8c7da9d5de3194b13409ebbfba8821db1849588fced1e' 'b439f57b84bc98730c0265695abb92385ee4dcd35a5c00d4cb3d3155c75fb491' '4fd74bb2a7101d700fba91806141339d8c9e46a14f8fc1fe276cfb68f1eec0f5' - 'b7c814c8183e4645947a6dcc3cbf80431de8a8fd4e895b780f9a5fd92f82cb8e') + 'b7c814c8183e4645947a6dcc3cbf80431de8a8fd4e895b780f9a5fd92f82cb8e' + '2a62cd628031b5f9f7bb4739bd9d2264056d3ab94aaa2cf973cdb0d509a94fdb') export KBUILD_BUILD_HOST=archlinux export KBUILD_BUILD_USER=$pkgbase
