diff options
author | Maxim Sobolev <sobomax@FreeBSD.org> | 2001-11-15 23:32:37 +0000 |
---|---|---|
committer | Maxim Sobolev <sobomax@FreeBSD.org> | 2001-11-15 23:32:37 +0000 |
commit | 1bd8c2c68885aabad1d6ac2b61165e7ca77911a2 (patch) | |
tree | 623f7203c3b98d4740d85aa22c6a95c2c5e02599 /graphics | |
parent | 5e09432b45f5eb07f66eb1f60d026a11a62b4a90 (diff) | |
download | ports-1bd8c2c68885aabad1d6ac2b61165e7ca77911a2.tar.gz ports-1bd8c2c68885aabad1d6ac2b61165e7ca77911a2.zip |
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')
-rw-r--r-- | graphics/png/Makefile | 1 | ||||
-rw-r--r-- | graphics/png/files/patch-pnggccrd.c | 14 |
2 files changed, 15 insertions, 0 deletions
diff --git a/graphics/png/Makefile b/graphics/png/Makefile index 3296b9462240..a33011a43111 100644 --- a/graphics/png/Makefile +++ b/graphics/png/Makefile @@ -7,6 +7,7 @@ PORTNAME= png PORTVERSION= 1.2.0 +PORTREVISION= 1 CATEGORIES= graphics MASTER_SITES= http://www.libpng.org/pub/png/src/ \ ftp://swrinde.nde.swri.edu/pub/png/src/ \ 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 + |