Add PRIVATE flags to global symbols.
This change adds the 'private_extern' flags (on Mac) or the 'hidden' flags (on Linux) to the all global symbols in libjpeg-turbo as suggested in <http://codereview.chromium.org/6332003/>.

BUG=none
TEST=build Chromium on Mac without any changes to the 'framework.order' file.
Review URL: http://codereview.chromium.org/6246098

git-svn-id: http://src.chromium.org/svn/trunk/deps/third_party/libjpeg_turbo@73971 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
diff --git a/README.chromium b/README.chromium
index dcc6050..6910b66 100644
--- a/README.chromium
+++ b/README.chromium
@@ -14,5 +14,8 @@
 Same as our copy of libjpeg-6b, this libjpeg-turbo also added a new file
 jpeglibmangler.h and included it from jpeglib.h that changes the names of all
 externally visible functions to chromium_* so that we can avoid conflicts that
-arise when system libraries attempt to use our libjpeg. The 'google.patch' file
-represents our changes from the original libjpeg-turbo-1.0.1.
+arise when system libraries attempt to use our libjpeg. Also, We 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.
+The 'google.patch' file represents our changes from the original
+libjpeg-turbo-1.0.1.
diff --git a/google.patch b/google.patch
index 4600a11..38f752a 100644
--- a/google.patch
+++ b/google.patch
@@ -160,3 +160,1174 @@
 +#define jpeg_mem_term chromium_jpeg_mem_term
 +
 +#endif  // THIRD_PARTY_LIBJPEG_TURBO_JPEGLIBMANGLER_H_
