From 1bd8c2c68885aabad1d6ac2b61165e7ca77911a2 Mon Sep 17 00:00:00 2001 From: Maxim Sobolev Date: Thu, 15 Nov 2001 23:32:37 +0000 Subject: 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 --- graphics/png/Makefile | 1 + graphics/png/files/patch-pnggccrd.c | 14 ++++++++++++++ 2 files changed, 15 insertions(+) create mode 100644 graphics/png/files/patch-pnggccrd.c (limited to 'graphics') 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 + -- cgit v1.2.3