pmaports/device/testing/linux-asus-t00f/x86-relocs-Make-per_cpu_load_addr-static.patch
Luca Weiss 81f8ca8e77
device/testing/linux-*: get building again (MR 1684)
Mostly the GCC10 yylloc failure was seen but several others have been
observed:

* wireguard script was silently failing
* several gcc10 x86 errors
* a checksum from kernel.org has changed

Now we have 3 different gcc10 yylloc patches:

gcc10-extern_YYLOC_global_declaration.patch:
    Linux < 4.2

linux4.2-gcc10-extern_YYLOC_global_declaration.patch:
    Linux 4.2+

linux4.17-gcc10-extern_YYLOC_global_declaration.patch:
    Linux 4.17+

[ci:skip-build]
[ci:ignore-count]
[ci:skip-vercheck]
2020-11-05 09:55:11 +01:00

38 lines
1.3 KiB
Diff

From eeeda4cd06e828b331b15741a204ff9f5874d28d Mon Sep 17 00:00:00 2001
From: Ben Hutchings <ben@decadent.org.uk>
Date: Wed, 24 Sep 2014 13:30:12 +0100
Subject: [PATCH] x86/relocs: Make per_cpu_load_addr static
per_cpu_load_addr is only used for 64-bit relocations, but is
declared in both configurations of relocs.c - with different
types. This has undefined behaviour in general. GNU ld is
documented to use the larger size in this case, but other tools
may differ and some warn about this.
References: https://bugs.debian.org/748577
Reported-by: Michael Tautschnig <mt@debian.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Cc: 748577@bugs.debian.org
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: http://lkml.kernel.org/r/1411561812.3659.23.camel@decadent.org.uk
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
arch/x86/tools/relocs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/tools/relocs.c b/arch/x86/tools/relocs.c
index bbb1d2259ecf..a5efb21d5228 100644
--- a/arch/x86/tools/relocs.c
+++ b/arch/x86/tools/relocs.c
@@ -695,7 +695,7 @@ static void walk_relocs(int (*process)(struct section *sec, Elf_Rel *rel,
*
*/
static int per_cpu_shndx = -1;
-Elf_Addr per_cpu_load_addr;
+static Elf_Addr per_cpu_load_addr;
static void percpu_init(void)
{
--
2.29.2