+Index: simd/jimmxfst.asm
+===================================================================
+--- simd/jimmxfst.asm	(revision 73737)
++++ simd/jimmxfst.asm	(working copy)
+@@ -59,7 +59,7 @@
+ %define CONST_SHIFT     (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS)
+ 
+ 	alignz	16
+-	global	EXTN(jconst_idct_ifast_mmx)
++	global	EXTN(jconst_idct_ifast_mmx) PRIVATE
+ 
+ EXTN(jconst_idct_ifast_mmx):
+ 
+@@ -94,7 +94,7 @@
+ 					; JCOEF workspace[DCTSIZE2]
+ 
+ 	align	16
+-	global	EXTN(jsimd_idct_ifast_mmx)
++	global	EXTN(jsimd_idct_ifast_mmx) PRIVATE
+ 
+ EXTN(jsimd_idct_ifast_mmx):
+ 	push	ebp
+Index: simd/jcqntmmx.asm
+===================================================================
+--- simd/jcqntmmx.asm	(revision 73737)
++++ simd/jcqntmmx.asm	(working copy)
+@@ -35,7 +35,7 @@
+ %define workspace	ebp+16		; DCTELEM * workspace
+ 
+ 	align	16
+-	global	EXTN(jsimd_convsamp_mmx)
++	global	EXTN(jsimd_convsamp_mmx) PRIVATE
+ 
+ EXTN(jsimd_convsamp_mmx):
+ 	push	ebp
+@@ -140,7 +140,7 @@
+ %define workspace	ebp+16		; DCTELEM * workspace
+ 
+ 	align	16
+-	global	EXTN(jsimd_quantize_mmx)
++	global	EXTN(jsimd_quantize_mmx) PRIVATE
+ 
+ EXTN(jsimd_quantize_mmx):
+ 	push	ebp
+Index: simd/jfss2fst.asm
+===================================================================
+--- simd/jfss2fst.asm	(revision 73737)
++++ simd/jfss2fst.asm	(working copy)
+@@ -52,7 +52,7 @@
+ %define CONST_SHIFT     (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS)
+ 
+ 	alignz	16
+-	global	EXTN(jconst_fdct_ifast_sse2)
++	global	EXTN(jconst_fdct_ifast_sse2) PRIVATE
+ 
+ EXTN(jconst_fdct_ifast_sse2):
+ 
+@@ -80,7 +80,7 @@
+ %define WK_NUM		2
+ 
+ 	align	16
+-	global	EXTN(jsimd_fdct_ifast_sse2)
++	global	EXTN(jsimd_fdct_ifast_sse2) PRIVATE
+ 
+ EXTN(jsimd_fdct_ifast_sse2):
+ 	push	ebp
+Index: simd/jiss2fst.asm
+===================================================================
+--- simd/jiss2fst.asm	(revision 73737)
++++ simd/jiss2fst.asm	(working copy)
+@@ -59,7 +59,7 @@
+ %define CONST_SHIFT     (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS)
+ 
+ 	alignz	16
+-	global	EXTN(jconst_idct_ifast_sse2)
++	global	EXTN(jconst_idct_ifast_sse2) PRIVATE
+ 
+ EXTN(jconst_idct_ifast_sse2):
+ 
+@@ -92,7 +92,7 @@
+ %define WK_NUM		2
+ 
+ 	align	16
+-	global	EXTN(jsimd_idct_ifast_sse2)
++	global	EXTN(jsimd_idct_ifast_sse2) PRIVATE
+ 
+ EXTN(jsimd_idct_ifast_sse2):
+ 	push	ebp
+Index: simd/jf3dnflt.asm
+===================================================================
+--- simd/jf3dnflt.asm	(revision 73737)
++++ simd/jf3dnflt.asm	(working copy)
+@@ -27,7 +27,7 @@
+ 	SECTION	SEG_CONST
+ 
+ 	alignz	16
+-	global	EXTN(jconst_fdct_float_3dnow)
++	global	EXTN(jconst_fdct_float_3dnow) PRIVATE
+ 
+ EXTN(jconst_fdct_float_3dnow):
+ 
+@@ -55,7 +55,7 @@
+ %define WK_NUM		2
+ 
+ 	align	16
+-	global	EXTN(jsimd_fdct_float_3dnow)
++	global	EXTN(jsimd_fdct_float_3dnow) PRIVATE
+ 
+ EXTN(jsimd_fdct_float_3dnow):
+ 	push	ebp
+Index: simd/jdcolss2-64.asm
+===================================================================
+--- simd/jdcolss2-64.asm	(revision 73737)
++++ simd/jdcolss2-64.asm	(working copy)
+@@ -35,7 +35,7 @@
+ 	SECTION	SEG_CONST
+ 
+ 	alignz	16
+-	global	EXTN(jconst_ycc_rgb_convert_sse2)
++	global	EXTN(jconst_ycc_rgb_convert_sse2) PRIVATE
+ 
+ EXTN(jconst_ycc_rgb_convert_sse2):
+ 
+Index: simd/jcclrss2-64.asm
+===================================================================
+--- simd/jcclrss2-64.asm	(revision 73737)
++++ simd/jcclrss2-64.asm	(working copy)
+@@ -39,7 +39,7 @@
+ 
+ 	align	16
+ 
+-	global	EXTN(jsimd_rgb_ycc_convert_sse2)
++	global	EXTN(jsimd_rgb_ycc_convert_sse2) PRIVATE
+ 
+ EXTN(jsimd_rgb_ycc_convert_sse2):
+ 	push	rbp
+Index: simd/jiss2red-64.asm
+===================================================================
+--- simd/jiss2red-64.asm	(revision 73737)
++++ simd/jiss2red-64.asm	(working copy)
+@@ -73,7 +73,7 @@
+ 	SECTION	SEG_CONST
+ 
+ 	alignz	16
+-	global	EXTN(jconst_idct_red_sse2)
++	global	EXTN(jconst_idct_red_sse2) PRIVATE
+ 
+ EXTN(jconst_idct_red_sse2):
+ 
+@@ -114,7 +114,7 @@
+ %define WK_NUM		2
+ 
+ 	align	16
+-	global	EXTN(jsimd_idct_4x4_sse2)
++	global	EXTN(jsimd_idct_4x4_sse2) PRIVATE
+ 
+ EXTN(jsimd_idct_4x4_sse2):
+ 	push	rbp
+@@ -413,7 +413,7 @@
+ ; r13 = JDIMENSION output_col
+ 
+ 	align	16
+-	global	EXTN(jsimd_idct_2x2_sse2)
++	global	EXTN(jsimd_idct_2x2_sse2) PRIVATE
+ 
+ EXTN(jsimd_idct_2x2_sse2):
+ 	push	rbp
+Index: simd/ji3dnflt.asm
+===================================================================
+--- simd/ji3dnflt.asm	(revision 73737)
++++ simd/ji3dnflt.asm	(working copy)
+@@ -27,7 +27,7 @@
+ 	SECTION	SEG_CONST
+ 
+ 	alignz	16
+-	global	EXTN(jconst_idct_float_3dnow)
++	global	EXTN(jconst_idct_float_3dnow) PRIVATE
+ 
+ EXTN(jconst_idct_float_3dnow):
+ 
+@@ -63,7 +63,7 @@
+ 					; FAST_FLOAT workspace[DCTSIZE2]
+ 
+ 	align	16
+-	global	EXTN(jsimd_idct_float_3dnow)
++	global	EXTN(jsimd_idct_float_3dnow) PRIVATE
+ 
+ EXTN(jsimd_idct_float_3dnow):
+ 	push	ebp
+Index: simd/jdsamss2-64.asm
+===================================================================
+--- simd/jdsamss2-64.asm	(revision 73737)
++++ simd/jdsamss2-64.asm	(working copy)
+@@ -23,7 +23,7 @@
+ 	SECTION	SEG_CONST
+ 
+ 	alignz	16
+-	global	EXTN(jconst_fancy_upsample_sse2)
++	global	EXTN(jconst_fancy_upsample_sse2) PRIVATE
+ 
+ EXTN(jconst_fancy_upsample_sse2):
+ 
+@@ -59,7 +59,7 @@
+ ; r13 = JSAMPARRAY * output_data_ptr
+ 
+ 	align	16
+-	global	EXTN(jsimd_h2v1_fancy_upsample_sse2)
++	global	EXTN(jsimd_h2v1_fancy_upsample_sse2) PRIVATE
+ 
+ EXTN(jsimd_h2v1_fancy_upsample_sse2):
+ 	push	rbp
+@@ -201,7 +201,7 @@
+ %define WK_NUM		4
+ 
+ 	align	16
+-	global	EXTN(jsimd_h2v2_fancy_upsample_sse2)
++	global	EXTN(jsimd_h2v2_fancy_upsample_sse2) PRIVATE
+ 
+ EXTN(jsimd_h2v2_fancy_upsample_sse2):
+ 	push	rbp
+@@ -498,7 +498,7 @@
+ ; r13 = JSAMPARRAY * output_data_ptr
+ 
+ 	align	16
+-	global	EXTN(jsimd_h2v1_upsample_sse2)
++	global	EXTN(jsimd_h2v1_upsample_sse2) PRIVATE
+ 
+ EXTN(jsimd_h2v1_upsample_sse2):
+ 	push	rbp
+@@ -587,7 +587,7 @@
+ ; r13 = JSAMPARRAY * output_data_ptr
+ 
+ 	align	16
+-	global	EXTN(jsimd_h2v2_upsample_sse2)
++	global	EXTN(jsimd_h2v2_upsample_sse2) PRIVATE
+ 
+ EXTN(jsimd_h2v2_upsample_sse2):
+ 	push	rbp
+Index: simd/jsimdcpu.asm
+===================================================================
+--- simd/jsimdcpu.asm	(revision 73737)
++++ simd/jsimdcpu.asm	(working copy)
+@@ -29,7 +29,7 @@
+ ;
+ 
+ 	align	16
+-	global	EXTN(jpeg_simd_cpu_support)
++	global	EXTN(jpeg_simd_cpu_support) PRIVATE
+ 
+ EXTN(jpeg_simd_cpu_support):
+ 	push	ebx
+Index: simd/jcsammmx.asm
+===================================================================
+--- simd/jcsammmx.asm	(revision 73737)
++++ simd/jcsammmx.asm	(working copy)
+@@ -40,7 +40,7 @@
+ %define output_data(b)	(b)+28	; JSAMPARRAY output_data
+ 
+ 	align	16
+-	global	EXTN(jsimd_h2v1_downsample_mmx)
++	global	EXTN(jsimd_h2v1_downsample_mmx) PRIVATE
+ 
+ EXTN(jsimd_h2v1_downsample_mmx):
+ 	push	ebp
+@@ -182,7 +182,7 @@
+ %define output_data(b)	(b)+28	; JSAMPARRAY output_data
+ 
+ 	align	16
+-	global	EXTN(jsimd_h2v2_downsample_mmx)
++	global	EXTN(jsimd_h2v2_downsample_mmx) PRIVATE
+ 
+ EXTN(jsimd_h2v2_downsample_mmx):
+ 	push	ebp
+Index: simd/jdsammmx.asm
+===================================================================
+--- simd/jdsammmx.asm	(revision 73737)
++++ simd/jdsammmx.asm	(working copy)
+@@ -22,7 +22,7 @@
+ 	SECTION	SEG_CONST
+ 
+ 	alignz	16
+-	global	EXTN(jconst_fancy_upsample_mmx)
++	global	EXTN(jconst_fancy_upsample_mmx) PRIVATE
+ 
+ EXTN(jconst_fancy_upsample_mmx):
+ 
+@@ -58,7 +58,7 @@
+ %define output_data_ptr(b)	(b)+20		; JSAMPARRAY * output_data_ptr
+ 
+ 	align	16
+-	global	EXTN(jsimd_h2v1_fancy_upsample_mmx)
++	global	EXTN(jsimd_h2v1_fancy_upsample_mmx) PRIVATE
+ 
+ EXTN(jsimd_h2v1_fancy_upsample_mmx):
+ 	push	ebp
+@@ -216,7 +216,7 @@
+ %define gotptr		wk(0)-SIZEOF_POINTER	; void * gotptr
+ 
+ 	align	16
+-	global	EXTN(jsimd_h2v2_fancy_upsample_mmx)
++	global	EXTN(jsimd_h2v2_fancy_upsample_mmx) PRIVATE
+ 
+ EXTN(jsimd_h2v2_fancy_upsample_mmx):
+ 	push	ebp
+@@ -542,7 +542,7 @@
+ %define output_data_ptr(b)	(b)+20		; JSAMPARRAY * output_data_ptr
+ 
+ 	align	16
+-	global	EXTN(jsimd_h2v1_upsample_mmx)
++	global	EXTN(jsimd_h2v1_upsample_mmx) PRIVATE
+ 
+ EXTN(jsimd_h2v1_upsample_mmx):
+ 	push	ebp
+@@ -643,7 +643,7 @@
+ %define output_data_ptr(b)	(b)+20		; JSAMPARRAY * output_data_ptr
+ 
+ 	align	16
+-	global	EXTN(jsimd_h2v2_upsample_mmx)
++	global	EXTN(jsimd_h2v2_upsample_mmx) PRIVATE
+ 
+ EXTN(jsimd_h2v2_upsample_mmx):
+ 	push	ebp
+Index: simd/jdmerss2-64.asm
+===================================================================
+--- simd/jdmerss2-64.asm	(revision 73737)
++++ simd/jdmerss2-64.asm	(working copy)
+@@ -35,7 +35,7 @@
+ 	SECTION	SEG_CONST
+ 
+ 	alignz	16
+-	global	EXTN(jconst_merged_upsample_sse2)
++	global	EXTN(jconst_merged_upsample_sse2) PRIVATE
+ 
+ EXTN(jconst_merged_upsample_sse2):
+ 
+Index: simd/jcqnts2f-64.asm
+===================================================================
+--- simd/jcqnts2f-64.asm	(revision 73737)
++++ simd/jcqnts2f-64.asm	(working copy)
+@@ -36,7 +36,7 @@
+ ; r12 = FAST_FLOAT * workspace
+ 
+ 	align	16
+-	global	EXTN(jsimd_convsamp_float_sse2)
++	global	EXTN(jsimd_convsamp_float_sse2) PRIVATE
+ 
+ EXTN(jsimd_convsamp_float_sse2):
+ 	push	rbp
+@@ -110,7 +110,7 @@
+ ; r12 = FAST_FLOAT * workspace
+ 
+ 	align	16
+-	global	EXTN(jsimd_quantize_float_sse2)
++	global	EXTN(jsimd_quantize_float_sse2) PRIVATE
+ 
+ EXTN(jsimd_quantize_float_sse2):
+ 	push	rbp
+Index: simd/jcqnt3dn.asm
+===================================================================
+--- simd/jcqnt3dn.asm	(revision 73737)
++++ simd/jcqnt3dn.asm	(working copy)
+@@ -35,7 +35,7 @@
+ %define workspace	ebp+16		; FAST_FLOAT * workspace
+ 
+ 	align	16
+-	global	EXTN(jsimd_convsamp_float_3dnow)
++	global	EXTN(jsimd_convsamp_float_3dnow) PRIVATE
+ 
+ EXTN(jsimd_convsamp_float_3dnow):
+ 	push	ebp
+@@ -138,7 +138,7 @@
+ %define workspace	ebp+16		; FAST_FLOAT * workspace
+ 
+ 	align	16
+-	global	EXTN(jsimd_quantize_float_3dnow)
++	global	EXTN(jsimd_quantize_float_3dnow) PRIVATE
+ 
+ EXTN(jsimd_quantize_float_3dnow):
+ 	push	ebp
+Index: simd/jcsamss2.asm
+===================================================================
+--- simd/jcsamss2.asm	(revision 73737)
++++ simd/jcsamss2.asm	(working copy)
+@@ -40,7 +40,7 @@
+ %define output_data(b)	(b)+28		; JSAMPARRAY output_data
+ 
+ 	align	16
+-	global	EXTN(jsimd_h2v1_downsample_sse2)
++	global	EXTN(jsimd_h2v1_downsample_sse2) PRIVATE
+ 
+ EXTN(jsimd_h2v1_downsample_sse2):
+ 	push	ebp
+@@ -195,7 +195,7 @@
+ %define output_data(b)	(b)+28	; JSAMPARRAY output_data
+ 
+ 	align	16
+-	global	EXTN(jsimd_h2v2_downsample_sse2)
++	global	EXTN(jsimd_h2v2_downsample_sse2) PRIVATE
+ 
+ EXTN(jsimd_h2v2_downsample_sse2):
+ 	push	ebp
+Index: simd/jdmrgmmx.asm
+===================================================================
+--- simd/jdmrgmmx.asm	(revision 73737)
++++ simd/jdmrgmmx.asm	(working copy)
+@@ -42,7 +42,7 @@
+ %define gotptr		wk(0)-SIZEOF_POINTER	; void * gotptr
+ 
+ 	align	16
+-	global	EXTN(jsimd_h2v1_merged_upsample_mmx)
++	global	EXTN(jsimd_h2v1_merged_upsample_mmx) PRIVATE
+ 
+ EXTN(jsimd_h2v1_merged_upsample_mmx):
+ 	push	ebp
+@@ -411,7 +411,7 @@
+ %define output_buf(b)		(b)+20		; JSAMPARRAY output_buf
+ 
+ 	align	16
+-	global	EXTN(jsimd_h2v2_merged_upsample_mmx)
++	global	EXTN(jsimd_h2v2_merged_upsample_mmx) PRIVATE
+ 
+ EXTN(jsimd_h2v2_merged_upsample_mmx):
+ 	push	ebp
+Index: simd/jdsamss2.asm
+===================================================================
+--- simd/jdsamss2.asm	(revision 73737)
++++ simd/jdsamss2.asm	(working copy)
+@@ -22,7 +22,7 @@
+ 	SECTION	SEG_CONST
+ 
+ 	alignz	16
+-	global	EXTN(jconst_fancy_upsample_sse2)
++	global	EXTN(jconst_fancy_upsample_sse2) PRIVATE
+ 
+ EXTN(jconst_fancy_upsample_sse2):
+ 
+@@ -58,7 +58,7 @@
+ %define output_data_ptr(b)	(b)+20		; JSAMPARRAY * output_data_ptr
+ 
+ 	align	16
+-	global	EXTN(jsimd_h2v1_fancy_upsample_sse2)
++	global	EXTN(jsimd_h2v1_fancy_upsample_sse2) PRIVATE
+ 
+ EXTN(jsimd_h2v1_fancy_upsample_sse2):
+ 	push	ebp
+@@ -214,7 +214,7 @@
+ %define gotptr		wk(0)-SIZEOF_POINTER	; void * gotptr
+ 
+ 	align	16
+-	global	EXTN(jsimd_h2v2_fancy_upsample_sse2)
++	global	EXTN(jsimd_h2v2_fancy_upsample_sse2) PRIVATE
+ 
+ EXTN(jsimd_h2v2_fancy_upsample_sse2):
+ 	push	ebp
+@@ -538,7 +538,7 @@
+ %define output_data_ptr(b)	(b)+20		; JSAMPARRAY * output_data_ptr
+ 
+ 	align	16
+-	global	EXTN(jsimd_h2v1_upsample_sse2)
++	global	EXTN(jsimd_h2v1_upsample_sse2) PRIVATE
+ 
+ EXTN(jsimd_h2v1_upsample_sse2):
+ 	push	ebp
+@@ -637,7 +637,7 @@
+ %define output_data_ptr(b)	(b)+20		; JSAMPARRAY * output_data_ptr
+ 
+ 	align	16
+-	global	EXTN(jsimd_h2v2_upsample_sse2)
++	global	EXTN(jsimd_h2v2_upsample_sse2) PRIVATE
+ 
+ EXTN(jsimd_h2v2_upsample_sse2):
+ 	push	ebp
+Index: simd/jiss2flt-64.asm
+===================================================================
+--- simd/jiss2flt-64.asm	(revision 73737)
++++ simd/jiss2flt-64.asm	(working copy)
+@@ -38,7 +38,7 @@
+ 	SECTION	SEG_CONST
+ 
+ 	alignz	16
+-	global	EXTN(jconst_idct_float_sse2)
++	global	EXTN(jconst_idct_float_sse2) PRIVATE
+ 
+ EXTN(jconst_idct_float_sse2):
+ 
+@@ -74,7 +74,7 @@
+ 					; FAST_FLOAT workspace[DCTSIZE2]
+ 
+ 	align	16
+-	global	EXTN(jsimd_idct_float_sse2)
++	global	EXTN(jsimd_idct_float_sse2) PRIVATE
+ 
+ EXTN(jsimd_idct_float_sse2):
+ 	push	rbp
+Index: simd/jfss2int-64.asm
+===================================================================
+--- simd/jfss2int-64.asm	(revision 73737)
++++ simd/jfss2int-64.asm	(working copy)
+@@ -67,7 +67,7 @@
+ 	SECTION	SEG_CONST
+ 
+ 	alignz	16
+-	global	EXTN(jconst_fdct_islow_sse2)
++	global	EXTN(jconst_fdct_islow_sse2) PRIVATE
+ 
+ EXTN(jconst_fdct_islow_sse2):
+ 
+@@ -101,7 +101,7 @@
+ %define WK_NUM		6
+ 
+ 	align	16
+-	global	EXTN(jsimd_fdct_islow_sse2)
++	global	EXTN(jsimd_fdct_islow_sse2) PRIVATE
+ 
+ EXTN(jsimd_fdct_islow_sse2):
+ 	push	rbp
+Index: simd/jcqnts2f.asm
+===================================================================
+--- simd/jcqnts2f.asm	(revision 73737)
++++ simd/jcqnts2f.asm	(working copy)
+@@ -35,7 +35,7 @@
+ %define workspace	ebp+16		; FAST_FLOAT * workspace
+ 
+ 	align	16
+-	global	EXTN(jsimd_convsamp_float_sse2)
++	global	EXTN(jsimd_convsamp_float_sse2) PRIVATE
+ 
+ EXTN(jsimd_convsamp_float_sse2):
+ 	push	ebp
+@@ -115,7 +115,7 @@
+ %define workspace	ebp+16		; FAST_FLOAT * workspace
+ 
+ 	align	16
+-	global	EXTN(jsimd_quantize_float_sse2)
++	global	EXTN(jsimd_quantize_float_sse2) PRIVATE
+ 
+ EXTN(jsimd_quantize_float_sse2):
+ 	push	ebp
+Index: simd/jdmrgss2.asm
+===================================================================
+--- simd/jdmrgss2.asm	(revision 73737)
++++ simd/jdmrgss2.asm	(working copy)
+@@ -42,7 +42,7 @@
+ %define gotptr		wk(0)-SIZEOF_POINTER	; void * gotptr
+ 
+ 	align	16
+-	global	EXTN(jsimd_h2v1_merged_upsample_sse2)
++	global	EXTN(jsimd_h2v1_merged_upsample_sse2) PRIVATE
+ 
+ EXTN(jsimd_h2v1_merged_upsample_sse2):
+ 	push	ebp
+@@ -509,7 +509,7 @@
+ %define output_buf(b)		(b)+20		; JSAMPARRAY output_buf
+ 
+ 	align	16
+-	global	EXTN(jsimd_h2v2_merged_upsample_sse2)
++	global	EXTN(jsimd_h2v2_merged_upsample_sse2) PRIVATE
+ 
+ EXTN(jsimd_h2v2_merged_upsample_sse2):
+ 	push	ebp
+Index: simd/jfmmxint.asm
+===================================================================
+--- simd/jfmmxint.asm	(revision 73737)
++++ simd/jfmmxint.asm	(working copy)
+@@ -66,7 +66,7 @@
+ 	SECTION	SEG_CONST
+ 
+ 	alignz	16
+-	global	EXTN(jconst_fdct_islow_mmx)
++	global	EXTN(jconst_fdct_islow_mmx) PRIVATE
+ 
+ EXTN(jconst_fdct_islow_mmx):
+ 
+@@ -101,7 +101,7 @@
+ %define WK_NUM		2
+ 
+ 	align	16
+-	global	EXTN(jsimd_fdct_islow_mmx)
++	global	EXTN(jsimd_fdct_islow_mmx) PRIVATE
+ 
+ EXTN(jsimd_fdct_islow_mmx):
+ 	push	ebp
+Index: simd/jcqnts2i.asm
+===================================================================
+--- simd/jcqnts2i.asm	(revision 73737)
++++ simd/jcqnts2i.asm	(working copy)
+@@ -35,7 +35,7 @@
+ %define workspace	ebp+16		; DCTELEM * workspace
+ 
+ 	align	16
+-	global	EXTN(jsimd_convsamp_sse2)
++	global	EXTN(jsimd_convsamp_sse2) PRIVATE
+ 
+ EXTN(jsimd_convsamp_sse2):
+ 	push	ebp
+@@ -117,7 +117,7 @@
+ %define workspace	ebp+16		; DCTELEM * workspace
+ 
+ 	align	16
+-	global	EXTN(jsimd_quantize_sse2)
++	global	EXTN(jsimd_quantize_sse2) PRIVATE
+ 
+ EXTN(jsimd_quantize_sse2):
+ 	push	ebp
+Index: simd/jiss2fst-64.asm
+===================================================================
+--- simd/jiss2fst-64.asm	(revision 73737)
++++ simd/jiss2fst-64.asm	(working copy)
+@@ -60,7 +60,7 @@
+ %define CONST_SHIFT     (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS)
+ 
+ 	alignz	16
+-	global	EXTN(jconst_idct_ifast_sse2)
++	global	EXTN(jconst_idct_ifast_sse2) PRIVATE
+ 
+ EXTN(jconst_idct_ifast_sse2):
+ 
+@@ -93,7 +93,7 @@
+ %define WK_NUM		2
+ 
+ 	align	16
+-	global	EXTN(jsimd_idct_ifast_sse2)
++	global	EXTN(jsimd_idct_ifast_sse2) PRIVATE
+ 
+ EXTN(jsimd_idct_ifast_sse2):
+ 	push	rbp
+Index: simd/jimmxint.asm
+===================================================================
+--- simd/jimmxint.asm	(revision 73737)
++++ simd/jimmxint.asm	(working copy)
+@@ -66,7 +66,7 @@
+ 	SECTION	SEG_CONST
+ 
+ 	alignz	16
+-	global	EXTN(jconst_idct_islow_mmx)
++	global	EXTN(jconst_idct_islow_mmx) PRIVATE
+ 
+ EXTN(jconst_idct_islow_mmx):
+ 
+@@ -107,7 +107,7 @@
+ 					; JCOEF workspace[DCTSIZE2]
+ 
+ 	align	16
+-	global	EXTN(jsimd_idct_islow_mmx)
++	global	EXTN(jsimd_idct_islow_mmx) PRIVATE
+ 
+ EXTN(jsimd_idct_islow_mmx):
+ 	push	ebp
+Index: simd/jiss2flt.asm
+===================================================================
+--- simd/jiss2flt.asm	(revision 73737)
++++ simd/jiss2flt.asm	(working copy)
+@@ -37,7 +37,7 @@
+ 	SECTION	SEG_CONST
+ 
+ 	alignz	16
+-	global	EXTN(jconst_idct_float_sse2)
++	global	EXTN(jconst_idct_float_sse2) PRIVATE
+ 
+ EXTN(jconst_idct_float_sse2):
+ 
+@@ -73,7 +73,7 @@
+ 					; FAST_FLOAT workspace[DCTSIZE2]
+ 
+ 	align	16
+-	global	EXTN(jsimd_idct_float_sse2)
++	global	EXTN(jsimd_idct_float_sse2) PRIVATE
+ 
+ EXTN(jsimd_idct_float_sse2):
+ 	push	ebp
+Index: simd/jfss2int.asm
+===================================================================
+--- simd/jfss2int.asm	(revision 73737)
++++ simd/jfss2int.asm	(working copy)
+@@ -66,7 +66,7 @@
+ 	SECTION	SEG_CONST
+ 
+ 	alignz	16
+-	global	EXTN(jconst_fdct_islow_sse2)
++	global	EXTN(jconst_fdct_islow_sse2) PRIVATE
+ 
+ EXTN(jconst_fdct_islow_sse2):
+ 
+@@ -101,7 +101,7 @@
+ %define WK_NUM		6
+ 
+ 	align	16
+-	global	EXTN(jsimd_fdct_islow_sse2)
++	global	EXTN(jsimd_fdct_islow_sse2) PRIVATE
+ 
+ EXTN(jsimd_fdct_islow_sse2):
+ 	push	ebp
+Index: simd/jiss2int.asm
+===================================================================
+--- simd/jiss2int.asm	(revision 73737)
++++ simd/jiss2int.asm	(working copy)
+@@ -66,7 +66,7 @@
+ 	SECTION	SEG_CONST
+ 
+ 	alignz	16
+-	global	EXTN(jconst_idct_islow_sse2)
++	global	EXTN(jconst_idct_islow_sse2) PRIVATE
+ 
+ EXTN(jconst_idct_islow_sse2):
+ 
+@@ -105,7 +105,7 @@
+ %define WK_NUM		12
+ 
+ 	align	16
+-	global	EXTN(jsimd_idct_islow_sse2)
++	global	EXTN(jsimd_idct_islow_sse2) PRIVATE
+ 
+ EXTN(jsimd_idct_islow_sse2):
+ 	push	ebp
+Index: simd/jfsseflt-64.asm
+===================================================================
+--- simd/jfsseflt-64.asm	(revision 73737)
++++ simd/jfsseflt-64.asm	(working copy)
+@@ -38,7 +38,7 @@
+ 	SECTION	SEG_CONST
+ 
+ 	alignz	16
+-	global	EXTN(jconst_fdct_float_sse)
++	global	EXTN(jconst_fdct_float_sse) PRIVATE
+ 
+ EXTN(jconst_fdct_float_sse):
+ 
+@@ -65,7 +65,7 @@
+ %define WK_NUM		2
+ 
+ 	align	16
+-	global	EXTN(jsimd_fdct_float_sse)
++	global	EXTN(jsimd_fdct_float_sse) PRIVATE
+ 
+ EXTN(jsimd_fdct_float_sse):
+ 	push	rbp
+Index: simd/jccolss2-64.asm
+===================================================================
+--- simd/jccolss2-64.asm	(revision 73737)
++++ simd/jccolss2-64.asm	(working copy)
+@@ -34,7 +34,7 @@
+ 	SECTION	SEG_CONST
+ 
+ 	alignz	16
+-	global	EXTN(jconst_rgb_ycc_convert_sse2)
++	global	EXTN(jconst_rgb_ycc_convert_sse2) PRIVATE
+ 
+ EXTN(jconst_rgb_ycc_convert_sse2):
+ 
+Index: simd/jccolmmx.asm
+===================================================================
+--- simd/jccolmmx.asm	(revision 73737)
++++ simd/jccolmmx.asm	(working copy)
+@@ -37,7 +37,7 @@
+ 	SECTION	SEG_CONST
+ 
+ 	alignz	16
+-	global	EXTN(jconst_rgb_ycc_convert_mmx)
++	global	EXTN(jconst_rgb_ycc_convert_mmx) PRIVATE
+ 
+ EXTN(jconst_rgb_ycc_convert_mmx):
+ 
+Index: simd/jcsamss2-64.asm
+===================================================================
+--- simd/jcsamss2-64.asm	(revision 73737)
++++ simd/jcsamss2-64.asm	(working copy)
+@@ -41,7 +41,7 @@
+ ; r15 = JSAMPARRAY output_data
+ 
+ 	align	16
+-	global	EXTN(jsimd_h2v1_downsample_sse2)
++	global	EXTN(jsimd_h2v1_downsample_sse2) PRIVATE
+ 
+ EXTN(jsimd_h2v1_downsample_sse2):
+ 	push	rbp
+@@ -185,7 +185,7 @@
+ ; r15 = JSAMPARRAY output_data
+ 
+ 	align	16
+-	global	EXTN(jsimd_h2v2_downsample_sse2)
++	global	EXTN(jsimd_h2v2_downsample_sse2) PRIVATE
+ 
+ EXTN(jsimd_h2v2_downsample_sse2):
+ 	push	rbp
+Index: simd/jdcolmmx.asm
+===================================================================
+--- simd/jdcolmmx.asm	(revision 73737)
++++ simd/jdcolmmx.asm	(working copy)
+@@ -35,7 +35,7 @@
+ 	SECTION	SEG_CONST
+ 
+ 	alignz	16
+-	global	EXTN(jconst_ycc_rgb_convert_mmx)
++	global	EXTN(jconst_ycc_rgb_convert_mmx) PRIVATE
+ 
+ EXTN(jconst_ycc_rgb_convert_mmx):
+ 
+Index: simd/jdclrss2-64.asm
+===================================================================
+--- simd/jdclrss2-64.asm	(revision 73737)
++++ simd/jdclrss2-64.asm	(working copy)
+@@ -41,7 +41,7 @@
+ %define WK_NUM		2
+ 
+ 	align	16
+-	global	EXTN(jsimd_ycc_rgb_convert_sse2)
++	global	EXTN(jsimd_ycc_rgb_convert_sse2) PRIVATE
+ 
+ EXTN(jsimd_ycc_rgb_convert_sse2):
+ 	push	rbp
+Index: simd/jimmxred.asm
+===================================================================
+--- simd/jimmxred.asm	(revision 73737)
++++ simd/jimmxred.asm	(working copy)
+@@ -72,7 +72,7 @@
+ 	SECTION	SEG_CONST
+ 
+ 	alignz	16
+-	global	EXTN(jconst_idct_red_mmx)
++	global	EXTN(jconst_idct_red_mmx) PRIVATE
+ 
+ EXTN(jconst_idct_red_mmx):
+ 
+@@ -115,7 +115,7 @@
+ 					; JCOEF workspace[DCTSIZE2]
+ 
+ 	align	16
+-	global	EXTN(jsimd_idct_4x4_mmx)
++	global	EXTN(jsimd_idct_4x4_mmx) PRIVATE
+ 
+ EXTN(jsimd_idct_4x4_mmx):
+ 	push	ebp
+@@ -503,7 +503,7 @@
+ %define output_col(b)	(b)+20		; JDIMENSION output_col
+ 
+ 	align	16
+-	global	EXTN(jsimd_idct_2x2_mmx)
++	global	EXTN(jsimd_idct_2x2_mmx) PRIVATE
+ 
+ EXTN(jsimd_idct_2x2_mmx):
+ 	push	ebp
+Index: simd/jcclrmmx.asm
+===================================================================
+--- simd/jcclrmmx.asm	(revision 73737)
++++ simd/jcclrmmx.asm	(working copy)
+@@ -42,7 +42,7 @@
+ %define gotptr		wk(0)-SIZEOF_POINTER	; void * gotptr
+ 
+ 	align	16
+-	global	EXTN(jsimd_rgb_ycc_convert_mmx)
++	global	EXTN(jsimd_rgb_ycc_convert_mmx) PRIVATE
+ 
+ EXTN(jsimd_rgb_ycc_convert_mmx):
+ 	push	ebp
+Index: simd/jdclrmmx.asm
+===================================================================
+--- simd/jdclrmmx.asm	(revision 73737)
++++ simd/jdclrmmx.asm	(working copy)
+@@ -42,7 +42,7 @@
+ %define gotptr		wk(0)-SIZEOF_POINTER	; void * gotptr
+ 
+ 	align	16
+-	global	EXTN(jsimd_ycc_rgb_convert_mmx)
++	global	EXTN(jsimd_ycc_rgb_convert_mmx) PRIVATE
+ 
+ EXTN(jsimd_ycc_rgb_convert_mmx):
+ 	push	ebp
+Index: simd/jfsseflt.asm
+===================================================================
+--- simd/jfsseflt.asm	(revision 73737)
++++ simd/jfsseflt.asm	(working copy)
+@@ -37,7 +37,7 @@
+ 	SECTION	SEG_CONST
+ 
+ 	alignz	16
+-	global	EXTN(jconst_fdct_float_sse)
++	global	EXTN(jconst_fdct_float_sse) PRIVATE
+ 
+ EXTN(jconst_fdct_float_sse):
+ 
+@@ -65,7 +65,7 @@
+ %define WK_NUM		2
+ 
+ 	align	16
+-	global	EXTN(jsimd_fdct_float_sse)
++	global	EXTN(jsimd_fdct_float_sse) PRIVATE
+ 
+ EXTN(jsimd_fdct_float_sse):
+ 	push	ebp
+Index: simd/jsimdext.inc
+===================================================================
+--- simd/jsimdext.inc	(revision 73737)
++++ simd/jsimdext.inc	(working copy)
+@@ -369,4 +369,14 @@
+ ;
+ %include "jsimdcfg.inc"
+ 
++; Begin chromium edits
++%ifdef MACHO ; ----(nasm -fmacho -DMACHO ...)--------
++%define PRIVATE :private_extern
++%elifdef ELF ; ----(nasm -felf[64] -DELF ...)------------
++%define PRIVATE :hidden
++%else
++%define PRIVATE
++%endif
++; End chromium edits
++
+ ; --------------------------------------------------------------------------
+Index: simd/jdmrgss2-64.asm
+===================================================================
+--- simd/jdmrgss2-64.asm	(revision 73737)
++++ simd/jdmrgss2-64.asm	(working copy)
+@@ -41,7 +41,7 @@
+ %define WK_NUM		3
+ 
+ 	align	16
+-	global	EXTN(jsimd_h2v1_merged_upsample_sse2)
++	global	EXTN(jsimd_h2v1_merged_upsample_sse2) PRIVATE
+ 
+ EXTN(jsimd_h2v1_merged_upsample_sse2):
+ 	push	rbp
+@@ -492,7 +492,7 @@
+ ; r13 = JSAMPARRAY output_buf
+ 
+ 	align	16
+-	global	EXTN(jsimd_h2v2_merged_upsample_sse2)
++	global	EXTN(jsimd_h2v2_merged_upsample_sse2) PRIVATE
+ 
+ EXTN(jsimd_h2v2_merged_upsample_sse2):
+ 	push	rbp
+Index: simd/jccolss2.asm
+===================================================================
+--- simd/jccolss2.asm	(revision 73737)
++++ simd/jccolss2.asm	(working copy)
+@@ -34,7 +34,7 @@
+ 	SECTION	SEG_CONST
+ 
+ 	alignz	16
+-	global	EXTN(jconst_rgb_ycc_convert_sse2)
++	global	EXTN(jconst_rgb_ycc_convert_sse2) PRIVATE
+ 
+ EXTN(jconst_rgb_ycc_convert_sse2):
+ 
+Index: simd/jdmermmx.asm
+===================================================================
+--- simd/jdmermmx.asm	(revision 73737)
++++ simd/jdmermmx.asm	(working copy)
+@@ -35,7 +35,7 @@
+ 	SECTION	SEG_CONST
+ 
+ 	alignz	16
+-	global	EXTN(jconst_merged_upsample_mmx)
++	global	EXTN(jconst_merged_upsample_mmx) PRIVATE
+ 
+ EXTN(jconst_merged_upsample_mmx):
+ 
+Index: simd/jdcolss2.asm
+===================================================================
+--- simd/jdcolss2.asm	(revision 73737)
++++ simd/jdcolss2.asm	(working copy)
+@@ -35,7 +35,7 @@
+ 	SECTION	SEG_CONST
+ 
+ 	alignz	16
+-	global	EXTN(jconst_ycc_rgb_convert_sse2)
++	global	EXTN(jconst_ycc_rgb_convert_sse2) PRIVATE
+ 
+ EXTN(jconst_ycc_rgb_convert_sse2):
+ 
+Index: simd/jisseflt.asm
+===================================================================
+--- simd/jisseflt.asm	(revision 73737)
++++ simd/jisseflt.asm	(working copy)
+@@ -37,7 +37,7 @@
+ 	SECTION	SEG_CONST
+ 
+ 	alignz	16
+-	global	EXTN(jconst_idct_float_sse)
++	global	EXTN(jconst_idct_float_sse) PRIVATE
+ 
+ EXTN(jconst_idct_float_sse):
+ 
+@@ -73,7 +73,7 @@
+ 					; FAST_FLOAT workspace[DCTSIZE2]
+ 
+ 	align	16
+-	global	EXTN(jsimd_idct_float_sse)
++	global	EXTN(jsimd_idct_float_sse) PRIVATE
+ 
+ EXTN(jsimd_idct_float_sse):
+ 	push	ebp
+Index: simd/jcqnts2i-64.asm
+===================================================================
+--- simd/jcqnts2i-64.asm	(revision 73737)
++++ simd/jcqnts2i-64.asm	(working copy)
+@@ -36,7 +36,7 @@
+ ; r12 = DCTELEM * workspace
+ 
+ 	align	16
+-	global	EXTN(jsimd_convsamp_sse2)
++	global	EXTN(jsimd_convsamp_sse2) PRIVATE
+ 
+ EXTN(jsimd_convsamp_sse2):
+ 	push	rbp
+@@ -112,7 +112,7 @@
+ ; r12 = DCTELEM * workspace
+ 
+ 	align	16
+-	global	EXTN(jsimd_quantize_sse2)
++	global	EXTN(jsimd_quantize_sse2) PRIVATE
+ 
+ EXTN(jsimd_quantize_sse2):
+ 	push	rbp
+Index: simd/jiss2red.asm
+===================================================================
+--- simd/jiss2red.asm	(revision 73737)
++++ simd/jiss2red.asm	(working copy)
+@@ -72,7 +72,7 @@
+ 	SECTION	SEG_CONST
+ 
+ 	alignz	16
+-	global	EXTN(jconst_idct_red_sse2)
++	global	EXTN(jconst_idct_red_sse2) PRIVATE
+ 
+ EXTN(jconst_idct_red_sse2):
+ 
+@@ -113,7 +113,7 @@
+ %define WK_NUM		2
+ 
+ 	align	16
+-	global	EXTN(jsimd_idct_4x4_sse2)
++	global	EXTN(jsimd_idct_4x4_sse2) PRIVATE
+ 
+ EXTN(jsimd_idct_4x4_sse2):
+ 	push	ebp
+@@ -424,7 +424,7 @@
+ %define output_col(b)	(b)+20		; JDIMENSION output_col
+ 
+ 	align	16
+-	global	EXTN(jsimd_idct_2x2_sse2)
++	global	EXTN(jsimd_idct_2x2_sse2) PRIVATE
+ 
+ EXTN(jsimd_idct_2x2_sse2):
+ 	push	ebp
+Index: simd/jcclrss2.asm
+===================================================================
+--- simd/jcclrss2.asm	(revision 73737)
++++ simd/jcclrss2.asm	(working copy)
+@@ -40,7 +40,7 @@
+ 
+ 	align	16
+ 
+-	global	EXTN(jsimd_rgb_ycc_convert_sse2)
++	global	EXTN(jsimd_rgb_ycc_convert_sse2) PRIVATE
+ 
+ EXTN(jsimd_rgb_ycc_convert_sse2):
+ 	push	ebp
+Index: simd/jdclrss2.asm
+===================================================================
+--- simd/jdclrss2.asm	(revision 73737)
++++ simd/jdclrss2.asm	(working copy)
+@@ -42,7 +42,7 @@
+ %define gotptr		wk(0)-SIZEOF_POINTER	; void * gotptr
+ 
+ 	align	16
+-	global	EXTN(jsimd_ycc_rgb_convert_sse2)
++	global	EXTN(jsimd_ycc_rgb_convert_sse2) PRIVATE
+ 
+ EXTN(jsimd_ycc_rgb_convert_sse2):
+ 	push	ebp
+Index: simd/jdmerss2.asm
+===================================================================
+--- simd/jdmerss2.asm	(revision 73737)
++++ simd/jdmerss2.asm	(working copy)
+@@ -35,7 +35,7 @@
+ 	SECTION	SEG_CONST
+ 
+ 	alignz	16
+-	global	EXTN(jconst_merged_upsample_sse2)
++	global	EXTN(jconst_merged_upsample_sse2) PRIVATE
+ 
+ EXTN(jconst_merged_upsample_sse2):
+ 
+Index: simd/jcqntsse.asm
+===================================================================
+--- simd/jcqntsse.asm	(revision 73737)
++++ simd/jcqntsse.asm	(working copy)
+@@ -35,7 +35,7 @@
+ %define workspace	ebp+16		; FAST_FLOAT * workspace
+ 
+ 	align	16
+-	global	EXTN(jsimd_convsamp_float_sse)
++	global	EXTN(jsimd_convsamp_float_sse) PRIVATE
+ 
+ EXTN(jsimd_convsamp_float_sse):
+ 	push	ebp
+@@ -138,7 +138,7 @@
+ %define workspace	ebp+16		; FAST_FLOAT * workspace
+ 
+ 	align	16
+-	global	EXTN(jsimd_quantize_float_sse)
++	global	EXTN(jsimd_quantize_float_sse) PRIVATE
+ 
+ EXTN(jsimd_quantize_float_sse):
+ 	push	ebp
+Index: simd/jfss2fst-64.asm
+===================================================================
+--- simd/jfss2fst-64.asm	(revision 73737)
++++ simd/jfss2fst-64.asm	(working copy)
+@@ -53,7 +53,7 @@
+ %define CONST_SHIFT     (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS)
+ 
+ 	alignz	16
+-	global	EXTN(jconst_fdct_ifast_sse2)
++	global	EXTN(jconst_fdct_ifast_sse2) PRIVATE
+ 
+ EXTN(jconst_fdct_ifast_sse2):
+ 
+@@ -80,7 +80,7 @@
+ %define WK_NUM		2
+ 
+ 	align	16
+-	global	EXTN(jsimd_fdct_ifast_sse2)
++	global	EXTN(jsimd_fdct_ifast_sse2) PRIVATE
+ 
+ EXTN(jsimd_fdct_ifast_sse2):
+ 	push	rbp
+Index: simd/jiss2int-64.asm
+===================================================================
+--- simd/jiss2int-64.asm	(revision 73737)
++++ simd/jiss2int-64.asm	(working copy)
+@@ -67,7 +67,7 @@
+ 	SECTION	SEG_CONST
+ 
+ 	alignz	16
+-	global	EXTN(jconst_idct_islow_sse2)
++	global	EXTN(jconst_idct_islow_sse2) PRIVATE
+ 
+ EXTN(jconst_idct_islow_sse2):
+ 
+@@ -106,7 +106,7 @@
+ %define WK_NUM		12
+ 
+ 	align	16
+-	global	EXTN(jsimd_idct_islow_sse2)
++	global	EXTN(jsimd_idct_islow_sse2) PRIVATE
+ 
+ EXTN(jsimd_idct_islow_sse2):
+ 	push	rbp
+Index: simd/jfmmxfst.asm
+===================================================================
+--- simd/jfmmxfst.asm	(revision 73737)
++++ simd/jfmmxfst.asm	(working copy)
+@@ -52,7 +52,7 @@
+ %define CONST_SHIFT     (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS)
+ 
+ 	alignz	16
+-	global	EXTN(jconst_fdct_ifast_mmx)
++	global	EXTN(jconst_fdct_ifast_mmx) PRIVATE
+ 
+ EXTN(jconst_fdct_ifast_mmx):
+ 
+@@ -80,7 +80,7 @@
+ %define WK_NUM		2
+ 
+ 	align	16
+-	global	EXTN(jsimd_fdct_ifast_mmx)
++	global	EXTN(jsimd_fdct_ifast_mmx) PRIVATE
+ 
+ EXTN(jsimd_fdct_ifast_mmx):
+ 	push	ebp
diff --git a/simd/jcclrmmx.asm b/simd/jcclrmmx.asm
index b6b8912..d15b057 100644
--- a/simd/jcclrmmx.asm
+++ b/simd/jcclrmmx.asm
@@ -42,7 +42,7 @@
 %define gotptr		wk(0)-SIZEOF_POINTER	; void * gotptr
 
 	align	16
