2000-11-11 16:50:36

by Mikael Pettersson

[permalink] [raw]
Subject: 2.2.18pre Pentium IV bug fix

Alan,

2.2.18pre's include/asm-i386/elf.h is currently broken for the
Pentium IV (out of bounds array indexing error).
Since ELF_PLATFORM is identical to system_utsname.machine, the
patch below simply tosses ELF_PLATFORM's broken name generation
code and uses system_utsname.machine instead.
There is no behavioural change for P6 and lesser CPUs.

/Mikael


--- linux-2.2.18pre21/include/asm-i386/elf.h.~1~ Tue Aug 10 19:00:00 1999
+++ linux-2.2.18pre21/include/asm-i386/elf.h Fri Nov 10 14:57:39 2000
@@ -7,6 +7,7 @@

#include <asm/ptrace.h>
#include <asm/user.h>
+#include <linux/utsname.h>

typedef unsigned long elf_greg_t;

@@ -93,7 +94,7 @@
For the moment, we have only optimizations for the Intel generations,
but that could change... */

-#define ELF_PLATFORM ("i386\0i486\0i586\0i686"+((boot_cpu_data.x86-3)*5))
+#define ELF_PLATFORM (system_utsname.machine)

#ifdef __KERNEL__
#define SET_PERSONALITY(ex, ibcs2) \