From 1671c879df07ff23f8f43332f6409c4cf9dd28b4 Mon Sep 17 00:00:00 2001 From: GNU Libc Maintainers Date: Sun, 28 May 2017 17:29:33 +0000 Subject: [PATCH] cvs-cpuid-level2 2016-10-12 H.J. Lu [BZ #20647] * sysdeps/x86/cacheinfo.c (handle_intel): Return -1 if the maximum CPUID level is less than 2. Gbp-Pq: Topic i386 Gbp-Pq: Name cvs-cpuid-level2.diff --- sysdeps/x86/cacheinfo.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sysdeps/x86/cacheinfo.c b/sysdeps/x86/cacheinfo.c index cf4f64b0d..35268e8d9 100644 --- a/sysdeps/x86/cacheinfo.c +++ b/sysdeps/x86/cacheinfo.c @@ -259,7 +259,9 @@ intel_check_word (int name, unsigned int value, bool *has_level_2, static long int __attribute__ ((noinline)) handle_intel (int name, unsigned int maxidx) { - assert (maxidx >= 2); + /* Return -1 for older CPUs. */ + if (maxidx < 2) + return -1; /* OK, we can use the CPUID instruction to get all info about the caches. */ -- 2.30.2