-	global	EXTN(jsimd_rgb_ycc_convert_mmx)
+	global	EXTN(jsimd_rgb_ycc_convert_mmx) PRIVATE
 
 EXTN(jsimd_rgb_ycc_convert_mmx):
 	push	ebp
diff --git a/simd/jcclrss2-64.asm b/simd/jcclrss2-64.asm
index 8ca47aa..639c0e5 100644
--- a/simd/jcclrss2-64.asm
+++ b/simd/jcclrss2-64.asm
@@ -39,7 +39,7 @@
 
 	align	16
 
-	global	EXTN(jsimd_rgb_ycc_convert_sse2)
+	global	EXTN(jsimd_rgb_ycc_convert_sse2) PRIVATE
 
 EXTN(jsimd_rgb_ycc_convert_sse2):
 	push	rbp
diff --git a/simd/jcclrss2.asm b/simd/jcclrss2.asm
index 8def718..d202ac1 100644
--- a/simd/jcclrss2.asm
+++ b/simd/jcclrss2.asm
@@ -40,7 +40,7 @@
 
 	align	16
 
-	global	EXTN(jsimd_rgb_ycc_convert_sse2)
+	global	EXTN(jsimd_rgb_ycc_convert_sse2) PRIVATE
 
 EXTN(jsimd_rgb_ycc_convert_sse2):
 	push	ebp
