From f03638747b8e6acc1ef9a85235427272b8609b4c Mon Sep 17 00:00:00 2001 From: Tilghman Lesher Date: Thu, 19 Jun 2008 16:07:23 +0000 Subject: [PATCH] The RDTSC instruction was introduced on the Pentium line of microprocessors, and is not compatible with certain 586 clones, like Cyrix. Hence, asking for i386 compatibility was always incorrect. See http://en.wikipedia.org/wiki/RDTSC (Closes issue #12886) Reported by tecnoxarxa git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@123869 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/asterisk.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/main/asterisk.c b/main/asterisk.c index a5784884e7..17b3581f17 100644 --- a/main/asterisk.c +++ b/main/asterisk.c @@ -414,7 +414,10 @@ int64_t ast_profile(int i, int64_t delta) return prof_data->e[i].value; } -#if defined ( __i386__) && (defined(__FreeBSD__) || defined(linux)) +/* The RDTSC instruction was introduced on the Pentium processor and is not + * implemented on certain clones, like the Cyrix 586. Hence, the previous + * expectation of __i386__ was in error. */ +#if defined ( __i686__) && (defined(__FreeBSD__) || defined(linux)) #if defined(__FreeBSD__) #include #elif defined(linux)