aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Daney <ddaney@caviumnetworks.com>2010-01-28 19:52:12 -0500
committerRalf Baechle <ralf@linux-mips.org>2010-02-27 06:53:20 -0500
commit874fd3b5acc20f2a464409045aef3b2288069787 (patch)
tree667316d08ee5b5b4be99e75dca7bcf9ff315503a
parent3b839070f11295735ce8d9ef580c5eb23417aabf (diff)
MIPS: Allow the auxv's elf_platform entry to be set.
The userspace runtime linker uses the elf_platform to find the libraries optimized for the current CPU archecture variant. First we need to allow it to be set to something other than NULL. Follow-on patches will set some values for specific CPUs. GLIBC already does the right thing. The kernel just needs to supply good data. Signed-off-by: David Daney <ddaney@caviumnetworks.com> To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/891/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r--arch/mips/include/asm/elf.h14
-rw-r--r--arch/mips/kernel/cpu-probe.c1
2 files changed, 8 insertions, 7 deletions
diff --git a/arch/mips/include/asm/elf.h b/arch/mips/include/asm/elf.h
index 7a6a35dbe529..e53d7bed5cda 100644
--- a/arch/mips/include/asm/elf.h
+++ b/arch/mips/include/asm/elf.h
@@ -334,14 +334,14 @@ extern int dump_task_fpu(struct task_struct *, elf_fpregset_t *);
334 334
335#define ELF_HWCAP (0) 335#define ELF_HWCAP (0)
336 336
337/* This yields a string that ld.so will use to load implementation 337/*
338 specific libraries for optimization. This is more specific in 338 * This yields a string that ld.so will use to load implementation
339 intent than poking at uname or /proc/cpuinfo. 339 * specific libraries for optimization. This is more specific in
340 340 * intent than poking at uname or /proc/cpuinfo.
341 For the moment, we have only optimizations for the Intel generations, 341 */
342 but that could change... */
343 342
344#define ELF_PLATFORM (NULL) 343#define ELF_PLATFORM __elf_platform
344extern const char *__elf_platform;
345 345
346/* 346/*
347 * See comments in asm-alpha/elf.h, this is the same thing 347 * See comments in asm-alpha/elf.h, this is the same thing
diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c
index 1773544e3dbb..494e8ab48d63 100644
--- a/arch/mips/kernel/cpu-probe.c
+++ b/arch/mips/kernel/cpu-probe.c
@@ -926,6 +926,7 @@ static inline void cpu_probe_cavium(struct cpuinfo_mips *c, unsigned int cpu)
926} 926}
927 927
928const char *__cpu_name[NR_CPUS]; 928const char *__cpu_name[NR_CPUS];
929const char *__elf_platform;
929 930
930__cpuinit void cpu_probe(void) 931__cpuinit void cpu_probe(void)
931{ 932{