diff --git a/simd/jccolmmx.asm b/simd/jccolmmx.asm
index 5e7f3be..fbd1b17 100644
--- a/simd/jccolmmx.asm
+++ b/simd/jccolmmx.asm
@@ -37,7 +37,7 @@
 	SECTION	SEG_CONST
 
 	alignz	16
-	global	EXTN(jconst_rgb_ycc_convert_mmx)
+	global	EXTN(jconst_rgb_ycc_convert_mmx) PRIVATE
 
 EXTN(jconst_rgb_ycc_convert_mmx):
 
diff --git a/simd/jccolss2-64.asm b/simd/jccolss2-64.asm
index 64ee0ba..d4367be 100644
--- a/simd/jccolss2-64.asm
+++ b/simd/jccolss2-64.asm
@@ -34,7 +34,7 @@
 	SECTION	SEG_CONST
 
 	alignz	16
-	global	EXTN(jconst_rgb_ycc_convert_sse2)
+	global	EXTN(jconst_rgb_ycc_convert_sse2) PRIVATE
 
 EXTN(jconst_rgb_ycc_convert_sse2):
 
diff --git a/simd/jccolss2.asm b/simd/jccolss2.asm
index 8d1f734..bbb2e2b 100644
--- a/simd/jccolss2.asm
+++ b/simd/jccolss2.asm
@@ -34,7 +34,7 @@
 	SECTION	SEG_CONST
 
 	alignz	16
