Here is an update to jpeg 2.1.5.1.

2.1.5.1
=======

### Significant changes relative to 2.1.5:

1. The SIMD dispatchers in libjpeg-turbo 2.1.4 and prior stored the list of
supported SIMD instruction sets in a global variable, which caused an innocuous
race condition whereby the variable could have been initialized multiple times
if `jpeg_start_*compress()` was called simultaneously in multiple threads.
libjpeg-turbo 2.1.5 included an undocumented attempt to fix this race condition
by making the SIMD support variable thread-local.  However, that caused another
issue whereby, if `jpeg_start_*compress()` was called in one thread and
`jpeg_read_*()` or `jpeg_write_*()` was called in a second thread, the SIMD
support variable was never initialized in the second thread.  On x86 systems,
this led the second thread to incorrectly assume that AVX2 instructions were
always available, and when it attempted to use those instructions on older x86
CPUs that do not support them, an illegal instruction error occurred.  The SIMD
dispatchers now ensure that the SIMD support variable is initialized before
dispatching based on its value.


Index: Makefile
===================================================================
RCS file: /home/cvs/ports/graphics/jpeg/Makefile,v
retrieving revision 1.76
diff -u -p -u -p -r1.76 Makefile
--- Makefile    12 Apr 2023 17:42:24 -0000      1.76
+++ Makefile    11 May 2023 03:49:29 -0000
@@ -1,6 +1,6 @@
 COMMENT=       SIMD-accelerated JPEG codec replacement of libjpeg
 
-V=             2.1.5
+V=             2.1.5.1
 DISTNAME=      libjpeg-turbo-${V}
 PKGNAME=       jpeg-${V}
 EPOCH=         0
Index: distinfo
===================================================================
RCS file: /home/cvs/ports/graphics/jpeg/distinfo,v
retrieving revision 1.26
diff -u -p -u -p -r1.26 distinfo
--- distinfo    12 Apr 2023 17:42:24 -0000      1.26
+++ distinfo    11 May 2023 03:50:17 -0000
@@ -1,2 +1,2 @@
-SHA256 (libjpeg-turbo-2.1.5.tar.gz) = 
vBK8nc5VMAxr9DQrwjO8wmvTi/KJ7t8Uc2DXMcZo3a8=
-SIZE (libjpeg-turbo-2.1.5.tar.gz) = 2264471
+SHA256 (libjpeg-turbo-2.1.5.1.tar.gz) = 
L9w/626d6xet7JuvozIUGaoZ+PTl3qe/hIaETKIiB78=
+SIZE (libjpeg-turbo-2.1.5.1.tar.gz) = 2264936
Index: patches/patch-CMakeLists_txt
===================================================================
RCS file: /home/cvs/ports/graphics/jpeg/patches/patch-CMakeLists_txt,v
retrieving revision 1.10
diff -u -p -u -p -r1.10 patch-CMakeLists_txt
--- patches/patch-CMakeLists_txt        12 Apr 2023 17:42:24 -0000      1.10
+++ patches/patch-CMakeLists_txt        11 May 2023 03:50:40 -0000
@@ -3,7 +3,7 @@ Symbol versioning triggers weird linking
 Index: CMakeLists.txt
 --- CMakeLists.txt.orig
 +++ CMakeLists.txt
-@@ -511,10 +511,6 @@ endif()
+@@ -509,10 +509,6 @@ endif()
  
  if(UNIX AND NOT APPLE)
    file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/conftest.map "VERS_1 { global: *; 
};")

Reply via email to