Hello Tom, >Markus> cpu.family = (cpuid >> 8) & 0xf; >Markus> - cpu.model = (cpuid >> 4) & 0xf; >Markus> + if (cpu.family == 0xf) >Markus> + cpu.family += (cpuid >> 20) & 0xff; > >Markus> - if (cpu.family == 0x6) >Markus> + cpu.model = (cpuid >> 4) & 0xf; >Markus> + if ((cpu.family == 0x6) || ((cpu.family & 0xf) == 0xf)) >Markus> cpu.model += (cpuid >> 12) & 0xf0; > >I wonder if these magic numbers have #defines anywhere we could use. In fact, bb368aad297 gprofng: a new GNU profiler added the same functionality, so now we have two versions of it. I tried to unify them (attached) but wasn't able to pass gprofng tests on my box. They already fail without my changes. I could replace this patch with the attached two. What do you think? regards, markus. Intel Deutschland GmbH Registered Address: Am Campeon 10, 85579 Neubiberg, Germany Tel: +49 89 99 8853-0, www.intel.de Managing Directors: Christin Eisenschmid, Sharon Heck, Tiffany Doon Silva Chairperson of the Supervisory Board: Nicole Lau Registered Office: Munich Commercial Register: Amtsgericht Muenchen HRB 186928