-	global	EXTN(jconst_rgb_ycc_convert_sse2)
+	global	EXTN(jconst_rgb_ycc_convert_sse2) PRIVATE
 
 EXTN(jconst_rgb_ycc_convert_sse2):
 
diff --git a/simd/jcqnt3dn.asm b/simd/jcqnt3dn.asm
index 182c869..480777d 100644
--- a/simd/jcqnt3dn.asm
+++ b/simd/jcqnt3dn.asm
@@ -35,7 +35,7 @@
 %define workspace	ebp+16		; FAST_FLOAT * workspace
 
 	align	16
-	global	EXTN(jsimd_convsamp_float_3dnow)
+	global	EXTN(jsimd_convsamp_float_3dnow) PRIVATE
 
 EXTN(jsimd_convsamp_float_3dnow):
 	push	ebp
@@ -138,7 +138,7 @@
 %define workspace	ebp+16		; FAST_FLOAT * workspace
 
 	align	16
-	global	EXTN(jsimd_quantize_float_3dnow)
+	global	EXTN(jsimd_quantize_float_3dnow) PRIVATE
 
 EXTN(jsimd_quantize_float_3dnow):
 	push	ebp
diff --git a/simd/jcqntmmx.asm b/simd/jcqntmmx.asm
index 08b08b7..62e00b6 100644
--- a/simd/jcqntmmx.asm
+++ b/simd/jcqntmmx.asm
@@ -35,7 +35,7 @@
 %define workspace	ebp+16		; DCTELEM * workspace
 
 	align	16
-	global	EXTN(jsimd_convsamp_mmx)
+	global	EXTN(jsimd_convsamp_mmx) PRIVATE
 
 EXTN(jsimd_convsamp_mmx):
 	push	ebp
@@ -140,7 +140,7 @@
 %define workspace	ebp+16		; DCTELEM * workspace
 
 	align	16
-	global	EXTN(jsimd_quantize_mmx)
+	global	EXTN(jsimd_quantize_mmx) PRIVATE
 
 EXTN(jsimd_quantize_mmx):
 	push	ebp
diff --git a/simd/jcqnts2f-64.asm b/simd/jcqnts2f-64.asm
index d0efa1b..5ee98b3 100644
--- a/simd/jcqnts2f-64.asm
+++ b/simd/jcqnts2f-64.asm
@@ -36,7 +36,7 @@
 ; r12 = FAST_FLOAT * workspace
 
 	align	16
-	global	EXTN(jsimd_convsamp_float_sse2)
+	global	EXTN(jsimd_convsamp_float_sse2) PRIVATE
 
 EXTN(jsimd_convsamp_float_sse2):
 	push	rbp
@@ -110,7 +110,7 @@
 ; r12 = FAST_FLOAT * workspace
 
 	align	16
-	global	EXTN(jsimd_quantize_float_sse2)
+	global	EXTN(jsimd_quantize_float_sse2) PRIVATE
 
 EXTN(jsimd_quantize_float_sse2):
 	push	rbp
diff --git a/simd/jcqnts2f.asm b/simd/jcqnts2f.asm
index d80ae5d..e5f5793 100644
--- a/simd/jcqnts2f.asm
+++ b/simd/jcqnts2f.asm
@@ -35,7 +35,7 @@
 %define workspace	ebp+16		; FAST_FLOAT * workspace
 
 	align	16
-	global	EXTN(jsimd_convsamp_float_sse2)
+	global	EXTN(jsimd_convsamp_float_sse2) PRIVATE
 
 EXTN(jsimd_convsamp_float_sse2):
 	push	ebp
@@ -115,7 +115,7 @@
 %define workspace	ebp+16		; FAST_FLOAT * workspace
 
 	align	16
-	global	EXTN(jsimd_quantize_float_sse2)
+	global	EXTN(jsimd_quantize_float_sse2) PRIVATE
 
 EXTN(jsimd_quantize_float_sse2):
 	push	ebp
diff --git a/simd/jcqnts2i-64.asm b/simd/jcqnts2i-64.asm
index cc33d59..c3e3bff 100644
--- a/simd/jcqnts2i-64.asm
+++ b/simd/jcqnts2i-64.asm
@@ -36,7 +36,7 @@
 ; r12 = DCTELEM * workspace
 
 	align	16
-	global	EXTN(jsimd_convsamp_sse2)
+	global	EXTN(jsimd_convsamp_sse2) PRIVATE
 
 EXTN(jsimd_convsamp_sse2):
 	push	rbp
@@ -112,7 +112,7 @@
 ; r12 = DCTELEM * workspace
 
 	align	16
-	global	EXTN(jsimd_quantize_sse2)
+	global	EXTN(jsimd_quantize_sse2) PRIVATE
 
 EXTN(jsimd_quantize_sse2):
 	push	rbp
diff --git a/simd/jcqnts2i.asm b/simd/jcqnts2i.asm
index 0864d6e..412032b 100644
--- a/simd/jcqnts2i.asm
+++ b/simd/jcqnts2i.asm
@@ -35,7 +35,7 @@
 %define workspace	ebp+16		; DCTELEM * workspace
 
 	align	16
-	global	EXTN(jsimd_convsamp_sse2)
+	global	EXTN(jsimd_convsamp_sse2) PRIVATE
 
 EXTN(jsimd_convsamp_sse2):
 	push	ebp
@@ -117,7 +117,7 @@
 %define workspace	ebp+16		; DCTELEM * workspace
 
 	align	16
-	global	EXTN(jsimd_quantize_sse2)
+	global	EXTN(jsimd_quantize_sse2) PRIVATE
 
 EXTN(jsimd_quantize_sse2):
 	push	ebp
diff --git a/simd/jcqntsse.asm b/simd/jcqntsse.asm
index 3065eca..df7243e 100644
--- a/simd/jcqntsse.asm
+++ b/simd/jcqntsse.asm
@@ -35,7 +35,7 @@
 %define workspace	ebp+16		; FAST_FLOAT * workspace
 
 	align	16
-	global	EXTN(jsimd_convsamp_float_sse)
+	global	EXTN(jsimd_convsamp_float_sse) PRIVATE
 
 EXTN(jsimd_convsamp_float_sse):
 	push	ebp
@@ -138,7 +138,7 @@
 %define workspace	ebp+16		; FAST_FLOAT * workspace
 
 	align	16
-	global	EXTN(jsimd_quantize_float_sse)
+	global	EXTN(jsimd_quantize_float_sse) PRIVATE
 
 EXTN(jsimd_quantize_float_sse):
 	push	ebp
diff --git a/simd/jcsammmx.asm b/simd/jcsammmx.asm
index 9e43b2f..e5e2d23 100644
--- a/simd/jcsammmx.asm
+++ b/simd/jcsammmx.asm
@@ -40,7 +40,7 @@
 %define output_data(b)	(b)+28	; JSAMPARRAY output_data
 
 	align	16
-	global	EXTN(jsimd_h2v1_downsample_mmx)
+	global	EXTN(jsimd_h2v1_downsample_mmx) PRIVATE
 
 EXTN(jsimd_h2v1_downsample_mmx):
 	push	ebp
@@ -182,7 +182,7 @@
 %define output_data(b)	(b)+28	; JSAMPARRAY output_data
 
 	align	16
-	global	EXTN(jsimd_h2v2_downsample_mmx)
+	global	EXTN(jsimd_h2v2_downsample_mmx) PRIVATE
 
 EXTN(jsimd_h2v2_downsample_mmx):
 	push	ebp
diff --git a/simd/jcsamss2-64.asm b/simd/jcsamss2-64.asm
index 6a16dc5..e20084e 100644
--- a/simd/jcsamss2-64.asm
+++ b/simd/jcsamss2-64.asm
@@ -41,7 +41,7 @@
 ; r15 = JSAMPARRAY output_data
 
 	align	16
