[linux-kernel] Rename MEM_* functions to ZSTD_*
diff --git a/contrib/linux-kernel/kernelize.sh b/contrib/linux-kernel/kernelize.sh
index ce24f92..232fda8 100755
--- a/contrib/linux-kernel/kernelize.sh
+++ b/contrib/linux-kernel/kernelize.sh
@@ -2,6 +2,8 @@
 set -e
 
 # Constants
+SED_COMMANDS="commands.tmp"
+CLANG_FORMAT="clang-format-3.9"
 INCLUDE='include/linux/'
 LIB='lib/zstd/'
 SPACES='    '
@@ -20,6 +22,14 @@
 done
 }
 
+function check_not_present() {
+  grep "$1" $INCLUDE*.h ${LIB}*.{h,c} && exit 1 || true
+}
+
+function check_not_present_in_file() {
+  grep "$1" "$2" && exit 1 || true
+}
+
 echo "Files: " $INCLUDE*.h $LIB*.{h,c}
 
 prompt "Do you wish to replace 4 spaces with a tab?"
@@ -49,8 +59,44 @@
   sed -i '' "s/$TAB{   /$TAB{$TAB/g" $INCLUDE*.h $LIB*.{h,c}
 fi
 
-prompt "Do you wish to replace 'current' with 'curr'?"
+rm -f $SED_COMMANDS
+cat > $SED_COMMANDS <<EOF
+s/current/curr/g
+s/MEM_STATIC/ZSTD_STATIC/g
+s/MEM_check/ZSTD_check/g
+s/MEM_32bits/ZSTD_32bits/g
+s/MEM_64bits/ZSTD_64bits/g
+s/MEM_LITTLE_ENDIAN/ZSTD_LITTLE_ENDIAN/g
+s/MEM_isLittleEndian/ZSTD_isLittleEndian/g
+s/MEM_read/ZSTD_read/g
+s/MEM_write/ZSTD_write/g
+EOF
+
+prompt "Do you wish to run these sed commands $(cat $SED_COMMANDS)?"
 if [ ! -z "$yes" ]
 then
-  sed -i '' "s/current/curr/g" $LIB*.{h,c}
+  sed -i '' -f $SED_COMMANDS $LIB*.{h,c}
+fi
+rm -f $SED_COMMANDS
+
+prompt "Do you wish to clang-format $LIB*.{h,c}?"
+if [ ! -z "$yes" ]
+then
+  $CLANG_FORMAT -i ${LIB}*.{h,c}
+fi
+
+prompt "Do you wish to run some checks?"
+if [ ! -z "$yes" ]
+then
+  check_not_present_in_file STATIC_ASSERT ${LIB}mem.h
+  check_not_present "#if 0"
+  check_not_present "#if 1"
+  check_not_present _MSC_VER
+  check_not_present __cplusplus
+  check_not_present __STDC_VERSION__
+  check_not_present __VMS
+  check_not_present __GNUC__
+  check_not_present __INTEL_COMPILER
+  check_not_present FORCE_MEMORY_ACCESS
+  check_not_present STATIC_LINKING_ONLY
 fi
diff --git a/contrib/linux-kernel/lib/zstd/bitstream.h b/contrib/linux-kernel/lib/zstd/bitstream.h
index 2f6e76c..cd67d9e 100644
--- a/contrib/linux-kernel/lib/zstd/bitstream.h
+++ b/contrib/linux-kernel/lib/zstd/bitstream.h
@@ -59,7 +59,7 @@
 =========================================*/
 #define STREAM_ACCUMULATOR_MIN_32  25
 #define STREAM_ACCUMULATOR_MIN_64  57
-#define STREAM_ACCUMULATOR_MIN    ((U32)(MEM_32bits() ? STREAM_ACCUMULATOR_MIN_32 : STREAM_ACCUMULATOR_MIN_64))
+#define STREAM_ACCUMULATOR_MIN    ((U32)(ZSTD_32bits() ? STREAM_ACCUMULATOR_MIN_32 : STREAM_ACCUMULATOR_MIN_64))
 
 /*-******************************************
 *  bitStream encoding API (write forward)
@@ -77,10 +77,10 @@
 	char*  endPtr;
 } BIT_CStream_t;
 
-MEM_STATIC size_t BIT_initCStream(BIT_CStream_t* bitC, void* dstBuffer, size_t dstCapacity);
-MEM_STATIC void   BIT_addBits(BIT_CStream_t* bitC, size_t value, unsigned nbBits);
-MEM_STATIC void   BIT_flushBits(BIT_CStream_t* bitC);
-MEM_STATIC size_t BIT_closeCStream(BIT_CStream_t* bitC);
+ZSTD_STATIC size_t BIT_initCStream(BIT_CStream_t* bitC, void* dstBuffer, size_t dstCapacity);
+ZSTD_STATIC void   BIT_addBits(BIT_CStream_t* bitC, size_t value, unsigned nbBits);
+ZSTD_STATIC void   BIT_flushBits(BIT_CStream_t* bitC);
+ZSTD_STATIC size_t BIT_closeCStream(BIT_CStream_t* bitC);
 
 /* Start with initCStream, providing the size of buffer to write into.
 *  bitStream will never write outside of this buffer.
@@ -117,10 +117,10 @@
 			   BIT_DStream_overflow = 3 } BIT_DStream_status;  /* result of BIT_reloadDStream() */
 			   /* 1,2,4,8 would be better for bitmap combinations, but slows down performance a bit ... :( */
 
-MEM_STATIC size_t   BIT_initDStream(BIT_DStream_t* bitD, const void* srcBuffer, size_t srcSize);
-MEM_STATIC size_t   BIT_readBits(BIT_DStream_t* bitD, unsigned nbBits);
-MEM_STATIC BIT_DStream_status BIT_reloadDStream(BIT_DStream_t* bitD);
-MEM_STATIC unsigned BIT_endOfDStream(const BIT_DStream_t* bitD);
+ZSTD_STATIC size_t   BIT_initDStream(BIT_DStream_t* bitD, const void* srcBuffer, size_t srcSize);
+ZSTD_STATIC size_t   BIT_readBits(BIT_DStream_t* bitD, unsigned nbBits);
+ZSTD_STATIC BIT_DStream_status BIT_reloadDStream(BIT_DStream_t* bitD);
+ZSTD_STATIC unsigned BIT_endOfDStream(const BIT_DStream_t* bitD);
 
 
 /* Start by invoking BIT_initDStream().
@@ -137,13 +137,13 @@
 /*-****************************************
 *  unsafe API
 ******************************************/
-MEM_STATIC void BIT_addBitsFast(BIT_CStream_t* bitC, size_t value, unsigned nbBits);
+ZSTD_STATIC void BIT_addBitsFast(BIT_CStream_t* bitC, size_t value, unsigned nbBits);
 /* faster, but works only if value is "clean", meaning all high bits above nbBits are 0 */
 
-MEM_STATIC void BIT_flushBitsFast(BIT_CStream_t* bitC);
+ZSTD_STATIC void BIT_flushBitsFast(BIT_CStream_t* bitC);
 /* unsafe version; does not check buffer overflow */
 
-MEM_STATIC size_t BIT_readBitsFast(BIT_DStream_t* bitD, unsigned nbBits);
+ZSTD_STATIC size_t BIT_readBitsFast(BIT_DStream_t* bitD, unsigned nbBits);
 /* faster, but works only if nbBits >= 1 */
 
 
@@ -151,7 +151,7 @@
 /*-**************************************************************
 *  Internal functions
 ****************************************************************/
-MEM_STATIC unsigned BIT_highbit32 (register U32 val)
+ZSTD_STATIC unsigned BIT_highbit32 (register U32 val)
 {
 	return 31 - __builtin_clz(val);
 }
@@ -167,7 +167,7 @@
  *  `dstCapacity` must be > sizeof(void*)
  *  @return : 0 if success,
 			  otherwise an error code (can be tested using ERR_isError() ) */
