diff options
Diffstat (limited to 'libgcc')
-rw-r--r-- | libgcc/ChangeLog | 4 | ||||
-rw-r--r-- | libgcc/config/i386/i386-cpuinfo.c | 15 |
2 files changed, 16 insertions, 3 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 8040eaf1fcb..638994aa3bc 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,5 +1,9 @@ 2012-04-24 Sriraman Tallam <tmsriram@google.com> + * libgcc/config/i386/i386-cpuinfo.c: Set __cpu_vendor always. + +2012-04-24 Sriraman Tallam <tmsriram@google.com> + * libgcc/config/i386/i386-cpuinfo.c: New file. * libgcc/config/i386/t-cpuinfo: New file. * libgcc/config.host: Include t-cpuinfo. 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; |