This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug libc/21713] New: cacheinfo.c handle_intel errors on 486 processors
- From: "tedheadster at gmail dot com" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Wed, 05 Jul 2017 15:43:41 +0000
- Subject: [Bug libc/21713] New: cacheinfo.c handle_intel errors on 486 processors
- Auto-submitted: auto-generated
https://sourceware.org/bugzilla/show_bug.cgi?id=21713
Bug ID: 21713
Summary: cacheinfo.c handle_intel errors on 486 processors
Product: glibc
Version: 2.23
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: libc
Assignee: unassigned at sourceware dot org
Reporter: tedheadster at gmail dot com
CC: drepper.fsp at gmail dot com
Target Milestone: ---
This bug presumes we support ancient 32 bit i486 processors.
In sysdeps/x86_64/cacheinfo.c (called from 32bit i386 systems, oddly) it calls
handle_intel(). It immediately does an "assert(maxidx >= 2)". This fails on
early i486 processors, and I believe it even fails on Pentium 1 cpus.
Unfortunately, my Gentoo /sbin/init uses /lib/libc.so.6, so the system panics
when init gets a general protection fault and dies on the assert().
I was able to get the system to boot with the following patch, but it is
probably not the right solution:
--- glibc-2.23/sysdeps/x86_64/cacheinfo.c
+++ tmp/cacheinfo.c
@@ -259,7 +259,8 @@
static long int __attribute__ ((noinline))
handle_intel (int name, unsigned int maxidx)
{
- assert (maxidx >= 2);
+ if (maxidx < 2)
+ return 0;
/* OK, we can use the CPUID instruction to get all info about the
caches. */
--
You are receiving this mail because:
You are on the CC list for the bug.