-	global	EXTN(jsimd_h2v1_downsample_sse2)
+	global	EXTN(jsimd_h2v1_downsample_sse2) PRIVATE
 
 EXTN(jsimd_h2v1_downsample_sse2):
 	push	rbp
@@ -185,7 +185,7 @@
 ; r15 = JSAMPARRAY output_data
 
 	align	16
-	global	EXTN(jsimd_h2v2_downsample_sse2)
+	global	EXTN(jsimd_h2v2_downsample_sse2) PRIVATE
 
 EXTN(jsimd_h2v2_downsample_sse2):
 	push	rbp
diff --git a/simd/jcsamss2.asm b/simd/jcsamss2.asm
index 818e911..feb979d 100644
--- a/simd/jcsamss2.asm
+++ b/simd/jcsamss2.asm
@@ -40,7 +40,7 @@
 %define output_data(b)	(b)+28		; JSAMPARRAY output_data
 
 	align	16
-	global	EXTN(jsimd_h2v1_downsample_sse2)
+	global	EXTN(jsimd_h2v1_downsample_sse2) PRIVATE
 
 EXTN(jsimd_h2v1_downsample_sse2):
 	push	ebp
@@ -195,7 +195,7 @@
 %define output_data(b)	(b)+28	; JSAMPARRAY output_data
 
 	align	16
-	global	EXTN(jsimd_h2v2_downsample_sse2)
+	global	EXTN(jsimd_h2v2_downsample_sse2) PRIVATE
 
 EXTN(jsimd_h2v2_downsample_sse2):
 	push	ebp
diff --git a/simd/jdclrmmx.asm b/simd/jdclrmmx.asm
index 79772e0..d9687c1 100644
--- a/simd/jdclrmmx.asm
+++ b/simd/jdclrmmx.asm
@@ -42,7 +42,7 @@
 %define gotptr		wk(0)-SIZEOF_POINTER	; void * gotptr
 
 	align	16
-	global	EXTN(jsimd_ycc_rgb_convert_mmx)
+	global	EXTN(jsimd_ycc_rgb_convert_mmx) PRIVATE
 
 EXTN(jsimd_ycc_rgb_convert_mmx):
 	push	ebp
diff --git a/simd/jdclrss2-64.asm b/simd/jdclrss2-64.asm
index 4282bd2..d35b50e 100644
--- a/simd/jdclrss2-64.asm
+++ b/simd/jdclrss2-64.asm
@@ -41,7 +41,7 @@
 %define WK_NUM		2
 
 	align	16
-	global	EXTN(jsimd_ycc_rgb_convert_sse2)
+	global	EXTN(jsimd_ycc_rgb_convert_sse2) PRIVATE
 
 EXTN(jsimd_ycc_rgb_convert_sse2):
 	push	rbp
diff --git a/simd/jdclrss2.asm b/simd/jdclrss2.asm
index 865fa82..7360d10 100644
--- a/simd/jdclrss2.asm
+++ b/simd/jdclrss2.asm
@@ -42,7 +42,7 @@
 %define gotptr		wk(0)-SIZEOF_POINTER	; void * gotptr
 
 	align	16
-	global	EXTN(jsimd_ycc_rgb_convert_sse2)
+	global	EXTN(jsimd_ycc_rgb_convert_sse2) PRIVATE
 
 EXTN(jsimd_ycc_rgb_convert_sse2):
 	push	ebp
diff --git a/simd/jdcolmmx.asm b/simd/jdcolmmx.asm
index 58775e8..294874c 100644
--- a/simd/jdcolmmx.asm
+++ b/simd/jdcolmmx.asm
@@ -35,7 +35,7 @@
 	SECTION	SEG_CONST
 
 	alignz	16
-	global	EXTN(jconst_ycc_rgb_convert_mmx)
+	global	EXTN(jconst_ycc_rgb_convert_mmx) PRIVATE
 
 EXTN(jconst_ycc_rgb_convert_mmx):
 
diff --git a/simd/jdcolss2-64.asm b/simd/jdcolss2-64.asm
index 2e97d59..949e300 100644
--- a/simd/jdcolss2-64.asm
+++ b/simd/jdcolss2-64.asm
@@ -35,7 +35,7 @@
 	SECTION	SEG_CONST
 
 	alignz	16
-	global	EXTN(jconst_ycc_rgb_convert_sse2)
+	global	EXTN(jconst_ycc_rgb_convert_sse2) PRIVATE
 
 EXTN(jconst_ycc_rgb_convert_sse2):
 
diff --git a/simd/jdcolss2.asm b/simd/jdcolss2.asm
index 7ae985d..032271b 100644
--- a/simd/jdcolss2.asm
+++ b/simd/jdcolss2.asm
@@ -35,7 +35,7 @@
 	SECTION	SEG_CONST
 
 	alignz	16
-	global	EXTN(jconst_ycc_rgb_convert_sse2)
+	global	EXTN(jconst_ycc_rgb_convert_sse2) PRIVATE
 
 EXTN(jconst_ycc_rgb_convert_sse2):
 
diff --git a/simd/jdmermmx.asm b/simd/jdmermmx.asm
index fd587fb..8185483 100644
--- a/simd/jdmermmx.asm
+++ b/simd/jdmermmx.asm
@@ -35,7 +35,7 @@
 	SECTION	SEG_CONST
 
 	alignz	16
-	global	EXTN(jconst_merged_upsample_mmx)
+	global	EXTN(jconst_merged_upsample_mmx) PRIVATE
 
 EXTN(jconst_merged_upsample_mmx):
 
diff --git a/simd/jdmerss2-64.asm b/simd/jdmerss2-64.asm
index 1f0b10f..0313c2b 100644
--- a/simd/jdmerss2-64.asm
+++ b/simd/jdmerss2-64.asm
@@ -35,7 +35,7 @@
 	SECTION	SEG_CONST
 
 	alignz	16
-	global	EXTN(jconst_merged_upsample_sse2)
+	global	EXTN(jconst_merged_upsample_sse2) PRIVATE
 
 EXTN(jconst_merged_upsample_sse2):
 
diff --git a/simd/jdmerss2.asm b/simd/jdmerss2.asm
index 2294e0d..a9d51c0 100644
--- a/simd/jdmerss2.asm
+++ b/simd/jdmerss2.asm
@@ -35,7 +35,7 @@
 	SECTION	SEG_CONST
 
 	alignz	16
-	global	EXTN(jconst_merged_upsample_sse2)
+	global	EXTN(jconst_merged_upsample_sse2) PRIVATE
 
 EXTN(jconst_merged_upsample_sse2):
 
diff --git a/simd/jdmrgmmx.asm b/simd/jdmrgmmx.asm
index b5777a3..0fac933 100644
--- a/simd/jdmrgmmx.asm
+++ b/simd/jdmrgmmx.asm
@@ -42,7 +42,7 @@
 %define gotptr		wk(0)-SIZEOF_POINTER	; void * gotptr
 
 	align	16
-	global	EXTN(jsimd_h2v1_merged_upsample_mmx)
+	global	EXTN(jsimd_h2v1_merged_upsample_mmx) PRIVATE
 
 EXTN(jsimd_h2v1_merged_upsample_mmx):
 	push	ebp
@@ -411,7 +411,7 @@
 %define output_buf(b)		(b)+20		; JSAMPARRAY output_buf
 
 	align	16
-	global	EXTN(jsimd_h2v2_merged_upsample_mmx)
+	global	EXTN(jsimd_h2v2_merged_upsample_mmx) PRIVATE
 
 EXTN(jsimd_h2v2_merged_upsample_mmx):
 	push	ebp
diff --git a/simd/jdmrgss2-64.asm b/simd/jdmrgss2-64.asm
index 121bb82..1bd4e89 100644
--- a/simd/jdmrgss2-64.asm
+++ b/simd/jdmrgss2-64.asm
@@ -41,7 +41,7 @@
 %define WK_NUM		3
 
 	align	16
-	global	EXTN(jsimd_h2v1_merged_upsample_sse2)
+	global	EXTN(jsimd_h2v1_merged_upsample_sse2) PRIVATE
 
 EXTN(jsimd_h2v1_merged_upsample_sse2):
 	push	rbp
@@ -492,7 +492,7 @@
 ; r13 = JSAMPARRAY output_buf
 
 	align	16
-	global	EXTN(jsimd_h2v2_merged_upsample_sse2)
+	global	EXTN(jsimd_h2v2_merged_upsample_sse2) PRIVATE
 
 EXTN(jsimd_h2v2_merged_upsample_sse2):
 	push	rbp
diff --git a/simd/jdmrgss2.asm b/simd/jdmrgss2.asm
index 99b7eb9..af1f449 100644
--- a/simd/jdmrgss2.asm
+++ b/simd/jdmrgss2.asm
@@ -42,7 +42,7 @@
 %define gotptr		wk(0)-SIZEOF_POINTER	; void * gotptr
 
 	align	16
-	global	EXTN(jsimd_h2v1_merged_upsample_sse2)
+	global	EXTN(jsimd_h2v1_merged_upsample_sse2) PRIVATE
 
 EXTN(jsimd_h2v1_merged_upsample_sse2):
 	push	ebp
@@ -509,7 +509,7 @@
 %define output_buf(b)		(b)+20		; JSAMPARRAY output_buf
 
 	align	16
-	global	EXTN(jsimd_h2v2_merged_upsample_sse2)
+	global	EXTN(jsimd_h2v2_merged_upsample_sse2) PRIVATE
 
 EXTN(jsimd_h2v2_merged_upsample_sse2):
 	push	ebp
diff --git a/simd/jdsammmx.asm b/simd/jdsammmx.asm
index c09e5b9..d92a8c9 100644
--- a/simd/jdsammmx.asm
+++ b/simd/jdsammmx.asm
@@ -22,7 +22,7 @@
 	SECTION	SEG_CONST
 
 	alignz	16
-	global	EXTN(jconst_fancy_upsample_mmx)
+	global	EXTN(jconst_fancy_upsample_mmx) PRIVATE
 
 EXTN(jconst_fancy_upsample_mmx):
 
@@ -58,7 +58,7 @@
 %define output_data_ptr(b)	(b)+20		; JSAMPARRAY * output_data_ptr
 
 	align	16
-	global	EXTN(jsimd_h2v1_fancy_upsample_mmx)
+	global	EXTN(jsimd_h2v1_fancy_upsample_mmx) PRIVATE
 
 EXTN(jsimd_h2v1_fancy_upsample_mmx):
 	push	ebp
@@ -216,7 +216,7 @@
 %define gotptr		wk(0)-SIZEOF_POINTER	; void * gotptr
 
 	align	16
-	global	EXTN(jsimd_h2v2_fancy_upsample_mmx)
+	global	EXTN(jsimd_h2v2_fancy_upsample_mmx) PRIVATE
 
 EXTN(jsimd_h2v2_fancy_upsample_mmx):
 	push	ebp
@@ -542,7 +542,7 @@
 %define output_data_ptr(b)	(b)+20		; JSAMPARRAY * output_data_ptr
 
 	align	16
-	global	EXTN(jsimd_h2v1_upsample_mmx)
+	global	EXTN(jsimd_h2v1_upsample_mmx) PRIVATE
 
 EXTN(jsimd_h2v1_upsample_mmx):
 	push	ebp
@@ -643,7 +643,7 @@
 %define output_data_ptr(b)	(b)+20		; JSAMPARRAY * output_data_ptr
 
 	align	16
-	global	EXTN(jsimd_h2v2_upsample_mmx)
+	global	EXTN(jsimd_h2v2_upsample_mmx) PRIVATE
 
 EXTN(jsimd_h2v2_upsample_mmx):
 	push	ebp
diff --git a/simd/jdsamss2-64.asm b/simd/jdsamss2-64.asm
index f36c156..73577fd 100644
--- a/simd/jdsamss2-64.asm
+++ b/simd/jdsamss2-64.asm
@@ -23,7 +23,7 @@
 	SECTION	SEG_CONST
 
 	alignz	16
