diff --git a/CMakeLists.txt b/CMakeLists.txt index c01ec250..4e5dd367 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,7 +5,7 @@ if(CMAKE_EXECUTABLE_SUFFIX) endif() project(libjpeg-turbo C) -set(VERSION 2.1.1) +set(VERSION 2.1.2) string(REPLACE "." ";" VERSION_TRIPLET ${VERSION}) list(GET VERSION_TRIPLET 0 VERSION_MAJOR) list(GET VERSION_TRIPLET 1 VERSION_MINOR) diff --git a/ChangeLog.md b/ChangeLog.md index 1fcb065a..bcbb0079 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,3 +1,15 @@ +2.1.2 +===== + +1. Fixed a regression introduced by 2.1 beta1[13] that caused the remaining +GAS implementations of AArch64 (Arm 64-bit) Neon SIMD functions (which are used +by default with GCC for performance reasons) to be placed in the `.rodata` +section rather than in the `.text` section. This caused the GNU linker to +automatically place the `.rodata` section in an executable segment, which +prevented libjpeg-turbo from working properly with other linkers and also +represented a potential security risk. + + 2.1.1 ===== diff --git a/simd/arm/aarch64/jsimd_neon.S b/simd/arm/aarch64/jsimd_neon.S index 31aa8e25..738a4f06 100644 --- a/simd/arm/aarch64/jsimd_neon.S +++ b/simd/arm/aarch64/jsimd_neon.S @@ -182,6 +182,8 @@ Ljsimd_huff_encode_one_block_neon_consts: .byte 4, 5, 6, 7, 255, 255, 255, 255, \ 255, 255, 255, 255, 255, 255, 255, 255 /* L7 : 1 line OK */ +.text + /*****************************************************************************/