summaryrefslogtreecommitdiff
path: root/graphics/png/files
diff options
context:
space:
mode:
authorMaxim Sobolev <sobomax@FreeBSD.org>2001-11-15 23:32:37 +0000
committerMaxim Sobolev <sobomax@FreeBSD.org>2001-11-15 23:32:37 +0000
commit1bd8c2c68885aabad1d6ac2b61165e7ca77911a2 (patch)
tree623f7203c3b98d4740d85aa22c6a95c2c5e02599 /graphics/png/files
parent* Add workaround for parser bug in FreeBSD's /bin/sh prior to 4.4. (diff)
Once we are determined that CPUID instruction is or isn't supported resfore
initial state of the bit 21 of the eflag register. This reduces possibility that the threaded program linked with libpng will die due to arrival of the signal during probing for the CPU type. More proper fix has been committed into the -current kernel and will be MFC'ed soon, but this workaround is necessary for those with older systems. Among other things, this should make Nautilus, Balsa and other multi-threaded GNOME programs more stable, therefore update is recommended to all existing users. Bump PORTREVISION. Reported by: Joe Clarke <marcus@marcuscom.com>
Notes
Notes: svn path=/head/; revision=50089
Diffstat (limited to 'graphics/png/files')
-rw-r--r--graphics/png/files/patch-pnggccrd.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/graphics/png/files/patch-pnggccrd.c b/graphics/png/files/patch-pnggccrd.c
new file mode 100644
index 000000000000..ed22c5e08fb3
--- /dev/null
+++ b/graphics/png/files/patch-pnggccrd.c
@@ -0,0 +1,14 @@
+
+$FreeBSD$
+
+--- pnggccrd.c 2001/11/15 23:03:00 1.1
++++ pnggccrd.c 2001/11/15 23:07:03
+@@ -5287,6 +5287,8 @@
+ "popfl \n\t" // restore modified value to Eflag reg
+ "pushfl \n\t" // save Eflag to stack
+ "popl %%eax \n\t" // get Eflag from stack
++ "pushl %%ecx \n\t" // save original Eflag to stack
++ "popfl \n\t" // restore original Eflag
+ "xorl %%ecx, %%eax \n\t" // compare new Eflag with original Eflag
+ "jz .NOT_SUPPORTED \n\t" // if same, CPUID instr. is not supported
+