-MEM_STATIC size_t BIT_initCStream(BIT_CStream_t* bitC, void* startPtr, size_t dstCapacity)
+ZSTD_STATIC size_t BIT_initCStream(BIT_CStream_t* bitC, void* startPtr, size_t dstCapacity)
 {
 	bitC->bitContainer = 0;
 	bitC->bitPos = 0;
@@ -181,7 +181,7 @@
 /*! BIT_addBits() :
 	can add up to 26 bits into `bitC`.
 	Does not check for register overflow ! */
-MEM_STATIC void BIT_addBits(BIT_CStream_t* bitC, size_t value, unsigned nbBits)
+ZSTD_STATIC void BIT_addBits(BIT_CStream_t* bitC, size_t value, unsigned nbBits)
 {
 	bitC->bitContainer |= (value & BIT_mask[nbBits]) << bitC->bitPos;
 	bitC->bitPos += nbBits;
@@ -189,7 +189,7 @@
 
 /*! BIT_addBitsFast() :
  *  works only if `value` is _clean_, meaning all high bits above nbBits are 0 */
-MEM_STATIC void BIT_addBitsFast(BIT_CStream_t* bitC, size_t value, unsigned nbBits)
+ZSTD_STATIC void BIT_addBitsFast(BIT_CStream_t* bitC, size_t value, unsigned nbBits)
 {
 	bitC->bitContainer |= value << bitC->bitPos;
 	bitC->bitPos += nbBits;
@@ -197,10 +197,10 @@
 
 /*! BIT_flushBitsFast() :
  *  unsafe version; does not check buffer overflow */
-MEM_STATIC void BIT_flushBitsFast(BIT_CStream_t* bitC)
+ZSTD_STATIC void BIT_flushBitsFast(BIT_CStream_t* bitC)
 {
 	size_t const nbBytes = bitC->bitPos >> 3;
-	MEM_writeLEST(bitC->ptr, bitC->bitContainer);
+	ZSTD_writeLEST(bitC->ptr, bitC->bitContainer);
 	bitC->ptr += nbBytes;
 	bitC->bitPos &= 7;
 	bitC->bitContainer >>= nbBytes*8;   /* if bitPos >= sizeof(bitContainer)*8 --> undefined behavior */
@@ -209,10 +209,10 @@
 /*! BIT_flushBits() :
  *  safe version; check for buffer overflow, and prevents it.
  *  note : does not signal buffer overflow. This will be revealed later on using BIT_closeCStream() */
-MEM_STATIC void BIT_flushBits(BIT_CStream_t* bitC)
+ZSTD_STATIC void BIT_flushBits(BIT_CStream_t* bitC)
 {
 	size_t const nbBytes = bitC->bitPos >> 3;
-	MEM_writeLEST(bitC->ptr, bitC->bitContainer);
+	ZSTD_writeLEST(bitC->ptr, bitC->bitContainer);
 	bitC->ptr += nbBytes;
 	if (bitC->ptr > bitC->endPtr) bitC->ptr = bitC->endPtr;
 	bitC->bitPos &= 7;
@@ -222,7 +222,7 @@
 /*! BIT_closeCStream() :
  *  @return : size of CStream, in bytes,
 			  or 0 if it could not fit into dstBuffer */
-MEM_STATIC size_t BIT_closeCStream(BIT_CStream_t* bitC)
+ZSTD_STATIC size_t BIT_closeCStream(BIT_CStream_t* bitC)
 {
 	BIT_addBitsFast(bitC, 1, 1);   /* endMark */
 	BIT_flushBits(bitC);
@@ -242,14 +242,14 @@
 *   `srcSize` must be the *exact* size of the bitStream, in bytes.
 *   @return : size of stream (== srcSize) or an errorCode if a problem is detected
 */
-MEM_STATIC size_t BIT_initDStream(BIT_DStream_t* bitD, const void* srcBuffer, size_t srcSize)
+ZSTD_STATIC size_t BIT_initDStream(BIT_DStream_t* bitD, const void* srcBuffer, size_t srcSize)
 {
 	if (srcSize < 1) { memset(bitD, 0, sizeof(*bitD)); return ERROR(srcSize_wrong); }
 
 	if (srcSize >=  sizeof(bitD->bitContainer)) {  /* normal case */
 		bitD->start = (const char*)srcBuffer;
 		bitD->ptr   = (const char*)srcBuffer + srcSize - sizeof(bitD->bitContainer);
-		bitD->bitContainer = MEM_readLEST(bitD->ptr);
+		bitD->bitContainer = ZSTD_readLEST(bitD->ptr);
 		{ BYTE const lastByte = ((const BYTE*)srcBuffer)[srcSize-1];
 		  bitD->bitsConsumed = lastByte ? 8 - BIT_highbit32(lastByte) : 0;  /* ensures bitsConsumed is always set */
 		  if (lastByte == 0) return ERROR(GENERIC); /* endMark not present */ }
@@ -276,17 +276,17 @@
 	return srcSize;
 }
 
-MEM_STATIC size_t BIT_getUpperBits(size_t bitContainer, U32 const start)
+ZSTD_STATIC size_t BIT_getUpperBits(size_t bitContainer, U32 const start)
 {
 	return bitContainer >> start;
 }
 
-MEM_STATIC size_t BIT_getMiddleBits(size_t bitContainer, U32 const start, U32 const nbBits)
+ZSTD_STATIC size_t BIT_getMiddleBits(size_t bitContainer, U32 const start, U32 const nbBits)
 {
 	return (bitContainer >> start) & BIT_mask[nbBits];
 }
 
-MEM_STATIC size_t BIT_getLowerBits(size_t bitContainer, U32 const nbBits)
+ZSTD_STATIC size_t BIT_getLowerBits(size_t bitContainer, U32 const nbBits)
 {
 	return bitContainer & BIT_mask[nbBits];
 }
@@ -298,7 +298,7 @@
  *  On 64-bits, maxNbBits==56.
  *  @return : value extracted
  */
- MEM_STATIC size_t BIT_lookBits(const BIT_DStream_t* bitD, U32 nbBits)
+ ZSTD_STATIC size_t BIT_lookBits(const BIT_DStream_t* bitD, U32 nbBits)
 {
 	U32 const bitMask = sizeof(bitD->bitContainer)*8 - 1;
 	return ((bitD->bitContainer << (bitD->bitsConsumed & bitMask)) >> 1) >> ((bitMask-nbBits) & bitMask);
@@ -306,13 +306,13 @@
 
 /*! BIT_lookBitsFast() :
 *   unsafe version; only works only if nbBits >= 1 */
-MEM_STATIC size_t BIT_lookBitsFast(const BIT_DStream_t* bitD, U32 nbBits)
+ZSTD_STATIC size_t BIT_lookBitsFast(const BIT_DStream_t* bitD, U32 nbBits)
 {
 	U32 const bitMask = sizeof(bitD->bitContainer)*8 - 1;
 	return (bitD->bitContainer << (bitD->bitsConsumed & bitMask)) >> (((bitMask+1)-nbBits) & bitMask);
 }
 
-MEM_STATIC void BIT_skipBits(BIT_DStream_t* bitD, U32 nbBits)
+ZSTD_STATIC void BIT_skipBits(BIT_DStream_t* bitD, U32 nbBits)
 {
 	bitD->bitsConsumed += nbBits;
 }
@@ -322,7 +322,7 @@
  *  Pay attention to not read more than nbBits contained into local register.
  *  @return : extracted value.
  */
-MEM_STATIC size_t BIT_readBits(BIT_DStream_t* bitD, U32 nbBits)
+ZSTD_STATIC size_t BIT_readBits(BIT_DStream_t* bitD, U32 nbBits)
 {
 	size_t const value = BIT_lookBits(bitD, nbBits);
 	BIT_skipBits(bitD, nbBits);
@@ -331,7 +331,7 @@
 
 /*! BIT_readBitsFast() :
 *   unsafe version; only works only if nbBits >= 1 */
-MEM_STATIC size_t BIT_readBitsFast(BIT_DStream_t* bitD, U32 nbBits)
+ZSTD_STATIC size_t BIT_readBitsFast(BIT_DStream_t* bitD, U32 nbBits)
 {
 	size_t const value = BIT_lookBitsFast(bitD, nbBits);
 	BIT_skipBits(bitD, nbBits);
@@ -343,7 +343,7 @@
 *   This function is safe, it guarantees it will not read beyond src buffer.
 *   @return : status of `BIT_DStream_t` internal register.
 			  if status == BIT_DStream_unfinished, internal register is filled with >= (sizeof(bitD->bitContainer)*8 - 7) bits */
-MEM_STATIC BIT_DStream_status BIT_reloadDStream(BIT_DStream_t* bitD)
+ZSTD_STATIC BIT_DStream_status BIT_reloadDStream(BIT_DStream_t* bitD)
 {
 	if (bitD->bitsConsumed > (sizeof(bitD->bitContainer)*8))  /* should not happen => corruption detected */
 		return BIT_DStream_overflow;
@@ -351,7 +351,7 @@
 	if (bitD->ptr >= bitD->start + sizeof(bitD->bitContainer)) {
 		bitD->ptr -= bitD->bitsConsumed >> 3;
 		bitD->bitsConsumed &= 7;
-		bitD->bitContainer = MEM_readLEST(bitD->ptr);
+		bitD->bitContainer = ZSTD_readLEST(bitD->ptr);
 		return BIT_DStream_unfinished;
 	}
 	if (bitD->ptr == bitD->start) {
@@ -366,7 +366,7 @@
 		}
 		bitD->ptr -= nbBytes;
 		bitD->bitsConsumed -= nbBytes*8;
-		bitD->bitContainer = MEM_readLEST(bitD->ptr);   /* reminder : srcSize > sizeof(bitD) */
+		bitD->bitContainer = ZSTD_readLEST(bitD->ptr);   /* reminder : srcSize > sizeof(bitD) */
 		return result;
 	}
 }
@@ -374,7 +374,7 @@
 /*! BIT_endOfDStream() :
 *   @return Tells if DStream has exactly reached its end (all bits consumed).
 */
-MEM_STATIC unsigned BIT_endOfDStream(const BIT_DStream_t* DStream)
+ZSTD_STATIC unsigned BIT_endOfDStream(const BIT_DStream_t* DStream)
 {
 	return ((DStream->ptr == DStream->start) && (DStream->bitsConsumed == sizeof(DStream->bitContainer)*8));
 }
diff --git a/contrib/linux-kernel/lib/zstd/compress.c b/contrib/linux-kernel/lib/zstd/compress.c
index a078969..daccddf 100644
--- a/contrib/linux-kernel/lib/zstd/compress.c
+++ b/contrib/linux-kernel/lib/zstd/compress.c
@@ -411,7 +411,7 @@
 {
 	if (srcSize + ZSTD_blockHeaderSize > dstCapacity) return ERROR(dstSize_tooSmall);
 	memcpy((BYTE*)dst + ZSTD_blockHeaderSize, src, srcSize);
-	MEM_writeLE24(dst, (U32)(srcSize << 2) + (U32)bt_raw);
+	ZSTD_writeLE24(dst, (U32)(srcSize << 2) + (U32)bt_raw);
 	return ZSTD_blockHeaderSize+srcSize;
 }
 
@@ -429,11 +429,11 @@
 			ostart[0] = (BYTE)((U32)set_basic + (srcSize<<3));
 			break;
 		case 2: /* 2 - 2 - 12 */
-			MEM_writeLE16(ostart, (U16)((U32)set_basic + (1<<2) + (srcSize<<4)));
+			ZSTD_writeLE16(ostart, (U16)((U32)set_basic + (1<<2) + (srcSize<<4)));
 			break;
 		default:   /*note : should not be necessary : flSize is within {1,2,3} */
 		case 3: /* 2 - 2 - 20 */
-			MEM_writeLE32(ostart, (U32)((U32)set_basic + (3<<2) + (srcSize<<4)));
+			ZSTD_writeLE32(ostart, (U32)((U32)set_basic + (3<<2) + (srcSize<<4)));
 			break;
 	}
 
@@ -454,11 +454,11 @@
 			ostart[0] = (BYTE)((U32)set_rle + (srcSize<<3));
 			break;
 		case 2: /* 2 - 2 - 12 */
-			MEM_writeLE16(ostart, (U16)((U32)set_rle + (1<<2) + (srcSize<<4)));
+			ZSTD_writeLE16(ostart, (U16)((U32)set_rle + (1<<2) + (srcSize<<4)));
 			break;
 		default:   /*note : should not be necessary : flSize is necessarily within {1,2,3} */
 		case 3: /* 2 - 2 - 20 */
-			MEM_writeLE32(ostart, (U32)((U32)set_rle + (3<<2) + (srcSize<<4)));
+			ZSTD_writeLE32(ostart, (U32)((U32)set_rle + (3<<2) + (srcSize<<4)));
 			break;
 	}
 
@@ -511,18 +511,18 @@
 	{
 	case 3: /* 2 - 2 - 10 - 10 */
 		{	U32 const lhc = hType + ((!singleStream) << 2) + ((U32)srcSize<<4) + ((U32)cLitSize<<14);
-			MEM_writeLE24(ostart, lhc);
+			ZSTD_writeLE24(ostart, lhc);
 			break;
 		}
 	case 4: /* 2 - 2 - 14 - 14 */
 		{	U32 const lhc = hType + (2 << 2) + ((U32)srcSize<<4) + ((U32)cLitSize<<18);
-			MEM_writeLE32(ostart, lhc);
+			ZSTD_writeLE32(ostart, lhc);
 			break;
 		}
 	default:   /* should not be necessary, lhSize is only {3,4,5} */
 	case 5: /* 2 - 2 - 18 - 18 */
 		{	U32 const lhc = hType + (3 << 2) + ((U32)srcSize<<4) + ((U32)cLitSize<<22);
-			MEM_writeLE32(ostart, lhc);
+			ZSTD_writeLE32(ostart, lhc);
 			ostart[4] = (BYTE)(cLitSize >> 10);
 			break;
 		}
@@ -572,7 +572,7 @@
 		mlCodeTable[seqStorePtr->longLengthPos] = MaxML;
 }
 
-MEM_STATIC size_t ZSTD_compressSequences (ZSTD_CCtx* zc,
+ZSTD_STATIC size_t ZSTD_compressSequences (ZSTD_CCtx* zc,
 							  void* dst, size_t dstCapacity,
 							  size_t srcSize)
 {
@@ -607,7 +607,7 @@
 	if ((oend-op) < 3 /*max nbSeq Size*/ + 1 /*seqHead */) return ERROR(dstSize_tooSmall);
 	if (nbSeq < 0x7F) *op++ = (BYTE)nbSeq;
 	else if (nbSeq < LONGNBSEQ) op[0] = (BYTE)((nbSeq>>8) + 0x80), op[1] = (BYTE)nbSeq, op+=2;
-	else op[0]=0xFF, MEM_writeLE16(op+1, (U16)(nbSeq - LONGNBSEQ)), op+=3;
+	else op[0]=0xFF, ZSTD_writeLE16(op+1, (U16)(nbSeq - LONGNBSEQ)), op+=3;
 	if (nbSeq==0) goto _check_compressibility;
 
 	/* seqHead : flags for FSE encoding type */
@@ -707,9 +707,9 @@
 		FSE_initCState2(&stateOffsetBits,  CTable_OffsetBits,  ofCodeTable[nbSeq-1]);
 		FSE_initCState2(&stateLitLength,   CTable_LitLength,   llCodeTable[nbSeq-1]);
 		BIT_addBits(&blockStream, sequences[nbSeq-1].litLength, LL_bits[llCodeTable[nbSeq-1]]);
-		if (MEM_32bits()) BIT_flushBits(&blockStream);
+		if (ZSTD_32bits()) BIT_flushBits(&blockStream);
 		BIT_addBits(&blockStream, sequences[nbSeq-1].matchLength, ML_bits[mlCodeTable[nbSeq-1]]);
-		if (MEM_32bits()) BIT_flushBits(&blockStream);
+		if (ZSTD_32bits()) BIT_flushBits(&blockStream);
 		if (longOffsets) {
 			U32 const ofBits = ofCodeTable[nbSeq-1];
 			int const extraBits = ofBits - MIN(ofBits, STREAM_ACCUMULATOR_MIN-1);
@@ -735,14 +735,14 @@
 																				/* (7)*/  /* (7)*/
 				FSE_encodeSymbol(&blockStream, &stateOffsetBits, ofCode);       /* 15 */  /* 15 */
 				FSE_encodeSymbol(&blockStream, &stateMatchLength, mlCode);      /* 24 */  /* 24 */
-				if (MEM_32bits()) BIT_flushBits(&blockStream);                  /* (7)*/
+				if (ZSTD_32bits()) BIT_flushBits(&blockStream);                  /* (7)*/
 				FSE_encodeSymbol(&blockStream, &stateLitLength, llCode);        /* 16 */  /* 33 */
-				if (MEM_32bits() || (ofBits+mlBits+llBits >= 64-7-(LLFSELog+MLFSELog+OffFSELog)))
+				if (ZSTD_32bits() || (ofBits+mlBits+llBits >= 64-7-(LLFSELog+MLFSELog+OffFSELog)))
 					BIT_flushBits(&blockStream);                                /* (7)*/
 				BIT_addBits(&blockStream, sequences[n].litLength, llBits);
-				if (MEM_32bits() && ((llBits+mlBits)>24)) BIT_flushBits(&blockStream);
+				if (ZSTD_32bits() && ((llBits+mlBits)>24)) BIT_flushBits(&blockStream);
 				BIT_addBits(&blockStream, sequences[n].matchLength, mlBits);
-				if (MEM_32bits()) BIT_flushBits(&blockStream);                  /* (7)*/
+				if (ZSTD_32bits()) BIT_flushBits(&blockStream);                  /* (7)*/
 				if (longOffsets) {
 					int const extraBits = ofBits - MIN(ofBits, STREAM_ACCUMULATOR_MIN-1);
 					if (extraBits) {
@@ -786,7 +786,7 @@
 	`offsetCode` : distance to match, or 0 == repCode.
 	`matchCode` : matchLength - MINMATCH
 */
-MEM_STATIC void ZSTD_storeSeq(seqStore_t* seqStorePtr, size_t litLength, const void* literals, U32 offsetCode, size_t matchCode)
+ZSTD_STATIC void ZSTD_storeSeq(seqStore_t* seqStorePtr, size_t litLength, const void* literals, U32 offsetCode, size_t matchCode)
 {
 	/* copy Literals */
 	ZSTD_wildcopy(seqStorePtr->lit, literals, litLength);
@@ -812,14 +812,14 @@
 ***************************************/
 static unsigned ZSTD_NbCommonBytes (register size_t val)
 {
-	if (MEM_isLittleEndian()) {
-		if (MEM_64bits()) {
+	if (ZSTD_isLittleEndian()) {
+		if (ZSTD_64bits()) {
 			return (__builtin_ctzll((U64)val) >> 3);
 		} else { /* 32 bits */
 			return (__builtin_ctz((U32)val) >> 3);
 		}
 	} else {  /* Big Endian CPU */
-		if (MEM_64bits()) {
+		if (ZSTD_64bits()) {
 			return (__builtin_clzll(val) >> 3);
 		} else { /* 32 bits */
 			return (__builtin_clz((U32)val) >> 3);
@@ -833,13 +833,13 @@
 	const BYTE* const pInLoopLimit = pInLimit - (sizeof(size_t)-1);
 
 	while (pIn < pInLoopLimit) {
-		size_t const diff = MEM_readST(pMatch) ^ MEM_readST(pIn);
+		size_t const diff = ZSTD_readST(pMatch) ^ ZSTD_readST(pIn);
 		if (!diff) { pIn+=sizeof(size_t); pMatch+=sizeof(size_t); continue; }
 		pIn += ZSTD_NbCommonBytes(diff);
 		return (size_t)(pIn - pStart);
 	}
-	if (MEM_64bits()) if ((pIn<(pInLimit-3)) && (MEM_read32(pMatch) == MEM_read32(pIn))) { pIn+=4; pMatch+=4; }
-	if ((pIn<(pInLimit-1)) && (MEM_read16(pMatch) == MEM_read16(pIn))) { pIn+=2; pMatch+=2; }
+	if (ZSTD_64bits()) if ((pIn<(pInLimit-3)) && (ZSTD_read32(pMatch) == ZSTD_read32(pIn))) { pIn+=4; pMatch+=4; }
+	if ((pIn<(pInLimit-1)) && (ZSTD_read16(pMatch) == ZSTD_read16(pIn))) { pIn+=2; pMatch+=2; }
 	if ((pIn<pInLimit) && (*pMatch == *pIn)) pIn++;
 	return (size_t)(pIn - pStart);
 }
@@ -862,27 +862,27 @@
 ***************************************/
 static const U32 prime3bytes = 506832829U;
 static U32    ZSTD_hash3(U32 u, U32 h) { return ((u << (32-24)) * prime3bytes)  >> (32-h) ; }
-MEM_STATIC size_t ZSTD_hash3Ptr(const void* ptr, U32 h) { return ZSTD_hash3(MEM_readLE32(ptr), h); }   /* only in zstd_opt.h */
+ZSTD_STATIC size_t ZSTD_hash3Ptr(const void* ptr, U32 h) { return ZSTD_hash3(ZSTD_readLE32(ptr), h); }   /* only in zstd_opt.h */
 
 static const U32 prime4bytes = 2654435761U;
 static U32    ZSTD_hash4(U32 u, U32 h) { return (u * prime4bytes) >> (32-h) ; }
-static size_t ZSTD_hash4Ptr(const void* ptr, U32 h) { return ZSTD_hash4(MEM_read32(ptr), h); }
+static size_t ZSTD_hash4Ptr(const void* ptr, U32 h) { return ZSTD_hash4(ZSTD_read32(ptr), h); }
 
 static const U64 prime5bytes = 889523592379ULL;
 static size_t ZSTD_hash5(U64 u, U32 h) { return (size_t)(((u  << (64-40)) * prime5bytes) >> (64-h)) ; }
-static size_t ZSTD_hash5Ptr(const void* p, U32 h) { return ZSTD_hash5(MEM_readLE64(p), h); }
+static size_t ZSTD_hash5Ptr(const void* p, U32 h) { return ZSTD_hash5(ZSTD_readLE64(p), h); }
 
 static const U64 prime6bytes = 227718039650203ULL;
 static size_t ZSTD_hash6(U64 u, U32 h) { return (size_t)(((u  << (64-48)) * prime6bytes) >> (64-h)) ; }
-static size_t ZSTD_hash6Ptr(const void* p, U32 h) { return ZSTD_hash6(MEM_readLE64(p), h); }
+static size_t ZSTD_hash6Ptr(const void* p, U32 h) { return ZSTD_hash6(ZSTD_readLE64(p), h); }
 
 static const U64 prime7bytes = 58295818150454627ULL;
 static size_t ZSTD_hash7(U64 u, U32 h) { return (size_t)(((u  << (64-56)) * prime7bytes) >> (64-h)) ; }
-static size_t ZSTD_hash7Ptr(const void* p, U32 h) { return ZSTD_hash7(MEM_readLE64(p), h); }
+static size_t ZSTD_hash7Ptr(const void* p, U32 h) { return ZSTD_hash7(ZSTD_readLE64(p), h); }
 
 static const U64 prime8bytes = 0xCF1BBCDCB7A56463ULL;
 static size_t ZSTD_hash8(U64 u, U32 h) { return (size_t)(((u) * prime8bytes) >> (64-h)) ; }
-static size_t ZSTD_hash8Ptr(const void* p, U32 h) { return ZSTD_hash8(MEM_readLE64(p), h); }
+static size_t ZSTD_hash8Ptr(const void* p, U32 h) { return ZSTD_hash8(ZSTD_readLE64(p), h); }
 
 static size_t ZSTD_hashPtr(const void* p, U32 hBits, U32 mls)
 {
@@ -953,13 +953,13 @@
 		const BYTE* match = base + matchIndex;
 		hashTable[h] = curr;   /* update hash table */
 
-		if ((offset_1 > 0) & (MEM_read32(ip+1-offset_1) == MEM_read32(ip+1))) {
+		if ((offset_1 > 0) & (ZSTD_read32(ip+1-offset_1) == ZSTD_read32(ip+1))) {
 			mLength = ZSTD_count(ip+1+4, ip+1+4-offset_1, iend) + 4;
 			ip++;
 			ZSTD_storeSeq(seqStorePtr, ip-anchor, anchor, 0, mLength-MINMATCH);
 		} else {
 			U32 offset;
-			if ( (matchIndex <= lowestIndex) || (MEM_read32(match) != MEM_read32(ip)) ) {
+			if ( (matchIndex <= lowestIndex) || (ZSTD_read32(match) != ZSTD_read32(ip)) ) {
 				ip += ((ip-anchor) >> g_searchStrength) + 1;
 				continue;
 			}
@@ -983,7 +983,7 @@
 			/* check immediate repcode */
 			while ( (ip <= ilimit)
 				 && ( (offset_2>0)
-				 & (MEM_read32(ip) == MEM_read32(ip - offset_2)) )) {
+				 & (ZSTD_read32(ip) == ZSTD_read32(ip - offset_2)) )) {
 				/* store sequence */
 				size_t const rLength = ZSTD_count(ip+4, ip+4-offset_2, iend) + 4;
 				{ U32 const tmpOff = offset_2; offset_2 = offset_1; offset_1 = tmpOff; }  /* swap offset_2 <=> offset_1 */
@@ -1060,14 +1060,14 @@
 		hashTable[h] = curr;   /* update hash table */
 
 		if ( (((U32)((dictLimit-1) - repIndex) >= 3) /* intentional underflow */ & (repIndex > lowestIndex))
-		   && (MEM_read32(repMatch) == MEM_read32(ip+1)) ) {
+		   && (ZSTD_read32(repMatch) == ZSTD_read32(ip+1)) ) {
 			const BYTE* repMatchEnd = repIndex < dictLimit ? dictEnd : iend;
 			mLength = ZSTD_count_2segments(ip+1+EQUAL_READ32, repMatch+EQUAL_READ32, iend, repMatchEnd, lowPrefixPtr) + EQUAL_READ32;
 			ip++;
 			ZSTD_storeSeq(seqStorePtr, ip-anchor, anchor, 0, mLength-MINMATCH);
 		} else {
 			if ( (matchIndex < lowestIndex) ||
-				 (MEM_read32(match) != MEM_read32(ip)) ) {
+				 (ZSTD_read32(match) != ZSTD_read32(ip)) ) {
 				ip += ((ip-anchor) >> g_searchStrength) + 1;
 				continue;
 			}
@@ -1096,7 +1096,7 @@
 				U32 const repIndex2 = curr2 - offset_2;
 				const BYTE* repMatch2 = repIndex2 < dictLimit ? dictBase + repIndex2 : base + repIndex2;
 				if ( (((U32)((dictLimit-1) - repIndex2) >= 3) & (repIndex2 > lowestIndex))  /* intentional overflow */
-				   && (MEM_read32(repMatch2) == MEM_read32(ip)) ) {
+				   && (ZSTD_read32(repMatch2) == ZSTD_read32(ip)) ) {
 					const BYTE* const repEnd2 = repIndex2 < dictLimit ? dictEnd : iend;
 					size_t repLength2 = ZSTD_count_2segments(ip+EQUAL_READ32, repMatch2+EQUAL_READ32, iend, repEnd2, lowPrefixPtr) + EQUAL_READ32;
 					U32 tmpOffset = offset_2; offset_2 = offset_1; offset_1 = tmpOffset;   /* swap offset_2 <=> offset_1 */
@@ -1201,22 +1201,22 @@
 		const BYTE* match = base + matchIndexS;
 		hashLong[h2] = hashSmall[h] = curr;   /* update hash tables */
 
-		if ((offset_1 > 0) & (MEM_read32(ip+1-offset_1) == MEM_read32(ip+1))) { /* note : by construction, offset_1 <= curr */
+		if ((offset_1 > 0) & (ZSTD_read32(ip+1-offset_1) == ZSTD_read32(ip+1))) { /* note : by construction, offset_1 <= curr */
 			mLength = ZSTD_count(ip+1+4, ip+1+4-offset_1, iend) + 4;
 			ip++;
 			ZSTD_storeSeq(seqStorePtr, ip-anchor, anchor, 0, mLength-MINMATCH);
 		} else {
 			U32 offset;
-			if ( (matchIndexL > lowestIndex) && (MEM_read64(matchLong) == MEM_read64(ip)) ) {
+			if ( (matchIndexL > lowestIndex) && (ZSTD_read64(matchLong) == ZSTD_read64(ip)) ) {
 				mLength = ZSTD_count(ip+8, matchLong+8, iend) + 8;
 				offset = (U32)(ip-matchLong);
 				while (((ip>anchor) & (matchLong>lowest)) && (ip[-1] == matchLong[-1])) { ip--; matchLong--; mLength++; } /* catch up */
-			} else if ( (matchIndexS > lowestIndex) && (MEM_read32(match) == MEM_read32(ip)) ) {
+			} else if ( (matchIndexS > lowestIndex) && (ZSTD_read32(match) == ZSTD_read32(ip)) ) {
 				size_t const h3 = ZSTD_hashPtr(ip+1, hBitsL, 8);
 				U32 const matchIndex3 = hashLong[h3];
 				const BYTE* match3 = base + matchIndex3;
 				hashLong[h3] = curr + 1;
-				if ( (matchIndex3 > lowestIndex) && (MEM_read64(match3) == MEM_read64(ip+1)) ) {
+				if ( (matchIndex3 > lowestIndex) && (ZSTD_read64(match3) == ZSTD_read64(ip+1)) ) {
 					mLength = ZSTD_count(ip+9, match3+8, iend) + 8;
 					ip++;
 					offset = (U32)(ip-match3);
@@ -1251,7 +1251,7 @@
 			/* check immediate repcode */
 			while ( (ip <= ilimit)
 				 && ( (offset_2>0)
-				 & (MEM_read32(ip) == MEM_read32(ip - offset_2)) )) {
+				 & (ZSTD_read32(ip) == ZSTD_read32(ip - offset_2)) )) {
 				/* store sequence */
 				size_t const rLength = ZSTD_count(ip+4, ip+4-offset_2, iend) + 4;
 				{ U32 const tmpOff = offset_2; offset_2 = offset_1; offset_1 = tmpOff; } /* swap offset_2 <=> offset_1 */
@@ -1336,13 +1336,13 @@
 		hashSmall[hSmall] = hashLong[hLong] = curr;   /* update hash table */
 
 		if ( (((U32)((dictLimit-1) - repIndex) >= 3) /* intentional underflow */ & (repIndex > lowestIndex))
-		   && (MEM_read32(repMatch) == MEM_read32(ip+1)) ) {
+		   && (ZSTD_read32(repMatch) == ZSTD_read32(ip+1)) ) {
 			const BYTE* repMatchEnd = repIndex < dictLimit ? dictEnd : iend;
 			mLength = ZSTD_count_2segments(ip+1+4, repMatch+4, iend, repMatchEnd, lowPrefixPtr) + 4;
 			ip++;
 			ZSTD_storeSeq(seqStorePtr, ip-anchor, anchor, 0, mLength-MINMATCH);
 		} else {
-			if ((matchLongIndex > lowestIndex) && (MEM_read64(matchLong) == MEM_read64(ip))) {
+			if ((matchLongIndex > lowestIndex) && (ZSTD_read64(matchLong) == ZSTD_read64(ip))) {
 				const BYTE* matchEnd = matchLongIndex < dictLimit ? dictEnd : iend;
 				const BYTE* lowMatchPtr = matchLongIndex < dictLimit ? dictStart : lowPrefixPtr;
 				U32 offset;
@@ -1353,14 +1353,14 @@
 				offset_1 = offset;
 				ZSTD_storeSeq(seqStorePtr, ip-anchor, anchor, offset + ZSTD_REP_MOVE, mLength-MINMATCH);
 
-			} else if ((matchIndex > lowestIndex) && (MEM_read32(match) == MEM_read32(ip))) {
+			} else if ((matchIndex > lowestIndex) && (ZSTD_read32(match) == ZSTD_read32(ip))) {
 				size_t const h3 = ZSTD_hashPtr(ip+1, hBitsL, 8);
 				U32 const matchIndex3 = hashLong[h3];
 				const BYTE* const match3Base = matchIndex3 < dictLimit ? dictBase : base;
 				const BYTE* match3 = match3Base + matchIndex3;
 				U32 offset;
 				hashLong[h3] = curr + 1;
-				if ( (matchIndex3 > lowestIndex) && (MEM_read64(match3) == MEM_read64(ip+1)) ) {
+				if ( (matchIndex3 > lowestIndex) && (ZSTD_read64(match3) == ZSTD_read64(ip+1)) ) {
 					const BYTE* matchEnd = matchIndex3 < dictLimit ? dictEnd : iend;
 					const BYTE* lowMatchPtr = matchIndex3 < dictLimit ? dictStart : lowPrefixPtr;
 					mLength = ZSTD_count_2segments(ip+9, match3+8, iend, matchEnd, lowPrefixPtr) + 8;
@@ -1399,7 +1399,7 @@
 				U32 const repIndex2 = curr2 - offset_2;
 				const BYTE* repMatch2 = repIndex2 < dictLimit ? dictBase + repIndex2 : base + repIndex2;
 				if ( (((U32)((dictLimit-1) - repIndex2) >= 3) & (repIndex2 > lowestIndex))  /* intentional overflow */
-				   && (MEM_read32(repMatch2) == MEM_read32(ip)) ) {
+				   && (ZSTD_read32(repMatch2) == ZSTD_read32(ip)) ) {
 					const BYTE* const repEnd2 = repIndex2 < dictLimit ? dictEnd : iend;
 					size_t const repLength2 = ZSTD_count_2segments(ip+EQUAL_READ32, repMatch2+EQUAL_READ32, iend, repEnd2, lowPrefixPtr) + EQUAL_READ32;
 					U32 tmpOffset = offset_2; offset_2 = offset_1; offset_1 = tmpOffset;   /* swap offset_2 <=> offset_1 */
@@ -1748,7 +1748,7 @@
 				currMl = ZSTD_count(ip, match, iLimit);
 		} else {
 			match = dictBase + matchIndex;
-			if (MEM_read32(match) == MEM_read32(ip))   /* assumption : matchIndex <= dictLimit-4 (by table construction) */
+			if (ZSTD_read32(match) == ZSTD_read32(ip))   /* assumption : matchIndex <= dictLimit-4 (by table construction) */
 				currMl = ZSTD_count_2segments(ip+EQUAL_READ32, match+EQUAL_READ32, iLimit, dictEnd, prefixStart) + EQUAL_READ32;
 		}
 
@@ -1837,7 +1837,7 @@
 		const BYTE* start=ip+1;
 
 		/* check repCode */
-		if ((offset_1>0) & (MEM_read32(ip+1) == MEM_read32(ip+1 - offset_1))) {
+		if ((offset_1>0) & (ZSTD_read32(ip+1) == ZSTD_read32(ip+1 - offset_1))) {
 			/* repcode : we take it */
 			matchLength = ZSTD_count(ip+1+EQUAL_READ32, ip+1+EQUAL_READ32-offset_1, iend) + EQUAL_READ32;
 			if (depth==0) goto _storeSequence;
@@ -1859,7 +1859,7 @@
 		if (depth>=1)
 		while (ip<ilimit) {
 			ip ++;
-			if ((offset) && ((offset_1>0) & (MEM_read32(ip) == MEM_read32(ip - offset_1)))) {
+			if ((offset) && ((offset_1>0) & (ZSTD_read32(ip) == ZSTD_read32(ip - offset_1)))) {
 				size_t const mlRep = ZSTD_count(ip+EQUAL_READ32, ip+EQUAL_READ32-offset_1, iend) + EQUAL_READ32;
 				int const gain2 = (int)(mlRep * 3);
 				int const gain1 = (int)(matchLength*3 - ZSTD_highbit32((U32)offset+1) + 1);
@@ -1878,7 +1878,7 @@
 			/* let's find an even better one */
 			if ((depth==2) && (ip<ilimit)) {
 				ip ++;
-				if ((offset) && ((offset_1>0) & (MEM_read32(ip) == MEM_read32(ip - offset_1)))) {
+				if ((offset) && ((offset_1>0) & (ZSTD_read32(ip) == ZSTD_read32(ip - offset_1)))) {
 					size_t const ml2 = ZSTD_count(ip+EQUAL_READ32, ip+EQUAL_READ32-offset_1, iend) + EQUAL_READ32;
 					int const gain2 = (int)(ml2 * 4);
 					int const gain1 = (int)(matchLength*4 - ZSTD_highbit32((U32)offset+1) + 1);
@@ -1913,7 +1913,7 @@
 		/* check immediate repcode */
 		while ( (ip <= ilimit)
 			 && ((offset_2>0)
-			 & (MEM_read32(ip) == MEM_read32(ip - offset_2)) )) {
+			 & (ZSTD_read32(ip) == ZSTD_read32(ip - offset_2)) )) {
 			/* store sequence */
 			matchLength = ZSTD_count(ip+EQUAL_READ32, ip+EQUAL_READ32-offset_2, iend) + EQUAL_READ32;
 			offset = offset_2; offset_2 = offset_1; offset_1 = (U32)offset; /* swap repcodes */
@@ -2001,7 +2001,7 @@
 			const BYTE* const repBase = repIndex < dictLimit ? dictBase : base;
 			const BYTE* const repMatch = repBase + repIndex;
 			if (((U32)((dictLimit-1) - repIndex) >= 3) & (repIndex > lowestIndex))   /* intentional overflow */
-			if (MEM_read32(ip+1) == MEM_read32(repMatch)) {
+			if (ZSTD_read32(ip+1) == ZSTD_read32(repMatch)) {
 				/* repcode detected we should take it */
 				const BYTE* const repEnd = repIndex < dictLimit ? dictEnd : iend;
 				matchLength = ZSTD_count_2segments(ip+1+EQUAL_READ32, repMatch+EQUAL_READ32, iend, repEnd, prefixStart) + EQUAL_READ32;
@@ -2031,7 +2031,7 @@
 				const BYTE* const repBase = repIndex < dictLimit ? dictBase : base;
 				const BYTE* const repMatch = repBase + repIndex;
 				if (((U32)((dictLimit-1) - repIndex) >= 3) & (repIndex > lowestIndex))  /* intentional overflow */
-				if (MEM_read32(ip) == MEM_read32(repMatch)) {
+				if (ZSTD_read32(ip) == ZSTD_read32(repMatch)) {
 					/* repcode detected */
 					const BYTE* const repEnd = repIndex < dictLimit ? dictEnd : iend;
 					size_t const repLength = ZSTD_count_2segments(ip+EQUAL_READ32, repMatch+EQUAL_READ32, iend, repEnd, prefixStart) + EQUAL_READ32;
@@ -2061,7 +2061,7 @@
 					const BYTE* const repBase = repIndex < dictLimit ? dictBase : base;
 					const BYTE* const repMatch = repBase + repIndex;
 					if (((U32)((dictLimit-1) - repIndex) >= 3) & (repIndex > lowestIndex))  /* intentional overflow */
-					if (MEM_read32(ip) == MEM_read32(repMatch)) {
+					if (ZSTD_read32(ip) == ZSTD_read32(repMatch)) {
 						/* repcode detected */
 						const BYTE* const repEnd = repIndex < dictLimit ? dictEnd : iend;
 						size_t repLength = ZSTD_count_2segments(ip+EQUAL_READ32, repMatch+EQUAL_READ32, iend, repEnd, prefixStart) + EQUAL_READ32;
@@ -2105,7 +2105,7 @@
 			const BYTE* const repBase = repIndex < dictLimit ? dictBase : base;
 			const BYTE* const repMatch = repBase + repIndex;
 			if (((U32)((dictLimit-1) - repIndex) >= 3) & (repIndex > lowestIndex))  /* intentional overflow */
-			if (MEM_read32(ip) == MEM_read32(repMatch)) {
+			if (ZSTD_read32(ip) == ZSTD_read32(repMatch)) {
 				/* repcode detected we should take it */
 				const BYTE* const repEnd = repIndex < dictLimit ? dictEnd : iend;
 				matchLength = ZSTD_count_2segments(ip+EQUAL_READ32, repMatch+EQUAL_READ32, iend, repEnd, prefixStart) + EQUAL_READ32;
@@ -2280,12 +2280,12 @@
 		if (cSize == 0) {  /* block is not compressible */
 			U32 const cBlockHeader24 = lastBlock + (((U32)bt_raw)<<1) + (U32)(blockSize << 3);
 			if (blockSize + ZSTD_blockHeaderSize > dstCapacity) return ERROR(dstSize_tooSmall);
-			MEM_writeLE32(op, cBlockHeader24);   /* no pb, 4th byte will be overwritten */
+			ZSTD_writeLE32(op, cBlockHeader24);   /* no pb, 4th byte will be overwritten */
 			memcpy(op + ZSTD_blockHeaderSize, ip, blockSize);
 			cSize = ZSTD_blockHeaderSize+blockSize;
 		} else {
 			U32 const cBlockHeader24 = lastBlock + (((U32)bt_compressed)<<1) + (U32)(cSize << 3);
-			MEM_writeLE24(op, cBlockHeader24);
+			ZSTD_writeLE24(op, cBlockHeader24);
 			cSize += ZSTD_blockHeaderSize;
 		}
 
@@ -2316,7 +2316,7 @@
 
 	if (dstCapacity < ZSTD_frameHeaderSize_max) return ERROR(dstSize_tooSmall);
 
-	MEM_writeLE32(dst, ZSTD_MAGICNUMBER);
+	ZSTD_writeLE32(dst, ZSTD_MAGICNUMBER);
 	op[4] = frameHeaderDecriptionByte; pos=5;
 	if (!singleSegment) op[pos++] = windowLogByte;
 	switch(dictIDSizeCode)
@@ -2324,16 +2324,16 @@
 		default:   /* impossible */
 		case 0 : break;
 		case 1 : op[pos] = (BYTE)(dictID); pos++; break;
-		case 2 : MEM_writeLE16(op+pos, (U16)dictID); pos+=2; break;
-		case 3 : MEM_writeLE32(op+pos, dictID); pos+=4; break;
+		case 2 : ZSTD_writeLE16(op+pos, (U16)dictID); pos+=2; break;
+		case 3 : ZSTD_writeLE32(op+pos, dictID); pos+=4; break;
 	}
 	switch(fcsCode)
 	{
 		default:   /* impossible */
 		case 0 : if (singleSegment) op[pos++] = (BYTE)(pledgedSrcSize); break;
-		case 1 : MEM_writeLE16(op+pos, (U16)(pledgedSrcSize-256)); pos+=2; break;
-		case 2 : MEM_writeLE32(op+pos, (U32)(pledgedSrcSize)); pos+=4; break;
-		case 3 : MEM_writeLE64(op+pos, (U64)(pledgedSrcSize)); pos+=8; break;
+		case 1 : ZSTD_writeLE16(op+pos, (U16)(pledgedSrcSize-256)); pos+=2; break;
+		case 2 : ZSTD_writeLE32(op+pos, (U32)(pledgedSrcSize)); pos+=4; break;
+		case 3 : ZSTD_writeLE64(op+pos, (U64)(pledgedSrcSize)); pos+=8; break;
 	}
 	return pos;
 }
@@ -2493,7 +2493,7 @@
 	BYTE scratchBuffer[1<<MAX(MLFSELog,LLFSELog)];
 
 	dictPtr += 4;   /* skip magic number */
-	cctx->dictID = cctx->params.fParams.noDictIDFlag ? 0 :  MEM_readLE32(dictPtr);
+	cctx->dictID = cctx->params.fParams.noDictIDFlag ? 0 :  ZSTD_readLE32(dictPtr);
 	dictPtr += 4;
 
 	{	size_t const hufHeaderSize = HUF_readCTable(cctx->hufTable, 255, dictPtr, dictEnd-dictPtr);
@@ -2533,9 +2533,9 @@
 	}
 
 	if (dictPtr+12 > dictEnd) return ERROR(dictionary_corrupted);
-	cctx->rep[0] = MEM_readLE32(dictPtr+0);
-	cctx->rep[1] = MEM_readLE32(dictPtr+4);
-	cctx->rep[2] = MEM_readLE32(dictPtr+8);
+	cctx->rep[0] = ZSTD_readLE32(dictPtr+0);
+	cctx->rep[1] = ZSTD_readLE32(dictPtr+4);
+	cctx->rep[2] = ZSTD_readLE32(dictPtr+8);
 	dictPtr += 12;
 
 	{	size_t const dictContentSize = (size_t)(dictEnd - dictPtr);
@@ -2566,7 +2566,7 @@
 	if ((dict==NULL) || (dictSize<=8)) return 0;
 
 	/* dict as pure content */
-	if ((MEM_readLE32(dict) != ZSTD_DICT_MAGIC) || (cctx->forceRawDict))
+	if ((ZSTD_readLE32(dict) != ZSTD_DICT_MAGIC) || (cctx->forceRawDict))
 		return ZSTD_loadDictionaryContent(cctx, dict, dictSize);
 
 	/* dict as zstd dictionary */
@@ -2634,7 +2634,7 @@
 		/* write one last empty block, make it the "last" block */
 		U32 const cBlockHeader24 = 1 /* last block */ + (((U32)bt_raw)<<1) + 0;
 		if (dstCapacity<4) return ERROR(dstSize_tooSmall);
-		MEM_writeLE32(op, cBlockHeader24);
+		ZSTD_writeLE32(op, cBlockHeader24);
 		op += ZSTD_blockHeaderSize;
 		dstCapacity -= ZSTD_blockHeaderSize;
 	}
@@ -2642,7 +2642,7 @@
 	if (cctx->params.fParams.checksumFlag) {
 		U32 const checksum = (U32) xxh64_digest(&cctx->xxhState);
 		if (dstCapacity<4) return ERROR(dstSize_tooSmall);
-		MEM_writeLE32(op, checksum);
+		ZSTD_writeLE32(op, checksum);
 		op += 4;
 	}
 
@@ -2958,7 +2958,7 @@
 
 typedef enum { zsf_gather, zsf_flush, zsf_end } ZSTD_flush_e;
 
-MEM_STATIC size_t ZSTD_limitCopy(void* dst, size_t dstCapacity, const void* src, size_t srcSize)
+ZSTD_STATIC size_t ZSTD_limitCopy(void* dst, size_t dstCapacity, const void* src, size_t srcSize)
 {
 	size_t const length = MIN(dstCapacity, srcSize);
 	memcpy(dst, src, length);
@@ -3242,7 +3242,7 @@
 	if (compressionLevel <= 0) compressionLevel = ZSTD_DEFAULT_CLEVEL;   /* 0 == default; no negative compressionLevel yet */
 	if (compressionLevel > ZSTD_MAX_CLEVEL) compressionLevel = ZSTD_MAX_CLEVEL;
 	cp = ZSTD_defaultCParameters[tableID][compressionLevel];
-	if (MEM_32bits()) {   /* auto-correction, for 32-bits mode */
+	if (ZSTD_32bits()) {   /* auto-correction, for 32-bits mode */
 		if (cp.windowLog > ZSTD_WINDOWLOG_MAX) cp.windowLog = ZSTD_WINDOWLOG_MAX;
 		if (cp.chainLog > ZSTD_CHAINLOG_MAX) cp.chainLog = ZSTD_CHAINLOG_MAX;
 		if (cp.hashLog > ZSTD_HASHLOG_MAX) cp.hashLog = ZSTD_HASHLOG_MAX;
diff --git a/contrib/linux-kernel/lib/zstd/decompress.c b/contrib/linux-kernel/lib/zstd/decompress.c
index bd76a75..d3cc2e9 100644
--- a/contrib/linux-kernel/lib/zstd/decompress.c
+++ b/contrib/linux-kernel/lib/zstd/decompress.c
@@ -115,7 +115,7 @@
 	dctx->entropy.hufTable[0] = (HUF_DTable)((HufLog)*0x1000001);  /* cover both little and big endian */
 	dctx->litEntropy = dctx->fseEntropy = 0;
 	dctx->dictID = 0;
-	MEM_STATIC_ASSERT(sizeof(dctx->entropy.rep) == sizeof(repStartValue));
+	ZSTD_STATIC_ASSERT(sizeof(dctx->entropy.rep) == sizeof(repStartValue));
 	memcpy(dctx->entropy.rep, repStartValue, sizeof(repStartValue));  /* initial repcodes */
 	dctx->LLTptr = dctx->entropy.LLTable;
 	dctx->MLTptr = dctx->entropy.MLTable;
@@ -171,7 +171,7 @@
 unsigned ZSTD_isFrame(const void* buffer, size_t size)
 {
 	if (size < 4) return 0;
-	{	U32 const magic = MEM_readLE32(buffer);
+	{	U32 const magic = ZSTD_readLE32(buffer);
 		if (magic == ZSTD_MAGICNUMBER) return 1;
 		if ((magic & 0xFFFFFFF0U) == ZSTD_MAGIC_SKIPPABLE_START) return 1;
 	}
@@ -205,11 +205,11 @@
 	const BYTE* ip = (const BYTE*)src;
 
 	if (srcSize < ZSTD_frameHeaderSize_prefix) return ZSTD_frameHeaderSize_prefix;
-	if (MEM_readLE32(src) != ZSTD_MAGICNUMBER) {
-		if ((MEM_readLE32(src) & 0xFFFFFFF0U) == ZSTD_MAGIC_SKIPPABLE_START) {
+	if (ZSTD_readLE32(src) != ZSTD_MAGICNUMBER) {
+		if ((ZSTD_readLE32(src) & 0xFFFFFFF0U) == ZSTD_MAGIC_SKIPPABLE_START) {
 			if (srcSize < ZSTD_skippableHeaderSize) return ZSTD_skippableHeaderSize; /* magic number + skippable frame length */
 			memset(fparamsPtr, 0, sizeof(*fparamsPtr));
-			fparamsPtr->frameContentSize = MEM_readLE32((const char *)src + 4);
+			fparamsPtr->frameContentSize = ZSTD_readLE32((const char *)src + 4);
 			fparamsPtr->windowSize = 0; /* windowSize==0 means a frame is skippable */
 			return 0;
 		}
@@ -244,16 +244,16 @@
 			default:   /* impossible */
 			case 0 : break;
 			case 1 : dictID = ip[pos]; pos++; break;
-			case 2 : dictID = MEM_readLE16(ip+pos); pos+=2; break;
-			case 3 : dictID = MEM_readLE32(ip+pos); pos+=4; break;
+			case 2 : dictID = ZSTD_readLE16(ip+pos); pos+=2; break;
+			case 3 : dictID = ZSTD_readLE32(ip+pos); pos+=4; break;
 		}
 		switch(fcsID)
 		{
 			default:   /* impossible */
 			case 0 : if (singleSegment) frameContentSize = ip[pos]; break;
-			case 1 : frameContentSize = MEM_readLE16(ip+pos)+256; break;
-			case 2 : frameContentSize = MEM_readLE32(ip+pos); break;
-			case 3 : frameContentSize = MEM_readLE64(ip+pos); break;
+			case 1 : frameContentSize = ZSTD_readLE16(ip+pos)+256; break;
+			case 2 : frameContentSize = ZSTD_readLE32(ip+pos); break;
+			case 3 : frameContentSize = ZSTD_readLE64(ip+pos); break;
 		}
 		if (!windowSize) windowSize = (U32)frameContentSize;
 		if (windowSize > windowSizeMax) return ERROR(frameParameter_windowTooLarge);
@@ -296,13 +296,13 @@
 	{
 		unsigned long long totalDstSize = 0;
 		while (srcSize >= ZSTD_frameHeaderSize_prefix) {
-			const U32 magicNumber = MEM_readLE32(src);
+			const U32 magicNumber = ZSTD_readLE32(src);
 
 			if ((magicNumber & 0xFFFFFFF0U) == ZSTD_MAGIC_SKIPPABLE_START) {
 				size_t skippableSize;
 				if (srcSize < ZSTD_skippableHeaderSize)
 					return ERROR(srcSize_wrong);
-				skippableSize = MEM_readLE32((const BYTE *)src + 4) +
+				skippableSize = ZSTD_readLE32((const BYTE *)src + 4) +
 								ZSTD_skippableHeaderSize;
 				if (srcSize < skippableSize) {
 					return ZSTD_CONTENTSIZE_ERROR;
@@ -366,7 +366,7 @@
 size_t ZSTD_getcBlockSize(const void* src, size_t srcSize, blockProperties_t* bpPtr)
 {
 	if (srcSize < ZSTD_blockHeaderSize) return ERROR(srcSize_wrong);
-	{	U32 const cBlockHeader = MEM_readLE24(src);
+	{	U32 const cBlockHeader = ZSTD_readLE24(src);
 		U32 const cSize = cBlockHeader >> 3;
 		bpPtr->lastBlock = cBlockHeader & 1;
 		bpPtr->blockType = (blockType_e)((cBlockHeader >> 1) & 3);
@@ -414,7 +414,7 @@
 			{	size_t lhSize, litSize, litCSize;
 				U32 singleStream=0;
 				U32 const lhlCode = (istart[0] >> 2) & 3;
-				U32 const lhc = MEM_readLE32(istart);
+				U32 const lhc = ZSTD_readLE32(istart);
 				switch(lhlCode)
 				{
 				case 0: case 1: default:   /* note : default is impossible, since lhlCode into [0..3] */
@@ -468,11 +468,11 @@
 					break;
 				case 1:
 					lhSize = 2;
-					litSize = MEM_readLE16(istart) >> 4;
+					litSize = ZSTD_readLE16(istart) >> 4;
 					break;
 				case 3:
 					lhSize = 3;
-					litSize = MEM_readLE24(istart) >> 4;
+					litSize = ZSTD_readLE24(istart) >> 4;
 					break;
 				}
 
@@ -501,11 +501,11 @@
 					break;
 				case 1:
 					lhSize = 2;
-					litSize = MEM_readLE16(istart) >> 4;
+					litSize = ZSTD_readLE16(istart) >> 4;
 					break;
 				case 3:
 					lhSize = 3;
-					litSize = MEM_readLE24(istart) >> 4;
+					litSize = ZSTD_readLE24(istart) >> 4;
 					if (srcSize<4) return ERROR(corruption_detected);   /* srcSize >= MIN_CBLOCK_SIZE == 3; here we need lhSize+1 = 4 */
 					break;
 				}
@@ -752,7 +752,7 @@
 		if (nbSeq > 0x7F) {
 			if (nbSeq == 0xFF) {
 				if (ip+2 > iend) return ERROR(srcSize_wrong);
-				nbSeq = MEM_readLE16(ip) + LONGNBSEQ, ip+=2;
+				nbSeq = ZSTD_readLE16(ip) + LONGNBSEQ, ip+=2;
 			} else {
 				if (ip >= iend) return ERROR(srcSize_wrong);
 				nbSeq = ((nbSeq-0x80)<<8) + *ip++;
@@ -897,7 +897,7 @@
 			offset = 0;
 		else {
 			offset = OF_base[ofCode] + BIT_readBitsFast(&seqState->DStream, ofBits);   /* <=  (ZSTD_WINDOWLOG_MAX-1) bits */
-			if (MEM_32bits()) BIT_reloadDStream(&seqState->DStream);
+			if (ZSTD_32bits()) BIT_reloadDStream(&seqState->DStream);
 		}
 
 		if (ofCode <= 1) {
@@ -920,16 +920,16 @@
 	}
 
 	seq.matchLength = ML_base[mlCode] + ((mlCode>31) ? BIT_readBitsFast(&seqState->DStream, mlBits) : 0);  /* <=  16 bits */
-	if (MEM_32bits() && (mlBits+llBits>24)) BIT_reloadDStream(&seqState->DStream);
+	if (ZSTD_32bits() && (mlBits+llBits>24)) BIT_reloadDStream(&seqState->DStream);
 
 	seq.litLength = LL_base[llCode] + ((llCode>15) ? BIT_readBitsFast(&seqState->DStream, llBits) : 0);    /* <=  16 bits */
-	if (MEM_32bits() ||
+	if (ZSTD_32bits() ||
 	   (totalBits > 64 - 7 - (LLFSELog+MLFSELog+OffFSELog)) ) BIT_reloadDStream(&seqState->DStream);
 
 	/* ANS state update */
 	FSE_updateState(&seqState->stateLL, &seqState->DStream);    /* <=  9 bits */
 	FSE_updateState(&seqState->stateML, &seqState->DStream);    /* <=  9 bits */
-	if (MEM_32bits()) BIT_reloadDStream(&seqState->DStream);    /* <= 18 bits */
+	if (ZSTD_32bits()) BIT_reloadDStream(&seqState->DStream);    /* <= 18 bits */
 	FSE_updateState(&seqState->stateOffb, &seqState->DStream);  /* <=  8 bits */
 
 	return seq;
@@ -1112,11 +1112,11 @@
 			if (longOffsets) {
 				int const extraBits = ofBits - MIN(ofBits, STREAM_ACCUMULATOR_MIN);
 				offset = OF_base[ofCode] + (BIT_readBitsFast(&seqState->DStream, ofBits - extraBits) << extraBits);
-				if (MEM_32bits() || extraBits) BIT_reloadDStream(&seqState->DStream);
+				if (ZSTD_32bits() || extraBits) BIT_reloadDStream(&seqState->DStream);
 				if (extraBits) offset += BIT_readBitsFast(&seqState->DStream, extraBits);
 			} else {
 				offset = OF_base[ofCode] + BIT_readBitsFast(&seqState->DStream, ofBits);   /* <=  (ZSTD_WINDOWLOG_MAX-1) bits */
-				if (MEM_32bits()) BIT_reloadDStream(&seqState->DStream);
+				if (ZSTD_32bits()) BIT_reloadDStream(&seqState->DStream);
 			}
 		}
 
@@ -1140,10 +1140,10 @@
 	}
 
 	seq.matchLength = ML_base[mlCode] + ((mlCode>31) ? BIT_readBitsFast(&seqState->DStream, mlBits) : 0);  /* <=  16 bits */
-	if (MEM_32bits() && (mlBits+llBits>24)) BIT_reloadDStream(&seqState->DStream);
+	if (ZSTD_32bits() && (mlBits+llBits>24)) BIT_reloadDStream(&seqState->DStream);
 
 	seq.litLength = LL_base[llCode] + ((llCode>15) ? BIT_readBitsFast(&seqState->DStream, llBits) : 0);    /* <=  16 bits */
-	if (MEM_32bits() ||
+	if (ZSTD_32bits() ||
 	   (totalBits > 64 - 7 - (LLFSELog+MLFSELog+OffFSELog)) ) BIT_reloadDStream(&seqState->DStream);
 
 	{	size_t const pos = seqState->pos + seq.litLength;
@@ -1155,7 +1155,7 @@
 	/* ANS state update */
 	FSE_updateState(&seqState->stateLL, &seqState->DStream);    /* <=  9 bits */
 	FSE_updateState(&seqState->stateML, &seqState->DStream);    /* <=  9 bits */
-	if (MEM_32bits()) BIT_reloadDStream(&seqState->DStream);    /* <= 18 bits */
+	if (ZSTD_32bits()) BIT_reloadDStream(&seqState->DStream);    /* <= 18 bits */
 	FSE_updateState(&seqState->stateOffb, &seqState->DStream);  /* <=  8 bits */
 
 	return seq;
@@ -1401,8 +1401,8 @@
 size_t ZSTD_findFrameCompressedSize(const void *src, size_t srcSize)
 {
 	if (srcSize >= ZSTD_skippableHeaderSize &&
-			(MEM_readLE32(src) & 0xFFFFFFF0U) == ZSTD_MAGIC_SKIPPABLE_START) {
-		return ZSTD_skippableHeaderSize + MEM_readLE32((const BYTE*)src + 4);
+			(ZSTD_readLE32(src) & 0xFFFFFFF0U) == ZSTD_MAGIC_SKIPPABLE_START) {
+		return ZSTD_skippableHeaderSize + ZSTD_readLE32((const BYTE*)src + 4);
 	} else {
 		const BYTE* ip = (const BYTE*)src;
 		const BYTE* const ipstart = ip;
@@ -1507,7 +1507,7 @@
 		U32 const checkCalc = (U32)xxh64_digest(&dctx->xxhState);
 		U32 checkRead;
 		if (remainingSize<4) return ERROR(checksum_wrong);
-		checkRead = MEM_readLE32(ip);
+		checkRead = ZSTD_readLE32(ip);
 		if (checkRead != checkCalc) return ERROR(checksum_wrong);
 		ip += 4;
 		remainingSize -= 4;
@@ -1543,13 +1543,13 @@
 	while (srcSize >= ZSTD_frameHeaderSize_prefix) {
 		U32 magicNumber;
 
-		magicNumber = MEM_readLE32(src);
+		magicNumber = ZSTD_readLE32(src);
 		if (magicNumber != ZSTD_MAGICNUMBER) {
 			if ((magicNumber & 0xFFFFFFF0U) == ZSTD_MAGIC_SKIPPABLE_START) {
 				size_t skippableSize;
 				if (srcSize < ZSTD_skippableHeaderSize)
 					return ERROR(srcSize_wrong);
-				skippableSize = MEM_readLE32((const BYTE *)src + 4) +
+				skippableSize = ZSTD_readLE32((const BYTE *)src + 4) +
 								ZSTD_skippableHeaderSize;
 				if (srcSize < skippableSize) {
 					return ERROR(srcSize_wrong);
@@ -1642,7 +1642,7 @@
 	{
 	case ZSTDds_getFrameHeaderSize :
 		if (srcSize != ZSTD_frameHeaderSize_prefix) return ERROR(srcSize_wrong);      /* impossible */
-		if ((MEM_readLE32(src) & 0xFFFFFFF0U) == ZSTD_MAGIC_SKIPPABLE_START) {        /* skippable frame */
+		if ((ZSTD_readLE32(src) & 0xFFFFFFF0U) == ZSTD_MAGIC_SKIPPABLE_START) {        /* skippable frame */
 			memcpy(dctx->headerBuffer, src, ZSTD_frameHeaderSize_prefix);
 			dctx->expected = ZSTD_skippableHeaderSize - ZSTD_frameHeaderSize_prefix;  /* magic number + skippable frame length */
 			dctx->stage = ZSTDds_decodeSkippableHeader;
@@ -1729,7 +1729,7 @@
 		}
 	case ZSTDds_checkChecksum:
 		{	U32 const h32 = (U32)xxh64_digest(&dctx->xxhState);
-			U32 const check32 = MEM_readLE32(src);   /* srcSize == 4, guaranteed by dctx->expected */
+			U32 const check32 = ZSTD_readLE32(src);   /* srcSize == 4, guaranteed by dctx->expected */
 			if (check32 != h32) return ERROR(checksum_wrong);
 			dctx->expected = 0;
 			dctx->stage = ZSTDds_getFrameHeaderSize;
@@ -1737,7 +1737,7 @@
 		}
 	case ZSTDds_decodeSkippableHeader:
 		{	memcpy(dctx->headerBuffer + ZSTD_frameHeaderSize_prefix, src, dctx->expected);
-			dctx->expected = MEM_readLE32(dctx->headerBuffer + 4);
+			dctx->expected = ZSTD_readLE32(dctx->headerBuffer + 4);
 			dctx->stage = ZSTDds_skipFrame;
 			return 0;
 		}
@@ -1809,7 +1809,7 @@
 	{	int i;
 		size_t const dictContentSize = (size_t)(dictEnd - (dictPtr+12));
 		for (i=0; i<3; i++) {
-			U32 const rep = MEM_readLE32(dictPtr); dictPtr += 4;
+			U32 const rep = ZSTD_readLE32(dictPtr); dictPtr += 4;
 			if (rep==0 || rep >= dictContentSize) return ERROR(dictionary_corrupted);
 			entropy->rep[i] = rep;
 	}   }
@@ -1820,11 +1820,11 @@
 static size_t ZSTD_decompress_insertDictionary(ZSTD_DCtx* dctx, const void* dict, size_t dictSize)
 {
 	if (dictSize < 8) return ZSTD_refDictContent(dctx, dict, dictSize);
-	{	U32 const magic = MEM_readLE32(dict);
+	{	U32 const magic = ZSTD_readLE32(dict);
 		if (magic != ZSTD_DICT_MAGIC) {
 			return ZSTD_refDictContent(dctx, dict, dictSize);   /* pure content mode */
 	}   }
-	dctx->dictID = MEM_readLE32((const char*)dict + 4);
+	dctx->dictID = ZSTD_readLE32((const char*)dict + 4);
 
 	/* load entropy tables */
 	{	size_t const eSize = ZSTD_loadEntropy(&dctx->entropy, dict, dictSize);
@@ -1904,10 +1904,10 @@
 	ddict->dictID = 0;
 	ddict->entropyPresent = 0;
 	if (ddict->dictSize < 8) return 0;
-	{	U32 const magic = MEM_readLE32(ddict->dictContent);
+	{	U32 const magic = ZSTD_readLE32(ddict->dictContent);
 		if (magic != ZSTD_DICT_MAGIC) return 0;   /* pure content mode */
 	}
-	ddict->dictID = MEM_readLE32((const char*)ddict->dictContent + 4);
+	ddict->dictID = ZSTD_readLE32((const char*)ddict->dictContent + 4);
 
 	/* load entropy tables */
 	CHECK_E( ZSTD_loadEntropy(&ddict->entropy, ddict->dictContent, ddict->dictSize), dictionary_corrupted );
@@ -1975,8 +1975,8 @@
 unsigned ZSTD_getDictID_fromDict(const void* dict, size_t dictSize)
 {
 	if (dictSize < 8) return 0;
-	if (MEM_readLE32(dict) != ZSTD_DICT_MAGIC) return 0;
-	return MEM_readLE32((const char*)dict + 4);
+	if (ZSTD_readLE32(dict) != ZSTD_DICT_MAGIC) return 0;
+	return ZSTD_readLE32((const char*)dict + 4);
 }
 
 /*! ZSTD_getDictID_fromDDict() :
@@ -2139,7 +2139,7 @@
 
 /* *****   Decompression   ***** */
 
-MEM_STATIC size_t ZSTD_limitCopy(void* dst, size_t dstCapacity, const void* src, size_t srcSize)
+ZSTD_STATIC size_t ZSTD_limitCopy(void* dst, size_t dstCapacity, const void* src, size_t srcSize)
 {
 	size_t const length = MIN(dstCapacity, srcSize);
 	memcpy(dst, src, length);
diff --git a/contrib/linux-kernel/lib/zstd/entropy_common.c b/contrib/linux-kernel/lib/zstd/entropy_common.c
index b13fb99..4e429f2 100644
--- a/contrib/linux-kernel/lib/zstd/entropy_common.c
+++ b/contrib/linux-kernel/lib/zstd/entropy_common.c
@@ -74,7 +74,7 @@
 	int previous0 = 0;
 
 	if (hbSize < 4) return ERROR(srcSize_wrong);
-	bitStream = MEM_readLE32(ip);
+	bitStream = ZSTD_readLE32(ip);
 	nbBits = (bitStream & 0xF) + FSE_MIN_TABLELOG;   /* extract tableLog */
 	if (nbBits > FSE_TABLELOG_ABSOLUTE_MAX) return ERROR(tableLog_tooLarge);
 	bitStream >>= 4;
@@ -91,7 +91,7 @@
 				n0 += 24;
 				if (ip < iend-5) {
 					ip += 2;
-					bitStream = MEM_readLE32(ip) >> bitCount;
+					bitStream = ZSTD_readLE32(ip) >> bitCount;
 				} else {
 					bitStream >>= 16;
 					bitCount   += 16;
@@ -108,7 +108,7 @@
 			if ((ip <= iend-7) || (ip + (bitCount>>3) <= iend-4)) {
 				ip += bitCount>>3;
 				bitCount &= 7;
-				bitStream = MEM_readLE32(ip) >> bitCount;
+				bitStream = ZSTD_readLE32(ip) >> bitCount;
 			} else {
 				bitStream >>= 2;
 		}   }
@@ -140,7 +140,7 @@
 				bitCount -= (int)(8 * (iend - 4 - ip));
 				ip = iend - 4;
 			}
-			bitStream = MEM_readLE32(ip) >> (bitCount & 31);
+			bitStream = ZSTD_readLE32(ip) >> (bitCount & 31);
 	}   }   /* while ((remaining>1) & (charnum<=*maxSVPtr)) */
 	if (remaining != 1) return ERROR(corruption_detected);
 	if (bitCount > 32) return ERROR(corruption_detected);
diff --git a/contrib/linux-kernel/lib/zstd/fse.h b/contrib/linux-kernel/lib/zstd/fse.h
index a042154..b59b2c6 100644
--- a/contrib/linux-kernel/lib/zstd/fse.h
+++ b/contrib/linux-kernel/lib/zstd/fse.h
@@ -447,11 +447,11 @@
 	U32 deltaNbBits;
 } FSE_symbolCompressionTransform; /* total 8 bytes */
 
-MEM_STATIC void FSE_initCState(FSE_CState_t* statePtr, const FSE_CTable* ct)
+ZSTD_STATIC void FSE_initCState(FSE_CState_t* statePtr, const FSE_CTable* ct)
 {
 	const void* ptr = ct;
 	const U16* u16ptr = (const U16*) ptr;
-	const U32 tableLog = MEM_read16(ptr);
+	const U32 tableLog = ZSTD_read16(ptr);
 	statePtr->value = (ptrdiff_t)1<<tableLog;
 	statePtr->stateTable = u16ptr+2;
 	statePtr->symbolTT = ((const U32*)ct + 1 + (tableLog ? (1<<(tableLog-1)) : 1));
@@ -462,7 +462,7 @@
 /*! FSE_initCState2() :
 *   Same as FSE_initCState(), but the first symbol to include (which will be the last to be read)
 *   uses the smallest state value possible, saving the cost of this symbol */
-MEM_STATIC void FSE_initCState2(FSE_CState_t* statePtr, const FSE_CTable* ct, U32 symbol)
+ZSTD_STATIC void FSE_initCState2(FSE_CState_t* statePtr, const FSE_CTable* ct, U32 symbol)
 {
 	FSE_initCState(statePtr, ct);
 	{	const FSE_symbolCompressionTransform symbolTT = ((const FSE_symbolCompressionTransform*)(statePtr->symbolTT))[symbol];
@@ -473,7 +473,7 @@
 	}
 }
 
-MEM_STATIC void FSE_encodeSymbol(BIT_CStream_t* bitC, FSE_CState_t* statePtr, U32 symbol)
+ZSTD_STATIC void FSE_encodeSymbol(BIT_CStream_t* bitC, FSE_CState_t* statePtr, U32 symbol)
 {
 	const FSE_symbolCompressionTransform symbolTT = ((const FSE_symbolCompressionTransform*)(statePtr->symbolTT))[symbol];
 	const U16* const stateTable = (const U16*)(statePtr->stateTable);
@@ -482,7 +482,7 @@
 	statePtr->value = stateTable[ (statePtr->value >> nbBitsOut) + symbolTT.deltaFindState];
 }
 
-MEM_STATIC void FSE_flushCState(BIT_CStream_t* bitC, const FSE_CState_t* statePtr)
+ZSTD_STATIC void FSE_flushCState(BIT_CStream_t* bitC, const FSE_CState_t* statePtr)
 {
 	BIT_addBits(bitC, statePtr->value, statePtr->stateLog);
 	BIT_flushBits(bitC);
@@ -503,7 +503,7 @@
 	unsigned char  nbBits;
 } FSE_decode_t;   /* size == U32 */
 
-MEM_STATIC void FSE_initDState(FSE_DState_t* DStatePtr, BIT_DStream_t* bitD, const FSE_DTable* dt)
+ZSTD_STATIC void FSE_initDState(FSE_DState_t* DStatePtr, BIT_DStream_t* bitD, const FSE_DTable* dt)
 {
 	const void* ptr = dt;
 	const FSE_DTableHeader* const DTableH = (const FSE_DTableHeader*)ptr;
@@ -512,13 +512,13 @@
 	DStatePtr->table = dt + 1;
 }
 
-MEM_STATIC BYTE FSE_peekSymbol(const FSE_DState_t* DStatePtr)
+ZSTD_STATIC BYTE FSE_peekSymbol(const FSE_DState_t* DStatePtr)
 {
 	FSE_decode_t const DInfo = ((const FSE_decode_t*)(DStatePtr->table))[DStatePtr->state];
 	return DInfo.symbol;
 }
 
-MEM_STATIC void FSE_updateState(FSE_DState_t* DStatePtr, BIT_DStream_t* bitD)
+ZSTD_STATIC void FSE_updateState(FSE_DState_t* DStatePtr, BIT_DStream_t* bitD)
 {
 	FSE_decode_t const DInfo = ((const FSE_decode_t*)(DStatePtr->table))[DStatePtr->state];
 	U32 const nbBits = DInfo.nbBits;
@@ -526,7 +526,7 @@
 	DStatePtr->state = DInfo.newState + lowBits;
 }
 
-MEM_STATIC BYTE FSE_decodeSymbol(FSE_DState_t* DStatePtr, BIT_DStream_t* bitD)
+ZSTD_STATIC BYTE FSE_decodeSymbol(FSE_DState_t* DStatePtr, BIT_DStream_t* bitD)
 {
 	FSE_decode_t const DInfo = ((const FSE_decode_t*)(DStatePtr->table))[DStatePtr->state];
 	U32 const nbBits = DInfo.nbBits;
@@ -539,7 +539,7 @@
 
 /*! FSE_decodeSymbolFast() :
 	unsafe, only works if no symbol has a probability > 50% */
-MEM_STATIC BYTE FSE_decodeSymbolFast(FSE_DState_t* DStatePtr, BIT_DStream_t* bitD)
+ZSTD_STATIC BYTE FSE_decodeSymbolFast(FSE_DState_t* DStatePtr, BIT_DStream_t* bitD)
 {
 	FSE_decode_t const DInfo = ((const FSE_decode_t*)(DStatePtr->table))[DStatePtr->state];
 	U32 const nbBits = DInfo.nbBits;
@@ -550,7 +550,7 @@
 	return symbol;
 }
 
-MEM_STATIC unsigned FSE_endOfDState(const FSE_DState_t* DStatePtr)
+ZSTD_STATIC unsigned FSE_endOfDState(const FSE_DState_t* DStatePtr)
 {
 	return DStatePtr->state == 0;
 }
diff --git a/contrib/linux-kernel/lib/zstd/fse_compress.c b/contrib/linux-kernel/lib/zstd/fse_compress.c
index d13f00d..0a7c01b 100644
--- a/contrib/linux-kernel/lib/zstd/fse_compress.c
+++ b/contrib/linux-kernel/lib/zstd/fse_compress.c
@@ -342,24 +342,24 @@
 	if (!maxSymbolValue) maxSymbolValue = 255;            /* 0 == default */
 
 	/* by stripes of 16 bytes */
-	{	U32 cached = MEM_read32(ip); ip += 4;
+	{	U32 cached = ZSTD_read32(ip); ip += 4;
 		while (ip < iend-15) {
-			U32 c = cached; cached = MEM_read32(ip); ip += 4;
+			U32 c = cached; cached = ZSTD_read32(ip); ip += 4;
 			Counting1[(BYTE) c     ]++;
 			Counting2[(BYTE)(c>>8) ]++;
 			Counting3[(BYTE)(c>>16)]++;
 			Counting4[       c>>24 ]++;
-			c = cached; cached = MEM_read32(ip); ip += 4;
+			c = cached; cached = ZSTD_read32(ip); ip += 4;
 			Counting1[(BYTE) c     ]++;
 			Counting2[(BYTE)(c>>8) ]++;
 			Counting3[(BYTE)(c>>16)]++;
 			Counting4[       c>>24 ]++;
-			c = cached; cached = MEM_read32(ip); ip += 4;
+			c = cached; cached = ZSTD_read32(ip); ip += 4;
 			Counting1[(BYTE) c     ]++;
 			Counting2[(BYTE)(c>>8) ]++;
 			Counting3[(BYTE)(c>>16)]++;
 			Counting4[       c>>24 ]++;
-			c = cached; cached = MEM_read32(ip); ip += 4;
+			c = cached; cached = ZSTD_read32(ip); ip += 4;
 			Counting1[(BYTE) c     ]++;
 			Counting2[(BYTE)(c>>8) ]++;
 			Counting3[(BYTE)(c>>16)]++;
diff --git a/contrib/linux-kernel/lib/zstd/huf_compress.c b/contrib/linux-kernel/lib/zstd/huf_compress.c
index ee03de9..2c1c321 100644
--- a/contrib/linux-kernel/lib/zstd/huf_compress.c
+++ b/contrib/linux-kernel/lib/zstd/huf_compress.c
@@ -487,21 +487,21 @@
 
 	{	CHECK_V_F(cSize, HUF_compress1X_usingCTable(op, oend-op, ip, segmentSize, CTable) );
 		if (cSize==0) return 0;
-		MEM_writeLE16(ostart, (U16)cSize);
+		ZSTD_writeLE16(ostart, (U16)cSize);
 		op += cSize;
 	}
 
 	ip += segmentSize;
 	{	CHECK_V_F(cSize, HUF_compress1X_usingCTable(op, oend-op, ip, segmentSize, CTable) );
 		if (cSize==0) return 0;
-		MEM_writeLE16(ostart+2, (U16)cSize);
+		ZSTD_writeLE16(ostart+2, (U16)cSize);
 		op += cSize;
 	}
 
 	ip += segmentSize;
 	{	CHECK_V_F(cSize, HUF_compress1X_usingCTable(op, oend-op, ip, segmentSize, CTable) );
 		if (cSize==0) return 0;
-		MEM_writeLE16(ostart+4, (U16)cSize);
+		ZSTD_writeLE16(ostart+4, (U16)cSize);
 		op += cSize;
 	}
 
diff --git a/contrib/linux-kernel/lib/zstd/huf_decompress.c b/contrib/linux-kernel/lib/zstd/huf_decompress.c
index 1ed6826..81f90ff 100644
--- a/contrib/linux-kernel/lib/zstd/huf_decompress.c
+++ b/contrib/linux-kernel/lib/zstd/huf_decompress.c
@@ -140,11 +140,11 @@
 	*ptr++ = HUF_decodeSymbolX2(DStreamPtr, dt, dtLog)
 
 #define HUF_DECODE_SYMBOLX2_1(ptr, DStreamPtr) \
-	if (MEM_64bits() || (HUF_TABLELOG_MAX<=12)) \
+	if (ZSTD_64bits() || (HUF_TABLELOG_MAX<=12)) \
 		HUF_DECODE_SYMBOLX2_0(ptr, DStreamPtr)
 
 #define HUF_DECODE_SYMBOLX2_2(ptr, DStreamPtr) \
-	if (MEM_64bits()) \
+	if (ZSTD_64bits()) \
 		HUF_DECODE_SYMBOLX2_0(ptr, DStreamPtr)
 
 FORCE_INLINE size_t HUF_decodeStreamX2(BYTE* p, BIT_DStream_t* const bitDPtr, BYTE* const pEnd, const HUF_DEltX2* const dt, const U32 dtLog)
@@ -236,9 +236,9 @@
 		BIT_DStream_t bitD2;
 		BIT_DStream_t bitD3;
 		BIT_DStream_t bitD4;
-		size_t const length1 = MEM_readLE16(istart);
-		size_t const length2 = MEM_readLE16(istart+2);
-		size_t const length3 = MEM_readLE16(istart+4);
+		size_t const length1 = ZSTD_readLE16(istart);
+		size_t const length2 = ZSTD_readLE16(istart+2);
+		size_t const length3 = ZSTD_readLE16(istart+4);
 		size_t const length4 = cSrcSize - (length1 + length2 + length3 + 6);
 		const BYTE* const istart1 = istart + 6;  /* jumpTable */
 		const BYTE* const istart2 = istart1 + length1;
@@ -356,7 +356,7 @@
 	/* fill skipped values */
 	if (minWeight>1) {
 		U32 i, skipSize = rankVal[minWeight];
-		MEM_writeLE16(&(DElt.sequence), baseSeq);
+		ZSTD_writeLE16(&(DElt.sequence), baseSeq);
 		DElt.nbBits   = (BYTE)(consumed);
 		DElt.length   = 1;
 		for (i = 0; i < skipSize; i++)
@@ -373,7 +373,7 @@
 			U32 i = start;
 			const U32 end = start + length;
 
-			MEM_writeLE16(&(DElt.sequence), (U16)(baseSeq + (symbol << 8)));
+			ZSTD_writeLE16(&(DElt.sequence), (U16)(baseSeq + (symbol << 8)));
 			DElt.nbBits = (BYTE)(nbBits + consumed);
 			DElt.length = 2;
 			do { DTable[i++] = DElt; } while (i<end);   /* since length >= 1 */
@@ -415,7 +415,7 @@
 						   nbBitsBaseline, symbol);
 		} else {
 			HUF_DEltX4 DElt;
-			MEM_writeLE16(&(DElt.sequence), symbol);
+			ZSTD_writeLE16(&(DElt.sequence), symbol);
 			DElt.nbBits = (BYTE)(nbBits);
 			DElt.length = 1;
 			{	U32 const end = start + length;
@@ -534,11 +534,11 @@
 	ptr += HUF_decodeSymbolX4(ptr, DStreamPtr, dt, dtLog)
 
 #define HUF_DECODE_SYMBOLX4_1(ptr, DStreamPtr) \
-	if (MEM_64bits() || (HUF_TABLELOG_MAX<=12)) \
+	if (ZSTD_64bits() || (HUF_TABLELOG_MAX<=12)) \
 		ptr += HUF_decodeSymbolX4(ptr, DStreamPtr, dt, dtLog)
 
 #define HUF_DECODE_SYMBOLX4_2(ptr, DStreamPtr) \
-	if (MEM_64bits()) \
+	if (ZSTD_64bits()) \
 		ptr += HUF_decodeSymbolX4(ptr, DStreamPtr, dt, dtLog)
 
 FORCE_INLINE size_t HUF_decodeStreamX4(BYTE* p, BIT_DStream_t* bitDPtr, BYTE* const pEnd, const HUF_DEltX4* const dt, const U32 dtLog)
@@ -635,9 +635,9 @@
 		BIT_DStream_t bitD2;
 		BIT_DStream_t bitD3;
 		BIT_DStream_t bitD4;
-		size_t const length1 = MEM_readLE16(istart);
-		size_t const length2 = MEM_readLE16(istart+2);
-		size_t const length3 = MEM_readLE16(istart+4);
+		size_t const length1 = ZSTD_readLE16(istart);
+		size_t const length2 = ZSTD_readLE16(istart+2);
+		size_t const length3 = ZSTD_readLE16(istart+4);
 		size_t const length4 = cSrcSize - (length1 + length2 + length3 + 6);
 		const BYTE* const istart1 = istart + 6;  /* jumpTable */
 		const BYTE* const istart2 = istart1 + length1;
diff --git a/contrib/linux-kernel/lib/zstd/mem.h b/contrib/linux-kernel/lib/zstd/mem.h
index e656a0e..d01b123 100644
--- a/contrib/linux-kernel/lib/zstd/mem.h
+++ b/contrib/linux-kernel/lib/zstd/mem.h
@@ -28,11 +28,7 @@
 /*-****************************************
 *  Compiler specifics
 ******************************************/
-#define MEM_STATIC static __inline __attribute__((unused))
-
-/* code only tested on 32 and 64 bits systems */
-#define MEM_STATIC_ASSERT(c)   { enum { MEM_static_assert = 1/(int)(!!(c)) }; }
-MEM_STATIC void MEM_check(void) { MEM_STATIC_ASSERT((sizeof(size_t)==4) || (sizeof(size_t)==8)); }
+#define ZSTD_STATIC static __inline __attribute__((unused))
 
 
 /*-**************************************************************
@@ -52,164 +48,164 @@
 /*-**************************************************************
 *  Memory I/O
 *****************************************************************/
-MEM_STATIC unsigned MEM_32bits(void) { return sizeof(size_t)==4; }
-MEM_STATIC unsigned MEM_64bits(void) { return sizeof(size_t)==8; }
+ZSTD_STATIC unsigned ZSTD_32bits(void) { return sizeof(size_t)==4; }
+ZSTD_STATIC unsigned ZSTD_64bits(void) { return sizeof(size_t)==8; }
 
 #if defined(__LITTLE_ENDIAN)
-#   define MEM_LITTLE_ENDIAN 1
+#   define ZSTD_LITTLE_ENDIAN 1
 #else
-#   define MEM_LITTLE_ENDIAN 0
+#   define ZSTD_LITTLE_ENDIAN 0
 #endif
 
-MEM_STATIC unsigned MEM_isLittleEndian(void)
+ZSTD_STATIC unsigned ZSTD_isLittleEndian(void)
 {
-	return MEM_LITTLE_ENDIAN;
+	return ZSTD_LITTLE_ENDIAN;
 }
 
-MEM_STATIC U16 MEM_read16(const void* memPtr)
+ZSTD_STATIC U16 ZSTD_read16(const void* memPtr)
 {
 	return get_unaligned((const U16*)memPtr);
 }
 
-MEM_STATIC U32 MEM_read32(const void* memPtr)
+ZSTD_STATIC U32 ZSTD_read32(const void* memPtr)
 {
 	return get_unaligned((const U32*)memPtr);
 }
 
-MEM_STATIC U64 MEM_read64(const void* memPtr)
+ZSTD_STATIC U64 ZSTD_read64(const void* memPtr)
 {
 	return get_unaligned((const U64*)memPtr);
 }
 
-MEM_STATIC size_t MEM_readST(const void* memPtr)
+ZSTD_STATIC size_t ZSTD_readST(const void* memPtr)
 {
 	return get_unaligned((const size_t*)memPtr);
 }
 
-MEM_STATIC void MEM_write16(void* memPtr, U16 value)
+ZSTD_STATIC void ZSTD_write16(void* memPtr, U16 value)
 {
 	put_unaligned(value, (U16*)memPtr);
 }
 
-MEM_STATIC void MEM_write32(void* memPtr, U32 value)
+ZSTD_STATIC void ZSTD_write32(void* memPtr, U32 value)
 {
 	put_unaligned(value, (U32*)memPtr);
 }
 
-MEM_STATIC void MEM_write64(void* memPtr, U64 value)
+ZSTD_STATIC void ZSTD_write64(void* memPtr, U64 value)
 {
 	put_unaligned(value, (U64*)memPtr);
 }
 
 /*=== Little endian r/w ===*/
 
-MEM_STATIC U16 MEM_readLE16(const void* memPtr)
+ZSTD_STATIC U16 ZSTD_readLE16(const void* memPtr)
 {
 	return get_unaligned_le16(memPtr);
 }
 
-MEM_STATIC void MEM_writeLE16(void* memPtr, U16 val)
+ZSTD_STATIC void ZSTD_writeLE16(void* memPtr, U16 val)
 {
 	put_unaligned_le16(val, memPtr);
 }
 
-MEM_STATIC U32 MEM_readLE24(const void* memPtr)
+ZSTD_STATIC U32 ZSTD_readLE24(const void* memPtr)
 {
-	return MEM_readLE16(memPtr) + (((const BYTE*)memPtr)[2] << 16);
+	return ZSTD_readLE16(memPtr) + (((const BYTE*)memPtr)[2] << 16);
 }
 
-MEM_STATIC void MEM_writeLE24(void* memPtr, U32 val)
+ZSTD_STATIC void ZSTD_writeLE24(void* memPtr, U32 val)
 {
-	MEM_writeLE16(memPtr, (U16)val);
+	ZSTD_writeLE16(memPtr, (U16)val);
 	((BYTE*)memPtr)[2] = (BYTE)(val>>16);
 }
 
-MEM_STATIC U32 MEM_readLE32(const void* memPtr)
+ZSTD_STATIC U32 ZSTD_readLE32(const void* memPtr)
 {
 	return get_unaligned_le32(memPtr);
 }
 
-MEM_STATIC void MEM_writeLE32(void* memPtr, U32 val32)
+ZSTD_STATIC void ZSTD_writeLE32(void* memPtr, U32 val32)
 {
 	put_unaligned_le32(val32, memPtr);
 }
 
-MEM_STATIC U64 MEM_readLE64(const void* memPtr)
+ZSTD_STATIC U64 ZSTD_readLE64(const void* memPtr)
 {
 	return get_unaligned_le64(memPtr);
 }
 
-MEM_STATIC void MEM_writeLE64(void* memPtr, U64 val64)
+ZSTD_STATIC void ZSTD_writeLE64(void* memPtr, U64 val64)
 {
 	put_unaligned_le64(val64, memPtr);
 }
 
-MEM_STATIC size_t MEM_readLEST(const void* memPtr)
+ZSTD_STATIC size_t ZSTD_readLEST(const void* memPtr)
 {
-	if (MEM_32bits())
-		return (size_t)MEM_readLE32(memPtr);
+	if (ZSTD_32bits())
+		return (size_t)ZSTD_readLE32(memPtr);
 	else
-		return (size_t)MEM_readLE64(memPtr);
+		return (size_t)ZSTD_readLE64(memPtr);
 }
 
-MEM_STATIC void MEM_writeLEST(void* memPtr, size_t val)
+ZSTD_STATIC void ZSTD_writeLEST(void* memPtr, size_t val)
 {
-	if (MEM_32bits())
-		MEM_writeLE32(memPtr, (U32)val);
+	if (ZSTD_32bits())
+		ZSTD_writeLE32(memPtr, (U32)val);
 	else
-		MEM_writeLE64(memPtr, (U64)val);
+		ZSTD_writeLE64(memPtr, (U64)val);
 }
 
 /*=== Big endian r/w ===*/
 
-MEM_STATIC U32 MEM_readBE32(const void* memPtr)
+ZSTD_STATIC U32 ZSTD_readBE32(const void* memPtr)
 {
 	return get_unaligned_be32(memPtr);
 }
 
-MEM_STATIC void MEM_writeBE32(void* memPtr, U32 val32)
+ZSTD_STATIC void ZSTD_writeBE32(void* memPtr, U32 val32)
 {
 	put_unaligned_be32(val32, memPtr);
 }
 
-MEM_STATIC U64 MEM_readBE64(const void* memPtr)
+ZSTD_STATIC U64 ZSTD_readBE64(const void* memPtr)
 {
 	return get_unaligned_be64(memPtr);
 }
 
-MEM_STATIC void MEM_writeBE64(void* memPtr, U64 val64)
+ZSTD_STATIC void ZSTD_writeBE64(void* memPtr, U64 val64)
 {
 	put_unaligned_be64(val64, memPtr);
 }
 
-MEM_STATIC size_t MEM_readBEST(const void* memPtr)
+ZSTD_STATIC size_t ZSTD_readBEST(const void* memPtr)
 {
-	if (MEM_32bits())
-		return (size_t)MEM_readBE32(memPtr);
+	if (ZSTD_32bits())
+		return (size_t)ZSTD_readBE32(memPtr);
 	else
-		return (size_t)MEM_readBE64(memPtr);
+		return (size_t)ZSTD_readBE64(memPtr);
 }
 
-MEM_STATIC void MEM_writeBEST(void* memPtr, size_t val)
+ZSTD_STATIC void ZSTD_writeBEST(void* memPtr, size_t val)
 {
-	if (MEM_32bits())
-		MEM_writeBE32(memPtr, (U32)val);
+	if (ZSTD_32bits())
+		ZSTD_writeBE32(memPtr, (U32)val);
 	else
-		MEM_writeBE64(memPtr, (U64)val);
+		ZSTD_writeBE64(memPtr, (U64)val);
 }
 
 
 /* function safe only for comparisons */
-MEM_STATIC U32 MEM_readMINMATCH(const void* memPtr, U32 length)
+ZSTD_STATIC U32 ZSTD_readMINMATCH(const void* memPtr, U32 length)
 {
 	switch (length)
 	{
 	default :
-	case 4 : return MEM_read32(memPtr);
-	case 3 : if (MEM_isLittleEndian())
-				return MEM_read32(memPtr)<<8;
+	case 4 : return ZSTD_read32(memPtr);
+	case 3 : if (ZSTD_isLittleEndian())
+				return ZSTD_read32(memPtr)<<8;
 			 else
-				return MEM_read32(memPtr)>>8;
+				return ZSTD_read32(memPtr)>>8;
 	}
 }
 
diff --git a/contrib/linux-kernel/lib/zstd/zstd_internal.h b/contrib/linux-kernel/lib/zstd/zstd_internal.h
index 91365ea..199513d 100644
--- a/contrib/linux-kernel/lib/zstd/zstd_internal.h
+++ b/contrib/linux-kernel/lib/zstd/zstd_internal.h
@@ -131,7 +131,7 @@
 /*! ZSTD_wildcopy() :
 *   custom version of memcpy(), can copy up to 7 bytes too many (8 bytes if length==0) */
 #define WILDCOPY_OVERLENGTH 8
-MEM_STATIC void ZSTD_wildcopy(void* dst, const void* src, ptrdiff_t length)
+ZSTD_STATIC void ZSTD_wildcopy(void* dst, const void* src, ptrdiff_t length)
 {
 	const BYTE* ip = (const BYTE*)src;
 	BYTE* op = (BYTE*)dst;
@@ -141,7 +141,7 @@
 	while (op < oend);
 }
 
-MEM_STATIC void ZSTD_wildcopy_e(void* dst, const void* src, void* dstEnd)   /* should be faster for decoding, but strangely, not verified on all platform */
+ZSTD_STATIC void ZSTD_wildcopy_e(void* dst, const void* src, void* dstEnd)   /* should be faster for decoding, but strangely, not verified on all platform */
 {
 	const BYTE* ip = (const BYTE*)src;
 	BYTE* op = (BYTE*)dst;
@@ -243,7 +243,7 @@
 
 /*======  common function  ======*/
 
-MEM_STATIC U32 ZSTD_highbit32(U32 val)
+ZSTD_STATIC U32 ZSTD_highbit32(U32 val)
 {
 	return 31 - __builtin_clz(val);
 }
diff --git a/contrib/linux-kernel/lib/zstd/zstd_opt.h b/contrib/linux-kernel/lib/zstd/zstd_opt.h
index 6855e3c..d1de46b 100644
--- a/contrib/linux-kernel/lib/zstd/zstd_opt.h
+++ b/contrib/linux-kernel/lib/zstd/zstd_opt.h
@@ -39,7 +39,7 @@
 }
 
 
-MEM_STATIC void ZSTD_rescaleFreqs(seqStore_t* ssPtr, const BYTE* src, size_t srcSize)
+ZSTD_STATIC void ZSTD_rescaleFreqs(seqStore_t* ssPtr, const BYTE* src, size_t srcSize)
 {
 	unsigned u;
 
@@ -165,7 +165,7 @@
 }
 
 
-MEM_STATIC void ZSTD_updatePrice(seqStore_t* seqStorePtr, U32 litLength, const BYTE* literals, U32 offset, U32 matchLength)
+ZSTD_STATIC void ZSTD_updatePrice(seqStore_t* seqStorePtr, U32 litLength, const BYTE* literals, U32 offset, U32 matchLength)
 {
 	U32 u;
 
@@ -274,7 +274,7 @@
 				if (match[bestLength] == ip[bestLength]) currMl = ZSTD_count(ip, match, iLimit);
 			} else {
 				match = dictBase + matchIndex3;
-				if (MEM_readMINMATCH(match, MINMATCH) == MEM_readMINMATCH(ip, MINMATCH))    /* assumption : matchIndex3 <= dictLimit-4 (by table construction) */
+				if (ZSTD_readMINMATCH(match, MINMATCH) == ZSTD_readMINMATCH(ip, MINMATCH))    /* assumption : matchIndex3 <= dictLimit-4 (by table construction) */
 					currMl = ZSTD_count_2segments(ip+MINMATCH, match+MINMATCH, iLimit, dictEnd, prefixStart) + MINMATCH;
 			}
 
@@ -446,7 +446,7 @@
 			for (i=(ip == anchor); i<last_i; i++) {
 				const S32 repCur = (i==ZSTD_REP_MOVE_OPT) ? (rep[0] - 1) : rep[i];
 				if ( (repCur > 0) && (repCur < (S32)(ip-prefixStart))
-					&& (MEM_readMINMATCH(ip, minMatch) == MEM_readMINMATCH(ip - repCur, minMatch))) {
+					&& (ZSTD_readMINMATCH(ip, minMatch) == ZSTD_readMINMATCH(ip - repCur, minMatch))) {
 					mlen = (U32)ZSTD_count(ip+minMatch, ip+minMatch-repCur, iend) + minMatch;
 					if (mlen > sufficient_len || mlen >= ZSTD_OPT_NUM) {
 						best_mlen = mlen; best_off = i; cur = 0; last_pos = 1;
@@ -531,7 +531,7 @@
 				for (i=(opt[cur].mlen != 1); i<last_i; i++) {  /* check rep */
 					const S32 repCur = (i==ZSTD_REP_MOVE_OPT) ? (opt[cur].rep[0] - 1) : opt[cur].rep[i];
 					if ( (repCur > 0) && (repCur < (S32)(inr-prefixStart))
-					   && (MEM_readMINMATCH(inr, minMatch) == MEM_readMINMATCH(inr - repCur, minMatch))) {
+					   && (ZSTD_readMINMATCH(inr, minMatch) == ZSTD_readMINMATCH(inr - repCur, minMatch))) {
 					   mlen = (U32)ZSTD_count(inr+minMatch, inr+minMatch - repCur, iend) + minMatch;
 
 					   if (mlen > sufficient_len || cur + mlen >= ZSTD_OPT_NUM) {
@@ -705,7 +705,7 @@
 				const BYTE* const repMatch = repBase + repIndex;
 				if ( (repCur > 0 && repCur <= (S32)curr)
 				   && (((U32)((dictLimit-1) - repIndex) >= 3) & (repIndex>lowestIndex))  /* intentional overflow */
-				   && (MEM_readMINMATCH(ip, minMatch) == MEM_readMINMATCH(repMatch, minMatch)) ) {
+				   && (ZSTD_readMINMATCH(ip, minMatch) == ZSTD_readMINMATCH(repMatch, minMatch)) ) {
 					/* repcode detected we should take it */
 					const BYTE* const repEnd = repIndex < dictLimit ? dictEnd : iend;
 					mlen = (U32)ZSTD_count_2segments(ip+minMatch, repMatch+minMatch, iend, repEnd, prefixStart) + minMatch;
@@ -801,7 +801,7 @@
 					const BYTE* const repMatch = repBase + repIndex;
 					if ( (repCur > 0 && repCur <= (S32)(curr+cur))
 					  && (((U32)((dictLimit-1) - repIndex) >= 3) & (repIndex>lowestIndex))  /* intentional overflow */
-					  && (MEM_readMINMATCH(inr, minMatch) == MEM_readMINMATCH(repMatch, minMatch)) ) {
+					  && (ZSTD_readMINMATCH(inr, minMatch) == ZSTD_readMINMATCH(repMatch, minMatch)) ) {
 						/* repcode detected */
 						const BYTE* const repEnd = repIndex < dictLimit ? dictEnd : iend;
 						mlen = (U32)ZSTD_count_2segments(inr+minMatch, repMatch+minMatch, iend, repEnd, prefixStart) + minMatch;