-	global	EXTN(jconst_fancy_upsample_sse2)
+	global	EXTN(jconst_fancy_upsample_sse2) PRIVATE
 
 EXTN(jconst_fancy_upsample_sse2):
 
@@ -59,7 +59,7 @@
 ; r13 = JSAMPARRAY * output_data_ptr
 
 	align	16
-	global	EXTN(jsimd_h2v1_fancy_upsample_sse2)
+	global	EXTN(jsimd_h2v1_fancy_upsample_sse2) PRIVATE
 
 EXTN(jsimd_h2v1_fancy_upsample_sse2):
 	push	rbp
@@ -201,7 +201,7 @@
 %define WK_NUM		4
 
 	align	16
-	global	EXTN(jsimd_h2v2_fancy_upsample_sse2)
+	global	EXTN(jsimd_h2v2_fancy_upsample_sse2) PRIVATE
 
 EXTN(jsimd_h2v2_fancy_upsample_sse2):
 	push	rbp
@@ -498,7 +498,7 @@
 ; r13 = JSAMPARRAY * output_data_ptr
 
 	align	16
-	global	EXTN(jsimd_h2v1_upsample_sse2)
+	global	EXTN(jsimd_h2v1_upsample_sse2) PRIVATE
 
 EXTN(jsimd_h2v1_upsample_sse2):
 	push	rbp
@@ -587,7 +587,7 @@
 ; r13 = JSAMPARRAY * output_data_ptr
 
 	align	16
-	global	EXTN(jsimd_h2v2_upsample_sse2)
+	global	EXTN(jsimd_h2v2_upsample_sse2) PRIVATE
 
 EXTN(jsimd_h2v2_upsample_sse2):
 	push	rbp
diff --git a/simd/jdsamss2.asm b/simd/jdsamss2.asm
index b5c863b..c91a863 100644
--- a/simd/jdsamss2.asm
+++ b/simd/jdsamss2.asm
@@ -22,7 +22,7 @@
 	SECTION	SEG_CONST
 
 	alignz	16
-	global	EXTN(jconst_fancy_upsample_sse2)
+	global	EXTN(jconst_fancy_upsample_sse2) PRIVATE
 
 EXTN(jconst_fancy_upsample_sse2):
 
@@ -58,7 +58,7 @@
 %define output_data_ptr(b)	(b)+20		; JSAMPARRAY * output_data_ptr
 
 	align	16
-	global	EXTN(jsimd_h2v1_fancy_upsample_sse2)
+	global	EXTN(jsimd_h2v1_fancy_upsample_sse2) PRIVATE
 
 EXTN(jsimd_h2v1_fancy_upsample_sse2):
 	push	ebp
@@ -214,7 +214,7 @@
 %define gotptr		wk(0)-SIZEOF_POINTER	; void * gotptr
 
 	align	16
-	global	EXTN(jsimd_h2v2_fancy_upsample_sse2)
+	global	EXTN(jsimd_h2v2_fancy_upsample_sse2) PRIVATE
 
 EXTN(jsimd_h2v2_fancy_upsample_sse2):
 	push	ebp
@@ -538,7 +538,7 @@
 %define output_data_ptr(b)	(b)+20		; JSAMPARRAY * output_data_ptr
 
 	align	16
-	global	EXTN(jsimd_h2v1_upsample_sse2)
+	global	EXTN(jsimd_h2v1_upsample_sse2) PRIVATE
 
 EXTN(jsimd_h2v1_upsample_sse2):
 	push	ebp
@@ -637,7 +637,7 @@
 %define output_data_ptr(b)	(b)+20		; JSAMPARRAY * output_data_ptr
 
 	align	16
-	global	EXTN(jsimd_h2v2_upsample_sse2)
+	global	EXTN(jsimd_h2v2_upsample_sse2) PRIVATE
 
 EXTN(jsimd_h2v2_upsample_sse2):
 	push	ebp
diff --git a/simd/jf3dnflt.asm b/simd/jf3dnflt.asm
index 542672d..432e304 100644
--- a/simd/jf3dnflt.asm
+++ b/simd/jf3dnflt.asm
@@ -27,7 +27,7 @@
 	SECTION	SEG_CONST
 
 	alignz	16
-	global	EXTN(jconst_fdct_float_3dnow)
+	global	EXTN(jconst_fdct_float_3dnow) PRIVATE
 
 EXTN(jconst_fdct_float_3dnow):
 
@@ -55,7 +55,7 @@
 %define WK_NUM		2
 
 	align	16
-	global	EXTN(jsimd_fdct_float_3dnow)
+	global	EXTN(jsimd_fdct_float_3dnow) PRIVATE
 
 EXTN(jsimd_fdct_float_3dnow):
 	push	ebp
diff --git a/simd/jfmmxfst.asm b/simd/jfmmxfst.asm
index 0647242..146e8c3 100644
--- a/simd/jfmmxfst.asm
+++ b/simd/jfmmxfst.asm
@@ -52,7 +52,7 @@
 %define CONST_SHIFT     (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS)
 
 	alignz	16
-	global	EXTN(jconst_fdct_ifast_mmx)
+	global	EXTN(jconst_fdct_ifast_mmx) PRIVATE
 
 EXTN(jconst_fdct_ifast_mmx):
 
@@ -80,7 +80,7 @@
 %define WK_NUM		2
 
 	align	16
-	global	EXTN(jsimd_fdct_ifast_mmx)
+	global	EXTN(jsimd_fdct_ifast_mmx) PRIVATE
 
 EXTN(jsimd_fdct_ifast_mmx):
 	push	ebp
diff --git a/simd/jfmmxint.asm b/simd/jfmmxint.asm
index a7e73f7..e5593f8 100644
--- a/simd/jfmmxint.asm
+++ b/simd/jfmmxint.asm
@@ -66,7 +66,7 @@
 	SECTION	SEG_CONST
 
 	alignz	16
-	global	EXTN(jconst_fdct_islow_mmx)
+	global	EXTN(jconst_fdct_islow_mmx) PRIVATE
 
 EXTN(jconst_fdct_islow_mmx):
 
@@ -101,7 +101,7 @@
 %define WK_NUM		2
 
 	align	16
-	global	EXTN(jsimd_fdct_islow_mmx)
+	global	EXTN(jsimd_fdct_islow_mmx) PRIVATE
 
 EXTN(jsimd_fdct_islow_mmx):
 	push	ebp
diff --git a/simd/jfss2fst-64.asm b/simd/jfss2fst-64.asm
index 6953caf..16a62f2 100644
--- a/simd/jfss2fst-64.asm
+++ b/simd/jfss2fst-64.asm
@@ -53,7 +53,7 @@
 %define CONST_SHIFT     (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS)
 
 	alignz	16
-	global	EXTN(jconst_fdct_ifast_sse2)
+	global	EXTN(jconst_fdct_ifast_sse2) PRIVATE
 
 EXTN(jconst_fdct_ifast_sse2):
 
@@ -80,7 +80,7 @@
 %define WK_NUM		2
 
 	align	16
-	global	EXTN(jsimd_fdct_ifast_sse2)
+	global	EXTN(jsimd_fdct_ifast_sse2) PRIVATE
 
 EXTN(jsimd_fdct_ifast_sse2):
 	push	rbp
diff --git a/simd/jfss2fst.asm b/simd/jfss2fst.asm
index 73fc9e5..3232db5 100644
--- a/simd/jfss2fst.asm
+++ b/simd/jfss2fst.asm
@@ -52,7 +52,7 @@
 %define CONST_SHIFT     (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS)
 
 	alignz	16
-	global	EXTN(jconst_fdct_ifast_sse2)
+	global	EXTN(jconst_fdct_ifast_sse2) PRIVATE
 
 EXTN(jconst_fdct_ifast_sse2):
 
@@ -80,7 +80,7 @@
 %define WK_NUM		2
 
 	align	16
-	global	EXTN(jsimd_fdct_ifast_sse2)
+	global	EXTN(jsimd_fdct_ifast_sse2) PRIVATE
 
 EXTN(jsimd_fdct_ifast_sse2):
 	push	ebp
diff --git a/simd/jfss2int-64.asm b/simd/jfss2int-64.asm
index bd1bd45..0b710f2 100644
--- a/simd/jfss2int-64.asm
+++ b/simd/jfss2int-64.asm
@@ -67,7 +67,7 @@
 	SECTION	SEG_CONST
 
 	alignz	16
-	global	EXTN(jconst_fdct_islow_sse2)
+	global	EXTN(jconst_fdct_islow_sse2) PRIVATE
 
 EXTN(jconst_fdct_islow_sse2):
 
@@ -101,7 +101,7 @@
 %define WK_NUM		6
 
 	align	16
-	global	EXTN(jsimd_fdct_islow_sse2)
+	global	EXTN(jsimd_fdct_islow_sse2) PRIVATE
 
 EXTN(jsimd_fdct_islow_sse2):
 	push	rbp
diff --git a/simd/jfss2int.asm b/simd/jfss2int.asm
index 5e3f2aa..1f73163 100644
--- a/simd/jfss2int.asm
+++ b/simd/jfss2int.asm
@@ -66,7 +66,7 @@
 	SECTION	SEG_CONST
 
 	alignz	16
-	global	EXTN(jconst_fdct_islow_sse2)
+	global	EXTN(jconst_fdct_islow_sse2) PRIVATE
 
 EXTN(jconst_fdct_islow_sse2):
 
@@ -101,7 +101,7 @@
 %define WK_NUM		6
 
 	align	16
-	global	EXTN(jsimd_fdct_islow_sse2)
+	global	EXTN(jsimd_fdct_islow_sse2) PRIVATE
 
 EXTN(jsimd_fdct_islow_sse2):
 	push	ebp
diff --git a/simd/jfsseflt-64.asm b/simd/jfsseflt-64.asm
index 07245d2..b5de0c4 100644
--- a/simd/jfsseflt-64.asm
+++ b/simd/jfsseflt-64.asm
@@ -38,7 +38,7 @@
 	SECTION	SEG_CONST
 
 	alignz	16
-	global	EXTN(jconst_fdct_float_sse)
+	global	EXTN(jconst_fdct_float_sse) PRIVATE
 
 EXTN(jconst_fdct_float_sse):
 
@@ -65,7 +65,7 @@
 %define WK_NUM		2
 
 	align	16
-	global	EXTN(jsimd_fdct_float_sse)
+	global	EXTN(jsimd_fdct_float_sse) PRIVATE
 
 EXTN(jsimd_fdct_float_sse):
 	push	rbp
diff --git a/simd/jfsseflt.asm b/simd/jfsseflt.asm
index bc54ccc..dc52c32 100644
--- a/simd/jfsseflt.asm
+++ b/simd/jfsseflt.asm
@@ -37,7 +37,7 @@
 	SECTION	SEG_CONST
 
 	alignz	16
-	global	EXTN(jconst_fdct_float_sse)
+	global	EXTN(jconst_fdct_float_sse) PRIVATE
 
 EXTN(jconst_fdct_float_sse):
 
@@ -65,7 +65,7 @@
 %define WK_NUM		2
 
 	align	16
-	global	EXTN(jsimd_fdct_float_sse)
+	global	EXTN(jsimd_fdct_float_sse) PRIVATE
 
 EXTN(jsimd_fdct_float_sse):
 	push	ebp
diff --git a/simd/ji3dnflt.asm b/simd/ji3dnflt.asm
index dc2076f..30ff49d 100644
--- a/simd/ji3dnflt.asm
+++ b/simd/ji3dnflt.asm
@@ -27,7 +27,7 @@
 	SECTION	SEG_CONST
 
 	alignz	16
-	global	EXTN(jconst_idct_float_3dnow)
+	global	EXTN(jconst_idct_float_3dnow) PRIVATE
 
 EXTN(jconst_idct_float_3dnow):
 
@@ -63,7 +63,7 @@
 					; FAST_FLOAT workspace[DCTSIZE2]
 
 	align	16
-	global	EXTN(jsimd_idct_float_3dnow)
+	global	EXTN(jsimd_idct_float_3dnow) PRIVATE
 
 EXTN(jsimd_idct_float_3dnow):
 	push	ebp
