Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | [Bug 3601804]: platformCPUID segmentation fault on Darwin |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | core-8-4-branch |
Files: | files | file ages | folders |
SHA1: |
794facf36b5347a8bf4d060b2320c8ee |
User & Date: | jan.nijtmans 2013-01-26 16:50:22 |
Context
2013-01-30
| ||
19:04 | (::platform::LibcVersion): See [Bug 3599098]: Fixed the RE extracting the version to avoid issues w... check-in: 2798119d9f user: andreask tags: core-8-4-branch | |
2013-01-26
| ||
16:53 | [Bug 3601804]: platformCPUID segmentation fault on Darwin check-in: 2be066838a user: jan.nijtmans tags: core-8-5-branch | |
16:50 | [Bug 3601804]: platformCPUID segmentation fault on Darwin check-in: 794facf36b user: jan.nijtmans tags: core-8-4-branch | |
2013-01-24
| ||
22:00 | new version of cpuid, which doesn't use the edi register any more. Hopefully that works better on so... check-in: 2153733cd7 user: jan.nijtmans tags: core-8-4-branch | |
Changes
Changes to ChangeLog.
1 2 3 4 5 6 7 | 2013-01-16 Jan Nijtmans <[email protected]> * Makefile.in: Enable win32 build with -DTCL_NO_DEPRECATED, just * generic/tcl.h: as the UNIX build. Define Tcl_EvalObj and * generic/tclDecls.h: Tcl_GlobalEvalObj as macros, even when * generic/tclBasic.c: TCL_NO_DEPRECATED is defined, so Tk can benefit from it too. | > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 | 2013-01-26 Jan Nijtmans <[email protected]> * unix/tclUnixCompat.c: [Bug 3601804]: platformCPUID segmentation fault on Darwin. 2013-01-16 Jan Nijtmans <[email protected]> * Makefile.in: Enable win32 build with -DTCL_NO_DEPRECATED, just * generic/tcl.h: as the UNIX build. Define Tcl_EvalObj and * generic/tclDecls.h: Tcl_GlobalEvalObj as macros, even when * generic/tclBasic.c: TCL_NO_DEPRECATED is defined, so Tk can benefit from it too. |
︙ | ︙ |
Changes to unix/tclUnixCompat.c.
︙ | ︙ | |||
689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 | unsigned int index, /* Which CPUID value to retrieve. */ unsigned int *regsPtr) /* Registers after the CPUID. */ { int status = TCL_ERROR; /* See: <http://en.wikipedia.org/wiki/CPUID> */ #if defined(HAVE_CPUID) __asm__ __volatile__("mov %%ebx, %%esi \n\t" /* save %ebx */ "cpuid \n\t" "xchg %%esi, %%ebx \n\t" /* restore the old %ebx */ : "=a"(regsPtr[0]), "=S"(regsPtr[1]), "=c"(regsPtr[2]), "=d"(regsPtr[3]) : "a"(index)); status = TCL_OK; #endif return status; } /* * Local Variables: | > > > > > > > > | 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 | unsigned int index, /* Which CPUID value to retrieve. */ unsigned int *regsPtr) /* Registers after the CPUID. */ { int status = TCL_ERROR; /* See: <http://en.wikipedia.org/wiki/CPUID> */ #if defined(HAVE_CPUID) #if defined(__x86_64__) || defined(_M_AMD64) || defined (_M_X64) __asm__ __volatile__("movq %%rbx, %%rsi \n\t" /* save %rbx */ "cpuid \n\t" "xchgq %%rsi, %%rbx \n\t" /* restore the old %rbx */ : "=a"(regsPtr[0]), "=S"(regsPtr[1]), "=c"(regsPtr[2]), "=d"(regsPtr[3]) : "a"(index)); #else __asm__ __volatile__("mov %%ebx, %%esi \n\t" /* save %ebx */ "cpuid \n\t" "xchg %%esi, %%ebx \n\t" /* restore the old %ebx */ : "=a"(regsPtr[0]), "=S"(regsPtr[1]), "=c"(regsPtr[2]), "=d"(regsPtr[3]) : "a"(index)); #endif status = TCL_OK; #endif return status; } /* * Local Variables: |
︙ | ︙ |