From 7a076b517c739af5197cad380b110f0ffc085d89 Mon Sep 17 00:00:00 2001 From: "thakis@chromium.org" Date: Mon, 18 Aug 2014 22:56:54 +0000 Subject: libjpeg-turbo: Remove .func / .endfunc directives. They only have an effect in -gstabs which we don't use, and clang's integrated assembler doesn't understand them. So just remove them. BUG=chromium:124610 R=cjhopman@chromium.org Review URL: https://codereview.chromium.org/481243002 git-svn-id: http://src.chromium.org/svn/trunk/deps/third_party/libjpeg_turbo@290390 4ff67af0-8c30-449e-8e8b-ad334ec8d88c --- README.chromium | 2 ++ google.patch | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++ simd/jsimd_arm_neon.S | 12 ------- 3 files changed, 98 insertions(+), 12 deletions(-) diff --git a/README.chromium b/README.chromium index b01cb0a..409cc4f 100644 --- a/README.chromium +++ b/README.chromium @@ -25,6 +25,8 @@ following changes which are not merged to upstream: * Added the 'private_extern' flags on Mac (or the 'hidden' flags on Linux) to all the global symbols in '.asm' files to prevent making them external ones. * Supported motion-JPEG frames that do not have DHT markers. +* Removed .func / .endfunc lines from arm assembly + ( https://sourceforge.net/p/libjpeg-turbo/bugs/72/ ). The 'google.patch' file represents our changes from the original libjpeg-turbo-1.2. diff --git a/google.patch b/google.patch index 8a9179d..ceeb2dd 100644 --- a/google.patch +++ b/google.patch @@ -1235,6 +1235,102 @@ Index: simd/jcsammmx.asm EXTN(jsimd_h2v2_downsample_mmx): push ebp +Index: simd/jsimd_arm_neon.S +=================================================================== +--- simd/jsimd_arm_neon.S (revision 272637) ++++ simd/jsimd_arm_neon.S (working copy) +@@ -41,11 +41,9 @@ + /* Supplementary macro for setting function attributes */ + .macro asm_function fname + #ifdef __APPLE__ +- .func _\fname + .globl _\fname + _\fname: + #else +- .func \fname + .global \fname + #ifdef __ELF__ + .hidden \fname +@@ -670,7 +668,6 @@ + .unreq ROW6R + .unreq ROW7L + .unreq ROW7R +-.endfunc + + + /*****************************************************************************/ +@@ -895,7 +892,6 @@ + .unreq TMP2 + .unreq TMP3 + .unreq TMP4 +-.endfunc + + + /*****************************************************************************/ +@@ -1108,7 +1104,6 @@ + .unreq TMP2 + .unreq TMP3 + .unreq TMP4 +-.endfunc + + .purgem idct_helper + +@@ -1263,7 +1258,6 @@ + .unreq OUTPUT_COL + .unreq TMP1 + .unreq TMP2 +-.endfunc + + .purgem idct_helper + +@@ -1547,7 +1541,6 @@ + .unreq U + .unreq V + .unreq N +-.endfunc + + .purgem do_yuv_to_rgb + .purgem do_yuv_to_rgb_stage1 +@@ -1858,7 +1851,6 @@ + .unreq U + .unreq V + .unreq N +-.endfunc + + .purgem do_rgb_to_yuv + .purgem do_rgb_to_yuv_stage1 +@@ -1940,7 +1932,6 @@ + .unreq TMP2 + .unreq TMP3 + .unreq TMP4 +-.endfunc + + + /*****************************************************************************/ +@@ -2064,7 +2055,6 @@ + + .unreq DATA + .unreq TMP +-.endfunc + + + /*****************************************************************************/ +@@ -2166,7 +2156,6 @@ + .unreq CORRECTION + .unreq SHIFT + .unreq LOOP_COUNT +-.endfunc + + + /*****************************************************************************/ +@@ -2401,7 +2390,6 @@ + .unreq WIDTH + .unreq TMP + +-.endfunc + + .purgem upsample16 + .purgem upsample32 Index: simd/jsimd_i386.c =================================================================== --- simd/jsimd_i386.c (revision 829) diff --git a/simd/jsimd_arm_neon.S b/simd/jsimd_arm_neon.S index ac6c860..44c61fd 100644 --- a/simd/jsimd_arm_neon.S +++ b/simd/jsimd_arm_neon.S @@ -41,11 +41,9 @@ /* Supplementary macro for setting function attributes */ .macro asm_function fname #ifdef __APPLE__ - .func _\fname .globl _\fname _\fname: #else - .func \fname .global \fname #ifdef __ELF__ .hidden \fname @@ -670,7 +668,6 @@ asm_function jsimd_idct_islow_neon .unreq ROW6R .unreq ROW7L .unreq ROW7R -.endfunc /*****************************************************************************/ @@ -895,7 +892,6 @@ asm_function jsimd_idct_ifast_neon .unreq TMP2 .unreq TMP3 .unreq TMP4 -.endfunc /*****************************************************************************/ @@ -1108,7 +1104,6 @@ asm_function jsimd_idct_4x4_neon .unreq TMP2 .unreq TMP3 .unreq TMP4 -.endfunc .purgem idct_helper @@ -1263,7 +1258,6 @@ asm_function jsimd_idct_2x2_neon .unreq OUTPUT_COL .unreq TMP1 .unreq TMP2 -.endfunc .purgem idct_helper @@ -1547,7 +1541,6 @@ asm_function jsimd_ycc_\colorid\()_convert_neon .unreq U .unreq V .unreq N -.endfunc .purgem do_yuv_to_rgb .purgem do_yuv_to_rgb_stage1 @@ -1858,7 +1851,6 @@ asm_function jsimd_\colorid\()_ycc_convert_neon .unreq U .unreq V .unreq N -.endfunc .purgem do_rgb_to_yuv .purgem do_rgb_to_yuv_stage1 @@ -1940,7 +1932,6 @@ asm_function jsimd_convsamp_neon .unreq TMP2 .unreq TMP3 .unreq TMP4 -.endfunc /*****************************************************************************/ @@ -2064,7 +2055,6 @@ asm_function jsimd_fdct_ifast_neon .unreq DATA .unreq TMP -.endfunc /*****************************************************************************/ @@ -2166,7 +2156,6 @@ asm_function jsimd_quantize_neon .unreq CORRECTION .unreq SHIFT .unreq LOOP_COUNT -.endfunc /*****************************************************************************/ @@ -2401,7 +2390,6 @@ asm_function jsimd_h2v1_fancy_upsample_neon .unreq WIDTH .unreq TMP -.endfunc .purgem upsample16 .purgem upsample32 -- cgit v1.2.3