[PATCH] x86: relocs: Make per_cpu_load_addr static

From: Ben Hutchings
Date: Sun May 18 2014 - 19:37:31 EST


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@xxxxxxxxxx>
Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx>
---
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 bbb1d22..a5efb21 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)
{

--
Ben Hutchings
It is easier to change the specification to fit the program than vice versa.

Attachment: signature.asc
Description: This is a digitally signed message part