x86/relocs: Make per_cpu_load_addr static
authorBen Hutchings <ben@decadent.org.uk>
Wed, 24 Sep 2014 12:30:12 +0000 (13:30 +0100)
committerIngo Molnar <mingo@kernel.org>
Wed, 24 Sep 2014 13:17:47 +0000 (15:17 +0200)
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

index bbb1d2259ecf52acc24caf198a3d27f8fd594018..a5efb21d5228b63ad45cd4cf67dc1c521e4cd16a 100644 (file)
@@ -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)
 {