From f90c4f791feb99cc10e15bcd736b411546f6fd5c Mon Sep 17 00:00:00 2001 From: joerg Date: Mon, 9 Jan 2006 19:00:43 +0000 Subject: Fix GCC 3.4+: Don't clobber %ebx on IA32. --- devel/libjit/distinfo | 3 ++- devel/libjit/patches/patch-aa | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 devel/libjit/patches/patch-aa (limited to 'devel') diff --git a/devel/libjit/distinfo b/devel/libjit/distinfo index e3a8b9f3c38..6320882353b 100644 --- a/devel/libjit/distinfo +++ b/devel/libjit/distinfo @@ -1,5 +1,6 @@ -$NetBSD: distinfo,v 1.3 2005/10/22 15:51:02 rillig Exp $ +$NetBSD: distinfo,v 1.4 2006/01/09 19:00:43 joerg Exp $ SHA1 (libjit-0.0.4.tar.gz) = 663055ee5bb600e9dfd28c03456a66bf2b66811b RMD160 (libjit-0.0.4.tar.gz) = e8ff27b3f1e0dbff0ed6cc1d5fd2a5cc4a74f1fd Size (libjit-0.0.4.tar.gz) = 580278 bytes +SHA1 (patch-aa) = e5c58111aad14e4ead390fa55630b06cdf2711da diff --git a/devel/libjit/patches/patch-aa b/devel/libjit/patches/patch-aa new file mode 100644 index 00000000000..83b2ffdbffc --- /dev/null +++ b/devel/libjit/patches/patch-aa @@ -0,0 +1,22 @@ +$NetBSD: patch-aa,v 1.3 2006/01/09 19:00:43 joerg Exp $ + +--- jit/jit-cpuid-x86.c.orig 2006-01-09 18:53:59.000000000 +0000 ++++ jit/jit-cpuid-x86.c +@@ -57,6 +57,7 @@ static void cpuid_query(unsigned int ind + { + #if defined(__GNUC__) + __asm__ __volatile__ ( ++ "\tpushl %%ebx\n" + "\tmovl %0, %%eax\n" + "\txorl %%ebx, %%ebx\n" + "\txorl %%ecx, %%ecx\n" +@@ -68,7 +69,8 @@ static void cpuid_query(unsigned int ind + "\tmovl %%ebx, 4(%%esi)\n" + "\tmovl %%ecx, 8(%%esi)\n" + "\tmovl %%edx, 12(%%esi)\n" +- : : "m"(index), "m"(info) : "eax", "ebx", "ecx", "edx", "esi" ++ "\tpopl %%ebx\n" ++ : : "m"(index), "m"(info) : "eax", "ecx", "edx", "esi" + ); + #endif + } -- cgit v1.2.3