summaryrefslogtreecommitdiff
path: root/libgcc/config/i386/i386-cpuinfo.c
diff options
context:
space:
mode:
Diffstat (limited to 'libgcc/config/i386/i386-cpuinfo.c')
-rw-r--r--libgcc/config/i386/i386-cpuinfo.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/libgcc/config/i386/i386-cpuinfo.c b/libgcc/config/i386/i386-cpuinfo.c
index 0735d2cd159..dccf1d58f27 100644
--- a/libgcc/config/i386/i386-cpuinfo.c
+++ b/libgcc/config/i386/i386-cpuinfo.c
@@ -256,16 +256,25 @@ __cpu_indicator_init (void)
/* Assume cpuid insn present. Run in level 0 to get vendor id. */
if (!__get_cpuid_output (0, &eax, &ebx, &ecx, &edx))
- return -1;
+ {
+ __cpu_model.__cpu_vendor = VENDOR_OTHER;
+ return -1;
+ }
vendor = ebx;
max_level = eax;
if (max_level < 1)
- return -1;
+ {
+ __cpu_model.__cpu_vendor = VENDOR_OTHER;
+ return -1;
+ }
if (!__get_cpuid_output (1, &eax, &ebx, &ecx, &edx))
- return -1;
+ {
+ __cpu_model.__cpu_vendor = VENDOR_OTHER;
+ return -1;
+ }
model = (eax >> 4) & 0x0f;
family = (eax >> 8) & 0x0f;