diff --git a/simd/jimmxfst.asm b/simd/jimmxfst.asm
index 3b05572..1b535e1 100644
--- a/simd/jimmxfst.asm
+++ b/simd/jimmxfst.asm
@@ -59,7 +59,7 @@
 %define CONST_SHIFT     (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS)
 
 	alignz	16
-	global	EXTN(jconst_idct_ifast_mmx)
+	global	EXTN(jconst_idct_ifast_mmx) PRIVATE
 
 EXTN(jconst_idct_ifast_mmx):
 
@@ -94,7 +94,7 @@
 					; JCOEF workspace[DCTSIZE2]
 
 	align	16
-	global	EXTN(jsimd_idct_ifast_mmx)
+	global	EXTN(jsimd_idct_ifast_mmx) PRIVATE
 
 EXTN(jsimd_idct_ifast_mmx):
 	push	ebp
diff --git a/simd/jimmxint.asm b/simd/jimmxint.asm
index 7b52fae..2b84f62 100644
--- a/simd/jimmxint.asm
+++ b/simd/jimmxint.asm
@@ -66,7 +66,7 @@
 	SECTION	SEG_CONST
 
 	alignz	16
-	global	EXTN(jconst_idct_islow_mmx)
+	global	EXTN(jconst_idct_islow_mmx) PRIVATE
 
 EXTN(jconst_idct_islow_mmx):
 
@@ -107,7 +107,7 @@
 					; JCOEF workspace[DCTSIZE2]
 
 	align	16
-	global	EXTN(jsimd_idct_islow_mmx)
+	global	EXTN(jsimd_idct_islow_mmx) PRIVATE
 
 EXTN(jsimd_idct_islow_mmx):
 	push	ebp
diff --git a/simd/jimmxred.asm b/simd/jimmxred.asm
index a2b7103..f8e61d1 100644
--- a/simd/jimmxred.asm
+++ b/simd/jimmxred.asm
@@ -72,7 +72,7 @@
 	SECTION	SEG_CONST
 
 	alignz	16
-	global	EXTN(jconst_idct_red_mmx)
+	global	EXTN(jconst_idct_red_mmx) PRIVATE
 
 EXTN(jconst_idct_red_mmx):
 
@@ -115,7 +115,7 @@
 					; JCOEF workspace[DCTSIZE2]
 
 	align	16
-	global	EXTN(jsimd_idct_4x4_mmx)
+	global	EXTN(jsimd_idct_4x4_mmx) PRIVATE
 
 EXTN(jsimd_idct_4x4_mmx):
 	push	ebp
@@ -503,7 +503,7 @@
 %define output_col(b)	(b)+20		; JDIMENSION output_col
 
 	align	16
-	global	EXTN(jsimd_idct_2x2_mmx)
+	global	EXTN(jsimd_idct_2x2_mmx) PRIVATE
 
 EXTN(jsimd_idct_2x2_mmx):
 	push	ebp
diff --git a/simd/jiss2flt-64.asm b/simd/jiss2flt-64.asm
index 6e7e6d4..f092599 100644
--- a/simd/jiss2flt-64.asm
+++ b/simd/jiss2flt-64.asm
@@ -38,7 +38,7 @@
 	SECTION	SEG_CONST
 
 	alignz	16
-	global	EXTN(jconst_idct_float_sse2)
+	global	EXTN(jconst_idct_float_sse2) PRIVATE
 
 EXTN(jconst_idct_float_sse2):
 
@@ -74,7 +74,7 @@
 					; FAST_FLOAT workspace[DCTSIZE2]
 
 	align	16
-	global	EXTN(jsimd_idct_float_sse2)
+	global	EXTN(jsimd_idct_float_sse2) PRIVATE
 
 EXTN(jsimd_idct_float_sse2):
 	push	rbp
diff --git a/simd/jiss2flt.asm b/simd/jiss2flt.asm
index 17bc363..6eebe88 100644
--- a/simd/jiss2flt.asm
+++ b/simd/jiss2flt.asm
@@ -37,7 +37,7 @@
 	SECTION	SEG_CONST
 
 	alignz	16
-	global	EXTN(jconst_idct_float_sse2)
+	global	EXTN(jconst_idct_float_sse2) PRIVATE
 
 EXTN(jconst_idct_float_sse2):
 
@@ -73,7 +73,7 @@
 					; FAST_FLOAT workspace[DCTSIZE2]
 
 	align	16
-	global	EXTN(jsimd_idct_float_sse2)
+	global	EXTN(jsimd_idct_float_sse2) PRIVATE
 
 EXTN(jsimd_idct_float_sse2):
 	push	ebp
diff --git a/simd/jiss2fst-64.asm b/simd/jiss2fst-64.asm
index 0887505..2b4e4b5 100644
--- a/simd/jiss2fst-64.asm
+++ b/simd/jiss2fst-64.asm
@@ -60,7 +60,7 @@
 %define CONST_SHIFT     (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS)
 
 	alignz	16
-	global	EXTN(jconst_idct_ifast_sse2)
+	global	EXTN(jconst_idct_ifast_sse2) PRIVATE
 
 EXTN(jconst_idct_ifast_sse2):
 
@@ -93,7 +93,7 @@
 %define WK_NUM		2
 
 	align	16
-	global	EXTN(jsimd_idct_ifast_sse2)
+	global	EXTN(jsimd_idct_ifast_sse2) PRIVATE
 
 EXTN(jsimd_idct_ifast_sse2):
 	push	rbp
diff --git a/simd/jiss2fst.asm b/simd/jiss2fst.asm
index b53664d..84b54b9 100644
--- a/simd/jiss2fst.asm
+++ b/simd/jiss2fst.asm
@@ -59,7 +59,7 @@
 %define CONST_SHIFT     (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS)
 
 	alignz	16
-	global	EXTN(jconst_idct_ifast_sse2)
+	global	EXTN(jconst_idct_ifast_sse2) PRIVATE
 
 EXTN(jconst_idct_ifast_sse2):
 
@@ -92,7 +92,7 @@
 %define WK_NUM		2
 
 	align	16
-	global	EXTN(jsimd_idct_ifast_sse2)
+	global	EXTN(jsimd_idct_ifast_sse2) PRIVATE
 
 EXTN(jsimd_idct_ifast_sse2):
 	push	ebp
diff --git a/simd/jiss2int-64.asm b/simd/jiss2int-64.asm
index 13764d6..5ebfae8 100644
--- a/simd/jiss2int-64.asm
+++ b/simd/jiss2int-64.asm
@@ -67,7 +67,7 @@
 	SECTION	SEG_CONST
 
 	alignz	16
-	global	EXTN(jconst_idct_islow_sse2)
+	global	EXTN(jconst_idct_islow_sse2) PRIVATE
 
 EXTN(jconst_idct_islow_sse2):
 
@@ -106,7 +106,7 @@
 %define WK_NUM		12
 
 	align	16
-	global	EXTN(jsimd_idct_islow_sse2)
+	global	EXTN(jsimd_idct_islow_sse2) PRIVATE
 
 EXTN(jsimd_idct_islow_sse2):
 	push	rbp
diff --git a/simd/jiss2int.asm b/simd/jiss2int.asm
index adf39fb..17a23f3 100644
--- a/simd/jiss2int.asm
+++ b/simd/jiss2int.asm
@@ -66,7 +66,7 @@
 	SECTION	SEG_CONST
 
 	alignz	16
-	global	EXTN(jconst_idct_islow_sse2)
+	global	EXTN(jconst_idct_islow_sse2) PRIVATE
 
 EXTN(jconst_idct_islow_sse2):
 
@@ -105,7 +105,7 @@
 %define WK_NUM		12
 
 	align	16
-	global	EXTN(jsimd_idct_islow_sse2)
+	global	EXTN(jsimd_idct_islow_sse2) PRIVATE
 
 EXTN(jsimd_idct_islow_sse2):
 	push	ebp
diff --git a/simd/jiss2red-64.asm b/simd/jiss2red-64.asm
index 6807f17..637339e 100644
--- a/simd/jiss2red-64.asm
+++ b/simd/jiss2red-64.asm
@@ -73,7 +73,7 @@
 	SECTION	SEG_CONST
 
 	alignz	16
-	global	EXTN(jconst_idct_red_sse2)
+	global	EXTN(jconst_idct_red_sse2) PRIVATE
 
 EXTN(jconst_idct_red_sse2):
 
@@ -114,7 +114,7 @@
 %define WK_NUM		2
 
 	align	16
-	global	EXTN(jsimd_idct_4x4_sse2)
+	global	EXTN(jsimd_idct_4x4_sse2) PRIVATE
 
 EXTN(jsimd_idct_4x4_sse2):
 	push	rbp
@@ -413,7 +413,7 @@
 ; r13 = JDIMENSION output_col
 
 	align	16
-	global	EXTN(jsimd_idct_2x2_sse2)
+	global	EXTN(jsimd_idct_2x2_sse2) PRIVATE
 
 EXTN(jsimd_idct_2x2_sse2):
 	push	rbp
diff --git a/simd/jiss2red.asm b/simd/jiss2red.asm
index 238c61d..0e15ea8 100644
--- a/simd/jiss2red.asm
+++ b/simd/jiss2red.asm
@@ -72,7 +72,7 @@
 	SECTION	SEG_CONST
 
 	alignz	16
-	global	EXTN(jconst_idct_red_sse2)
+	global	EXTN(jconst_idct_red_sse2) PRIVATE
 
 EXTN(jconst_idct_red_sse2):
 
@@ -113,7 +113,7 @@
 %define WK_NUM		2
 
 	align	16
-	global	EXTN(jsimd_idct_4x4_sse2)
+	global	EXTN(jsimd_idct_4x4_sse2) PRIVATE
 
 EXTN(jsimd_idct_4x4_sse2):
 	push	ebp
@@ -424,7 +424,7 @@
 %define output_col(b)	(b)+20		; JDIMENSION output_col
 
 	align	16
-	global	EXTN(jsimd_idct_2x2_sse2)
+	global	EXTN(jsimd_idct_2x2_sse2) PRIVATE
 
 EXTN(jsimd_idct_2x2_sse2):
 	push	ebp
diff --git a/simd/jisseflt.asm b/simd/jisseflt.asm
index d6147c1..8faa749 100644
--- a/simd/jisseflt.asm
+++ b/simd/jisseflt.asm
@@ -37,7 +37,7 @@
 	SECTION	SEG_CONST
 
 	alignz	16
-	global	EXTN(jconst_idct_float_sse)
+	global	EXTN(jconst_idct_float_sse) PRIVATE
 
 EXTN(jconst_idct_float_sse):
 
@@ -73,7 +73,7 @@
 					; FAST_FLOAT workspace[DCTSIZE2]
 
 	align	16
-	global	EXTN(jsimd_idct_float_sse)
+	global	EXTN(jsimd_idct_float_sse) PRIVATE
 
 EXTN(jsimd_idct_float_sse):
 	push	ebp
diff --git a/simd/jsimdcpu.asm b/simd/jsimdcpu.asm
index bdbcc23..a886904 100644
--- a/simd/jsimdcpu.asm
+++ b/simd/jsimdcpu.asm
@@ -29,7 +29,7 @@
 ;
 
 	align	16
-	global	EXTN(jpeg_simd_cpu_support)
+	global	EXTN(jpeg_simd_cpu_support) PRIVATE
 
 EXTN(jpeg_simd_cpu_support):
 	push	ebx
diff --git a/simd/jsimdext.inc b/simd/jsimdext.inc
index 4ea3d17..b54a87c 100644
--- a/simd/jsimdext.inc
+++ b/simd/jsimdext.inc
@@ -369,4 +369,14 @@
 ;
 %include "jsimdcfg.inc"
 
+; Begin chromium edits
+%ifdef MACHO ; ----(nasm -fmacho -DMACHO ...)--------
+%define PRIVATE :private_extern
+%elifdef ELF ; ----(nasm -felf[64] -DELF ...)------------
+%define PRIVATE :hidden
+%else
+%define PRIVATE
+%endif
+; End chromium edits
+
 ; --------------------------------------------------------------------------