From 34d20f482fcba8568bfe88e8e1b1b5e19e3a90f5 Mon Sep 17 00:00:00 2001 From: Glenn Randers-Pehrson Date: Thu, 25 Apr 2013 09:53:57 -0500 Subject: [PATCH] [libpng16] Revised stack marking in arm/filter_neon.S and configure.ac. --- ANNOUNCE | 37 ++----------------------------------- CHANGES | 4 +++- arm/arm_init.c | 4 ++-- arm/filter_neon.S | 12 ++++++------ configure.ac | 5 ----- 5 files changed, 13 insertions(+), 49 deletions(-) diff --git a/ANNOUNCE b/ANNOUNCE index bb5a9897e..e8017667e 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -23,43 +23,10 @@ Other information: 1.6.3beta01-README.txt 1.6.3beta01-LICENSE.txt -Changes since the last public release (1.6.1): - -Version 1.6.2beta01 [April 14, 2013] - Updated documentation of 1.5.x to 1.6.x changes in iCCP chunk handling. - Fixed incorrect warning of excess deflate data. End condition - the - warning would be produced if the end of the deflate stream wasn't read - in the last row. The warning is harmless. - Corrected the test on user transform changes on read. It was in the - png_set of the transform function, but that doesn't matter unless the - transform function changes the rowbuf size, and that is only valid if - transform_info is called. - Corrected a misplaced closing bracket in contrib/libtests/pngvalid.c - (Flavio Medeiros). - Corrected length written to uncompressed iTXt chunks (Samuli Suominen). - -Version 1.6.2rc01 [April 18, 2013] - Added contrib/tools/fixitxt.c, to repair the erroneous iTXt chunk length - written by libpng-1.6.0 and 1.6.1. - Levchenko). - Disallow storing sRGB information when the sRGB is not supported. - -Version 1.6.2rc02 [April 18, 2013] - Merge pngtest.c with libpng-1.7.0 - -Version 1.6.2rc03 [April 22, 2013] - Trivial spelling cleanup. - -Version 1.6.2rc04 and 1.6.2rc05 [omitted] - -Version 1.6.2rc06 [April 24, 2013] - Reverted to version 1.6.2rc03. Recent changes to arm/neon support - have been ported to libpng-1.7.0beta09 and will reappear in version - 1.6.3beta01. - -Version 1.6.2 [March 25, 2013] +Changes since the last public release (1.6.2): Version 1.6.3beta01 [April 25, 2013] + Revised stack marking in arm/filter_neon.S and configure.ac. Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/CHANGES b/CHANGES index dae3700d5..e822dd647 100644 --- a/CHANGES +++ b/CHANGES @@ -4504,9 +4504,11 @@ Version 1.6.2rc06 [April 24, 2013] have been ported to libpng-1.7.0beta09 and will reappear in version 1.6.3beta01. -Version 1.6.2 [March 25, 2013] +Version 1.6.2 [April 25, 2013] + No changes. Version 1.6.3beta01 [April 25, 2013] + Revised stack marking in arm/filter_neon.S and configure.ac. Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/arm/arm_init.c b/arm/arm_init.c index 795dd4938..c24b2a083 100644 --- a/arm/arm_init.c +++ b/arm/arm_init.c @@ -3,7 +3,7 @@ * * Copyright (c) 2013 Glenn Randers-Pehrson * Written by Mans Rullgard, 2011. - * Last changed in libpng 1.5.15 [March 28, 2013] + * Last changed in libpng 1.5.16 [(PENDING RELEASE)] * * This code is released under the libpng license. * For conditions of distribution and use, see the disclaimer @@ -216,4 +216,4 @@ png_init_filter_functions_neon(png_structp pp, unsigned int bpp) png_read_filter_row_paeth4_neon; } } -#endif /* FILTER_OPTIMIZATIONS && __arm__ && __ARM_NEON__ */ +#endif /* PNG_ARM_NEON_SUPPORTED */ diff --git a/arm/filter_neon.S b/arm/filter_neon.S index 72420a9e3..827d1a390 100644 --- a/arm/filter_neon.S +++ b/arm/filter_neon.S @@ -1,9 +1,9 @@ /* filter_neon.S - NEON optimised filter functions * - * Copyright (c) 2011 Glenn Randers-Pehrson + * Copyright (c) 2013 Glenn Randers-Pehrson * Written by Mans Rullgard, 2011. - * Last changed in libpng 1.5.7 [December 15, 2011] + * Last changed in libpng 1.5.16 [(PENDING RELEASE)] * * This code is released under the libpng license. * For conditions of distribution and use, see the disclaimer @@ -11,17 +11,17 @@ */ /* This is required to get the symbol renames, which are #defines, and also - * includes the value of PNG_FILTER_OPTIMIZATIONS. + * includes the definition (or not) of PNG_ARM_NEON_SUPPORTED. */ #define PNG_VERSION_INFO_ONLY #include "../pngpriv.h" -#if defined(PNG_FILTER_OPTIMIZATIONS) && defined(__arm__) && \ - defined(__ARM_NEON__) #if defined(__linux__) && defined(__ELF__) .section .note.GNU-stack,"",%progbits /* mark stack as non-executable */ #endif +#ifdef PNG_ARM_NEON_SUPPORTED + #ifdef __ELF__ # define ELF #else @@ -232,4 +232,4 @@ func png_read_filter_row_paeth3_neon, export=1 pop {r4,pc} endfunc -#endif /* FILTER_OPTIMIZATIONS && __arm__ && __ARM_NEON__ */ +#endif /* PNG_ARM_NEON_SUPPORTED */ diff --git a/configure.ac b/configure.ac index cbbd7996e..66a69e050 100644 --- a/configure.ac +++ b/configure.ac @@ -226,11 +226,6 @@ AC_ARG_WITH(libpng-prefix, fi]) AM_CONDITIONAL([DO_PNG_PREFIX], [test "${with_libpng_prefix:-no}" != "no"]) -# Because GCC by default assembles code with an executable stack, even though it -# compiles C code with a non-executable stack, it is necessary to do a fixup -# here (this may by GCC specific) -# AC_SUBST([AM_CCASFLAGS], [-Wa,--noexecstack]) - AC_ARG_ENABLE([arm-neon], AS_HELP_STRING([[[--enable-arm-neon]]], [Enable ARM NEON optimizations: =off, check, api, on:]