diff options
author | joerg <joerg@pkgsrc.org> | 2006-01-09 19:00:43 +0000 |
---|---|---|
committer | joerg <joerg@pkgsrc.org> | 2006-01-09 19:00:43 +0000 |
commit | 3ff476371165c767832ece1c043702b619e6225b (patch) | |
tree | bce28125031a7337c8fb1701885d3511f6db5ea1 /devel/libjit | |
parent | 11c2c3566739962ecd3a920e9ce128791e8e9df1 (diff) | |
download | pkgsrc-3ff476371165c767832ece1c043702b619e6225b.tar.gz |
Fix GCC 3.4+: Don't clobber %ebx on IA32.
Diffstat (limited to 'devel/libjit')
-rw-r--r-- | devel/libjit/distinfo | 3 | ||||
-rw-r--r-- | devel/libjit/patches/patch-aa | 22 |
2 files changed, 24 insertions, 1 deletions
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 + } |