From nobody Mon Feb 9 12:09:30 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1611654802; cv=none; d=zohomail.com; s=zohoarc; b=DeQpDpwn4MqcxSXQcUM8bX945vjhRy2iL5E+k/w46X1V6yd2cywG/zJgY9FDrdBYrbPv848eyfp34kdKPSwHA5K6PsGKF2/fJTKUvxSk3RfNvl9OV77QyReKNtZG0OoaUDoS6xG+FpKDlTPHUPOWTiHTPq0j/Y0BNg9J/a55RBw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1611654802; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=jDmA+RHW8h36/HWylJ4DdviDgbqX+mpcKKh9geHfEmA=; b=K1u3CGvGL3PtAI1FsmWB3YDpNT4+dY1tOCrjZ2FHfRYR9E7ZBigU5Tp2Cy37cPhfC6/86uBF3DtMgyymS8Fjy9LkqwQKOWc7JHARWZG+CWYlDBITZ97V6+VF2s5it4OiElXQ6okoQotpg9VZ4JY84Bd0pdMNngTOAiKlhHqxOBo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) header.from= Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 161165480220372.94048523804042; Tue, 26 Jan 2021 01:53:22 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.74759.134396 (Exim 4.92) (envelope-from ) id 1l4L21-0001lb-8F; Tue, 26 Jan 2021 09:53:05 +0000 Received: by outflank-mailman (output) from mailman id 74759.134396; Tue, 26 Jan 2021 09:53:05 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1l4L21-0001lU-4y; Tue, 26 Jan 2021 09:53:05 +0000 Received: by outflank-mailman (input) for mailman id 74759; Tue, 26 Jan 2021 09:53:03 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1l4L1z-0001lK-RO for xen-devel@lists.xenproject.org; Tue, 26 Jan 2021 09:53:03 +0000 Received: from mx2.suse.de (unknown [195.135.220.15]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 802f611d-c987-4cbf-b5ea-61fdec6eb219; Tue, 26 Jan 2021 09:53:00 +0000 (UTC) Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id 484BBAE40; Tue, 26 Jan 2021 09:52:59 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 802f611d-c987-4cbf-b5ea-61fdec6eb219 X-Virus-Scanned: by amavisd-new at test-mx.suse.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1611654779; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=jDmA+RHW8h36/HWylJ4DdviDgbqX+mpcKKh9geHfEmA=; b=bUXcEmFX/tZH56OXYHBdMntIFqRKkwUhDzvbjibdFTF700vl/Se4k039jeyvYUy0dPD3yi pbEah85ZiJ2EyHnLMnu7DXhxpSa3Cn+muV0MrVbqBD1QxRyMXJ9plY9RSmre+3sndQ6Hbx Cm2TpQK3L7/1P/p/xIqxd2IfxOfWOvY= Subject: [PATCH v3 13/15] unzstd: replace INIT{,DATA} and STATIC From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , George Dunlap , Ian Jackson , Julien Grall , Stefano Stabellini , Wei Liu References: <2db91183-a7de-0c43-2fef-feb3523ed19b@suse.com> Message-ID: <19f12930-df0e-5a00-9e5e-53edffcf51d7@suse.com> Date: Tue, 26 Jan 2021 10:52:59 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.6.1 MIME-Version: 1.0 In-Reply-To: <2db91183-a7de-0c43-2fef-feb3523ed19b@suse.com> Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @suse.com) Content-Type: text/plain; charset="utf-8" With xen/common/decompress.h now agreeing in both build modes about what STATIC expands to, there's no need for this abstraction anymore. Requested-by: Andrew Cooper Signed-off-by: Jan Beulich --- v3: New. --- a/xen/common/unzstd.c +++ b/xen/common/unzstd.c @@ -71,7 +71,7 @@ */ #define ZSTD_IOBUF_SIZE (1 << 17) =20 -static int INIT handle_zstd_error(size_t ret, void (*error)(const char *x)) +static int __init handle_zstd_error(size_t ret, void (*error)(const char *= x)) { const int err =3D ZSTD_getErrorCode(ret); =20 @@ -102,9 +102,9 @@ static int INIT handle_zstd_error(size_t * We can allocate less memory (no circular buffer for the sliding window), * and avoid some memcpy() calls. */ -static int INIT decompress_single(const u8 *in_buf, long in_len, u8 *out_b= uf, - long out_len, unsigned int *in_pos, - void (*error)(const char *x)) +static int __init decompress_single(const u8 *in_buf, long in_len, u8 *out= _buf, + long out_len, unsigned int *in_pos, + void (*error)(const char *x)) { const size_t wksp_size =3D ZSTD_DCtxWorkspaceBound(); void *wksp =3D large_malloc(wksp_size); @@ -142,11 +142,11 @@ out: return err; } =20 -int INIT unzstd(unsigned char *in_buf, unsigned int in_len, - int (*fill)(void*, unsigned int), - int (*flush)(void*, unsigned int), - unsigned char *out_buf, unsigned int *in_pos, - void (*error)(const char *x)) +int __init unzstd(unsigned char *in_buf, unsigned int in_len, + int (*fill)(void*, unsigned int), + int (*flush)(void*, unsigned int), + unsigned char *out_buf, unsigned int *in_pos, + void (*error)(const char *x)) { ZSTD_inBuffer in; ZSTD_outBuffer out; --- a/xen/common/zstd/decompress.c +++ b/xen/common/zstd/decompress.c @@ -46,7 +46,7 @@ /*_******************************************************* * Memory operations **********************************************************/ -static void INIT ZSTD_copy4(void *dst, const void *src) { memcpy(dst, src,= 4); } +static void __init ZSTD_copy4(void *dst, const void *src) { memcpy(dst, sr= c, 4); } =20 /*-************************************************************* * Context management @@ -98,12 +98,12 @@ struct ZSTD_DCtx_s { BYTE headerBuffer[ZSTD_FRAMEHEADERSIZE_MAX]; }; /* typedef'd to ZSTD_DCtx within "zstd.h" */ =20 -STATIC size_t INIT ZSTD_DCtxWorkspaceBound(void) +static size_t __init ZSTD_DCtxWorkspaceBound(void) { return ZSTD_ALIGN(sizeof(ZSTD_stack)) + ZSTD_ALIGN(sizeof(ZSTD_DCtx)); } =20 -STATIC size_t INIT ZSTD_decompressBegin(ZSTD_DCtx *dctx) +static size_t __init ZSTD_decompressBegin(ZSTD_DCtx *dctx) { dctx->expected =3D ZSTD_frameHeaderSize_prefix; dctx->stage =3D ZSTDds_getFrameHeaderSize; @@ -123,7 +123,7 @@ STATIC size_t INIT ZSTD_decompressBegin( return 0; } =20 -STATIC ZSTD_DCtx *INIT ZSTD_createDCtx_advanced(ZSTD_customMem customMem) +static ZSTD_DCtx *__init ZSTD_createDCtx_advanced(ZSTD_customMem customMem) { ZSTD_DCtx *dctx; =20 @@ -138,13 +138,13 @@ STATIC ZSTD_DCtx *INIT ZSTD_createDCtx_a return dctx; } =20 -STATIC ZSTD_DCtx *INIT ZSTD_initDCtx(void *workspace, size_t workspaceSize) +static ZSTD_DCtx *__init ZSTD_initDCtx(void *workspace, size_t workspaceSi= ze) { ZSTD_customMem const stackMem =3D ZSTD_initStack(workspace, workspaceSize= ); return ZSTD_createDCtx_advanced(stackMem); } =20 -size_t INIT ZSTD_freeDCtx(ZSTD_DCtx *dctx) +size_t __init ZSTD_freeDCtx(ZSTD_DCtx *dctx) { if (dctx =3D=3D NULL) return 0; /* support free on NULL */ @@ -153,15 +153,15 @@ size_t INIT ZSTD_freeDCtx(ZSTD_DCtx *dct } =20 #ifdef BUILD_DEAD_CODE -void INIT ZSTD_copyDCtx(ZSTD_DCtx *dstDCtx, const ZSTD_DCtx *srcDCtx) +void __init ZSTD_copyDCtx(ZSTD_DCtx *dstDCtx, const ZSTD_DCtx *srcDCtx) { size_t const workSpaceSize =3D (ZSTD_BLOCKSIZE_ABSOLUTEMAX + WILDCOPY_OVE= RLENGTH) + ZSTD_frameHeaderSize_max; memcpy(dstDCtx, srcDCtx, sizeof(ZSTD_DCtx) - workSpaceSize); /* no need t= o copy workspace */ } #endif =20 -STATIC size_t ZSTD_findFrameCompressedSize(const void *src, size_t srcSize= ); -STATIC size_t ZSTD_decompressBegin_usingDict(ZSTD_DCtx *dctx, const void *= dict, +static size_t ZSTD_findFrameCompressedSize(const void *src, size_t srcSize= ); +static size_t ZSTD_decompressBegin_usingDict(ZSTD_DCtx *dctx, const void *= dict, size_t dictSize); =20 static void ZSTD_refDDict(ZSTD_DCtx *dstDCtx, const ZSTD_DDict *ddict); @@ -176,7 +176,7 @@ static void ZSTD_refDDict(ZSTD_DCtx *dst * Note : Frame Identifier is 4 bytes. If `size < 4`, @return will always= be 0. * Note 2 : Legacy Frame Identifiers are considered valid only if Legacy = Support is enabled. * Note 3 : Skippable Frame Identifiers are considered valid. */ -unsigned INIT ZSTD_isFrame(const void *buffer, size_t size) +unsigned __init ZSTD_isFrame(const void *buffer, size_t size) { if (size < 4) return 0; @@ -194,7 +194,7 @@ unsigned INIT ZSTD_isFrame(const void *b /** ZSTD_frameHeaderSize() : * srcSize must be >=3D ZSTD_frameHeaderSize_prefix. * @return : size of the Frame Header */ -static size_t INIT ZSTD_frameHeaderSize(const void *src, size_t srcSize) +static size_t __init ZSTD_frameHeaderSize(const void *src, size_t srcSize) { if (srcSize < ZSTD_frameHeaderSize_prefix) return ERROR(srcSize_wrong); @@ -212,7 +212,7 @@ static size_t INIT ZSTD_frameHeaderSize( * @return : 0, `fparamsPtr` is correctly filled, * >0, `srcSize` is too small, result is expected `srcSize`, * or an error code, which can be tested using ZSTD_isError() */ -STATIC size_t INIT ZSTD_getFrameParams(ZSTD_frameParams *fparamsPtr, const= void *src, size_t srcSize) +static size_t __init ZSTD_getFrameParams(ZSTD_frameParams *fparamsPtr, con= st void *src, size_t srcSize) { const BYTE *ip =3D (const BYTE *)src; =20 @@ -303,7 +303,7 @@ STATIC size_t INIT ZSTD_getFrameParams(Z * @return : decompressed size of the single frame pointed to be `src` if= known, otherwise * - ZSTD_CONTENTSIZE_UNKNOWN if the size cannot be determined * - ZSTD_CONTENTSIZE_ERROR if an error occurred (e.g. invalid = magic number, srcSize too small) */ -unsigned long long INIT ZSTD_getFrameContentSize(const void *src, size_t s= rcSize) +unsigned long long __init ZSTD_getFrameContentSize(const void *src, size_t= srcSize) { { ZSTD_frameParams fParams; @@ -325,7 +325,7 @@ unsigned long long INIT ZSTD_getFrameCon * `srcSize` must be the exact length of some number of ZSTD compressed a= nd/or * skippable frames * @return : decompressed size of the frames contained */ -unsigned long long INIT ZSTD_findDecompressedSize(const void *src, size_t = srcSize) +unsigned long long __init ZSTD_findDecompressedSize(const void *src, size_= t srcSize) { { unsigned long long totalDstSize =3D 0; @@ -379,7 +379,7 @@ unsigned long long INIT ZSTD_findDecompr /** ZSTD_decodeFrameHeader() : * `headerSize` must be the size provided by ZSTD_frameHeaderSize(). * @return : 0 if success, or an error code, which can be tested using ZS= TD_isError() */ -static size_t INIT ZSTD_decodeFrameHeader(ZSTD_DCtx *dctx, const void *src= , size_t headerSize) +static size_t __init ZSTD_decodeFrameHeader(ZSTD_DCtx *dctx, const void *s= rc, size_t headerSize) { size_t const result =3D ZSTD_getFrameParams(&(dctx->fParams), src, header= Size); if (ZSTD_isError(result)) @@ -401,7 +401,7 @@ typedef struct { =20 /*! ZSTD_getcBlockSize() : * Provides the size of compressed block from block header `src` */ -STATIC size_t INIT ZSTD_getcBlockSize(const void *src, size_t srcSize, blo= ckProperties_t *bpPtr) +static size_t __init ZSTD_getcBlockSize(const void *src, size_t srcSize, b= lockProperties_t *bpPtr) { if (srcSize < ZSTD_blockHeaderSize) return ERROR(srcSize_wrong); @@ -419,7 +419,7 @@ STATIC size_t INIT ZSTD_getcBlockSize(co } } =20 -static size_t INIT ZSTD_copyRawBlock(void *dst, size_t dstCapacity, const = void *src, size_t srcSize) +static size_t __init ZSTD_copyRawBlock(void *dst, size_t dstCapacity, cons= t void *src, size_t srcSize) { if (srcSize > dstCapacity) return ERROR(dstSize_tooSmall); @@ -427,7 +427,7 @@ static size_t INIT ZSTD_copyRawBlock(voi return srcSize; } =20 -static size_t INIT ZSTD_setRleBlock(void *dst, size_t dstCapacity, const v= oid *src, size_t srcSize, size_t regenSize) +static size_t __init ZSTD_setRleBlock(void *dst, size_t dstCapacity, const= void *src, size_t srcSize, size_t regenSize) { if (srcSize !=3D 1) return ERROR(srcSize_wrong); @@ -439,7 +439,7 @@ static size_t INIT ZSTD_setRleBlock(void =20 /*! ZSTD_decodeLiteralsBlock() : @return : nb of bytes read from src (< srcSize ) */ -STATIC size_t INIT ZSTD_decodeLiteralsBlock(ZSTD_DCtx *dctx, const void *s= rc, size_t srcSize) /* note : srcSize < BLOCKSIZE */ +static size_t __init ZSTD_decodeLiteralsBlock(ZSTD_DCtx *dctx, const void = *src, size_t srcSize) /* note : srcSize < BLOCKSIZE */ { if (srcSize < MIN_CBLOCK_SIZE) return ERROR(corruption_detected); @@ -759,10 +759,10 @@ static const FSE_decode_t4 OF_defaultDTa @return : nb bytes read from src, or an error code if it fails, testable with ZSTD_isError() */ -static size_t INIT ZSTD_buildSeqTable(FSE_DTable *DTableSpace, const FSE_D= Table **DTablePtr, - symbolEncodingType_e type, U32 max, U32 maxLog, const void *src, - size_t srcSize, const FSE_decode_t4 *defaultTable, - U32 flagRepeatTable, void *workspace, size_t workspaceSize) +static size_t __init ZSTD_buildSeqTable(FSE_DTable *DTableSpace, const FSE= _DTable **DTablePtr, + symbolEncodingType_e type, U32 max, U32 maxLog, const void *src, + size_t srcSize, const FSE_decode_t4 *defaultTable, + U32 flagRepeatTable, void *workspace, size_t workspaceSize) { const void *const tmpPtr =3D defaultTable; /* bypass strict aliasing */ switch (type) { @@ -803,7 +803,7 @@ static size_t INIT ZSTD_buildSeqTable(FS } } =20 -STATIC size_t INIT ZSTD_decodeSeqHeaders(ZSTD_DCtx *dctx, int *nbSeqPtr, c= onst void *src, size_t srcSize) +static size_t __init ZSTD_decodeSeqHeaders(ZSTD_DCtx *dctx, int *nbSeqPtr,= const void *src, size_t srcSize) { const BYTE *const istart =3D (const BYTE *const)src; const BYTE *const iend =3D istart + srcSize; @@ -940,7 +940,7 @@ size_t ZSTD_execSequenceLast7(BYTE *op, return sequenceLength; } =20 -static seq_t INIT ZSTD_decodeSequence(seqState_t *seqState) +static seq_t __init ZSTD_decodeSequence(seqState_t *seqState) { seq_t seq; =20 @@ -1102,7 +1102,7 @@ size_t ZSTD_execSequence(BYTE *op, BYTE return sequenceLength; } =20 -static size_t INIT ZSTD_decompressSequences(ZSTD_DCtx *dctx, void *dst, si= ze_t maxDstSize, const void *seqStart, size_t seqSize) +static size_t __init ZSTD_decompressSequences(ZSTD_DCtx *dctx, void *dst, = size_t maxDstSize, const void *seqStart, size_t seqSize) { const BYTE *ip =3D (const BYTE *)seqStart; const BYTE *const iend =3D ip + seqSize; @@ -1262,7 +1262,7 @@ FORCE_INLINE seq_t ZSTD_decodeSequenceLo return seq; } =20 -static seq_t INIT ZSTD_decodeSequenceLong(seqState_t *seqState, unsigned c= onst windowSize) +static seq_t __init ZSTD_decodeSequenceLong(seqState_t *seqState, unsigned= const windowSize) { if (ZSTD_highbit32(windowSize) > STREAM_ACCUMULATOR_MIN) { return ZSTD_decodeSequenceLong_generic(seqState, 1); @@ -1272,9 +1272,9 @@ static seq_t INIT ZSTD_decodeSequenceLon } =20 FORCE_INLINE -size_t INIT ZSTD_execSequenceLong(BYTE *op, BYTE *const oend, seq_t sequen= ce, const BYTE **litPtr, - const BYTE *const litLimit, const BYTE *const base, - const BYTE *const vBase, const BYTE *const dictEnd) +size_t __init ZSTD_execSequenceLong(BYTE *op, BYTE *const oend, seq_t sequ= ence, const BYTE **litPtr, + const BYTE *const litLimit, const BYTE *const base, + const BYTE *const vBase, const BYTE *const dictEnd) { BYTE *const oLitEnd =3D op + sequence.litLength; size_t const sequenceLength =3D sequence.litLength + sequence.matchLength; @@ -1358,7 +1358,7 @@ size_t INIT ZSTD_execSequenceLong(BYTE * return sequenceLength; } =20 -static size_t INIT ZSTD_decompressSequencesLong(ZSTD_DCtx *dctx, void *dst= , size_t maxDstSize, const void *seqStart, size_t seqSize) +static size_t __init ZSTD_decompressSequencesLong(ZSTD_DCtx *dctx, void *d= st, size_t maxDstSize, const void *seqStart, size_t seqSize) { const BYTE *ip =3D (const BYTE *)seqStart; const BYTE *const iend =3D ip + seqSize; @@ -1455,7 +1455,7 @@ static size_t INIT ZSTD_decompressSequen return op - ostart; } =20 -static size_t INIT ZSTD_decompressBlock_internal(ZSTD_DCtx *dctx, void *ds= t, size_t dstCapacity, const void *src, size_t srcSize) +static size_t __init ZSTD_decompressBlock_internal(ZSTD_DCtx *dctx, void *= dst, size_t dstCapacity, const void *src, size_t srcSize) { /* blockType =3D=3D blockCompressed */ const BYTE *ip =3D (const BYTE *)src; =20 @@ -1479,7 +1479,7 @@ static size_t INIT ZSTD_decompressBlock_ return ZSTD_decompressSequences(dctx, dst, dstCapacity, ip, srcSize); } =20 -static void INIT ZSTD_checkContinuity(ZSTD_DCtx *dctx, const void *dst) +static void __init ZSTD_checkContinuity(ZSTD_DCtx *dctx, const void *dst) { if (dst !=3D dctx->previousDstEnd) { /* not contiguous */ dctx->dictEnd =3D dctx->previousDstEnd; @@ -1490,7 +1490,7 @@ static void INIT ZSTD_checkContinuity(ZS } =20 #ifdef BUILD_DEAD_CODE -size_t INIT ZSTD_decompressBlock(ZSTD_DCtx *dctx, void *dst, size_t dstCap= acity, const void *src, size_t srcSize) +size_t __init ZSTD_decompressBlock(ZSTD_DCtx *dctx, void *dst, size_t dstC= apacity, const void *src, size_t srcSize) { size_t dSize; ZSTD_checkContinuity(dctx, dst); @@ -1501,7 +1501,7 @@ size_t INIT ZSTD_decompressBlock(ZSTD_DC =20 /** ZSTD_insertBlock() : insert `src` block into `dctx` history. Useful to track uncompressed bloc= ks. */ -size_t INIT ZSTD_insertBlock(ZSTD_DCtx *dctx, const void *blockStart, size= _t blockSize) +size_t __init ZSTD_insertBlock(ZSTD_DCtx *dctx, const void *blockStart, si= ze_t blockSize) { ZSTD_checkContinuity(dctx, blockStart); dctx->previousDstEnd =3D (const char *)blockStart + blockSize; @@ -1509,7 +1509,7 @@ size_t INIT ZSTD_insertBlock(ZSTD_DCtx * } #endif /* BUILD_DEAD_CODE */ =20 -STATIC size_t INIT ZSTD_generateNxBytes(void *dst, size_t dstCapacity, BYT= E byte, size_t length) +static size_t __init ZSTD_generateNxBytes(void *dst, size_t dstCapacity, B= YTE byte, size_t length) { if (length > dstCapacity) return ERROR(dstSize_tooSmall); @@ -1522,7 +1522,7 @@ STATIC size_t INIT ZSTD_generateNxBytes( * `src` must point to the start of a ZSTD frame, ZSTD legacy frame, or s= kippable frame * `srcSize` must be at least as large as the frame contained * @return : the compressed size of the frame starting at `src` */ -STATIC size_t INIT ZSTD_findFrameCompressedSize(const void *src, size_t sr= cSize) +static size_t __init ZSTD_findFrameCompressedSize(const void *src, size_t = srcSize) { if (srcSize >=3D ZSTD_skippableHeaderSize && (ZSTD_readLE32(src) & 0xFFFF= FFF0U) =3D=3D ZSTD_MAGIC_SKIPPABLE_START) { return ZSTD_skippableHeaderSize + ZSTD_readLE32((const BYTE *)src + 4); @@ -1578,7 +1578,7 @@ STATIC size_t INIT ZSTD_findFrameCompres =20 /*! ZSTD_decompressFrame() : * @dctx must be properly initialized */ -static size_t INIT ZSTD_decompressFrame(ZSTD_DCtx *dctx, void *dst, size_t= dstCapacity, const void **srcPtr, size_t *srcSizePtr) +static size_t __init ZSTD_decompressFrame(ZSTD_DCtx *dctx, void *dst, size= _t dstCapacity, const void **srcPtr, size_t *srcSizePtr) { const BYTE *ip =3D (const BYTE *)(*srcPtr); BYTE *const ostart =3D (BYTE * const)dst; @@ -1655,7 +1655,7 @@ static size_t INIT ZSTD_decompressFrame( static const void *ZSTD_DDictDictContent(const ZSTD_DDict *ddict); static size_t ZSTD_DDictDictSize(const ZSTD_DDict *ddict); =20 -static size_t INIT ZSTD_decompressMultiFrame(ZSTD_DCtx *dctx, void *dst, s= ize_t dstCapacity, const void *src, size_t srcSize, const void *dict, size_= t dictSize, +static size_t __init ZSTD_decompressMultiFrame(ZSTD_DCtx *dctx, void *dst,= size_t dstCapacity, const void *src, size_t srcSize, const void *dict, siz= e_t dictSize, const ZSTD_DDict *ddict) { void *const dststart =3D dst; @@ -1719,12 +1719,12 @@ static size_t INIT ZSTD_decompressMultiF return (BYTE *)dst - (BYTE *)dststart; } =20 -STATIC size_t INIT ZSTD_decompress_usingDict(ZSTD_DCtx *dctx, void *dst, s= ize_t dstCapacity, const void *src, size_t srcSize, const void *dict, size_= t dictSize) +static size_t __init ZSTD_decompress_usingDict(ZSTD_DCtx *dctx, void *dst,= size_t dstCapacity, const void *src, size_t srcSize, const void *dict, siz= e_t dictSize) { return ZSTD_decompressMultiFrame(dctx, dst, dstCapacity, src, srcSize, di= ct, dictSize, NULL); } =20 -STATIC size_t INIT ZSTD_decompressDCtx(ZSTD_DCtx *dctx, void *dst, size_t = dstCapacity, const void *src, size_t srcSize) +static size_t __init ZSTD_decompressDCtx(ZSTD_DCtx *dctx, void *dst, size_= t dstCapacity, const void *src, size_t srcSize) { return ZSTD_decompress_usingDict(dctx, dst, dstCapacity, src, srcSize, NU= LL, 0); } @@ -1733,12 +1733,12 @@ STATIC size_t INIT ZSTD_decompressDCtx(Z * Advanced Streaming Decompression API * Bufferless and synchronous ****************************************/ -STATIC size_t INIT ZSTD_nextSrcSizeToDecompress(ZSTD_DCtx *dctx) +static size_t __init ZSTD_nextSrcSizeToDecompress(ZSTD_DCtx *dctx) { return dctx->expected; } =20 -STATIC ZSTD_nextInputType_e INIT ZSTD_nextInputType(ZSTD_DCtx *dctx) +static ZSTD_nextInputType_e __init ZSTD_nextInputType(ZSTD_DCtx *dctx) { switch (dctx->stage) { default: /* should not happen */ @@ -1753,12 +1753,12 @@ STATIC ZSTD_nextInputType_e INIT ZSTD_ne } } =20 -int INIT ZSTD_isSkipFrame(ZSTD_DCtx *dctx) { return dctx->stage =3D=3D ZST= Dds_skipFrame; } /* for zbuff */ +int __init ZSTD_isSkipFrame(ZSTD_DCtx *dctx) { return dctx->stage =3D=3D Z= STDds_skipFrame; } /* for zbuff */ =20 /** ZSTD_decompressContinue() : * @return : nb of bytes generated into `dst` (necessarily <=3D `dstCapac= ity) * or an error code, which can be tested using ZSTD_isError() */ -STATIC size_t INIT ZSTD_decompressContinue(ZSTD_DCtx *dctx, void *dst, siz= e_t dstCapacity, const void *src, size_t srcSize) +static size_t __init ZSTD_decompressContinue(ZSTD_DCtx *dctx, void *dst, s= ize_t dstCapacity, const void *src, size_t srcSize) { /* Sanity check */ if (srcSize !=3D dctx->expected) @@ -1877,7 +1877,7 @@ STATIC size_t INIT ZSTD_decompressContin } } =20 -static size_t INIT ZSTD_refDictContent(ZSTD_DCtx *dctx, const void *dict, = size_t dictSize) +static size_t __init ZSTD_refDictContent(ZSTD_DCtx *dctx, const void *dict= , size_t dictSize) { dctx->dictEnd =3D dctx->previousDstEnd; dctx->vBase =3D (const char *)dict - ((const char *)(dctx->previousDstEnd= ) - (const char *)(dctx->base)); @@ -1889,7 +1889,7 @@ static size_t INIT ZSTD_refDictContent(Z /* ZSTD_loadEntropy() : * dict : must point at beginning of a valid zstd dictionary * @return : size of entropy tables read */ -static size_t INIT ZSTD_loadEntropy(ZSTD_entropyTables_t *entropy, const v= oid *const dict, size_t const dictSize) +static size_t __init ZSTD_loadEntropy(ZSTD_entropyTables_t *entropy, const= void *const dict, size_t const dictSize) { const BYTE *dictPtr =3D (const BYTE *)dict; const BYTE *const dictEnd =3D dictPtr + dictSize; @@ -1958,7 +1958,7 @@ static size_t INIT ZSTD_loadEntropy(ZSTD return dictPtr - (const BYTE *)dict; } =20 -static size_t INIT ZSTD_decompress_insertDictionary(ZSTD_DCtx *dctx, const= void *dict, size_t dictSize) +static size_t __init ZSTD_decompress_insertDictionary(ZSTD_DCtx *dctx, con= st void *dict, size_t dictSize) { if (dictSize < 8) return ZSTD_refDictContent(dctx, dict, dictSize); @@ -1984,7 +1984,7 @@ static size_t INIT ZSTD_decompress_inser return ZSTD_refDictContent(dctx, dict, dictSize); } =20 -STATIC size_t INIT ZSTD_decompressBegin_usingDict(ZSTD_DCtx *dctx, const v= oid *dict, size_t dictSize) +static size_t __init ZSTD_decompressBegin_usingDict(ZSTD_DCtx *dctx, const= void *dict, size_t dictSize) { CHECK_F(ZSTD_decompressBegin(dctx)); if (dict && dictSize) @@ -2005,14 +2005,14 @@ struct ZSTD_DDict_s { }; /* typedef'd to ZSTD_DDict within "zstd.h" */ =20 #ifdef BUILD_DEAD_CODE -size_t INIT ZSTD_DDictWorkspaceBound(void) { return ZSTD_ALIGN(sizeof(ZSTD= _stack)) + ZSTD_ALIGN(sizeof(ZSTD_DDict)); } +size_t __init ZSTD_DDictWorkspaceBound(void) { return ZSTD_ALIGN(sizeof(ZS= TD_stack)) + ZSTD_ALIGN(sizeof(ZSTD_DDict)); } #endif =20 -static const void *INIT ZSTD_DDictDictContent(const ZSTD_DDict *ddict) { r= eturn ddict->dictContent; } +static const void *__init ZSTD_DDictDictContent(const ZSTD_DDict *ddict) {= return ddict->dictContent; } =20 -static size_t INIT ZSTD_DDictDictSize(const ZSTD_DDict *ddict) { return dd= ict->dictSize; } +static size_t __init ZSTD_DDictDictSize(const ZSTD_DDict *ddict) { return = ddict->dictSize; } =20 -static void INIT ZSTD_refDDict(ZSTD_DCtx *dstDCtx, const ZSTD_DDict *ddict) +static void __init ZSTD_refDDict(ZSTD_DCtx *dstDCtx, const ZSTD_DDict *ddi= ct) { ZSTD_decompressBegin(dstDCtx); /* init */ if (ddict) { /* support refDDict on NULL */ @@ -2039,7 +2039,7 @@ static void INIT ZSTD_refDDict(ZSTD_DCtx } =20 #ifdef BUILD_DEAD_CODE -static size_t INIT ZSTD_loadEntropy_inDDict(ZSTD_DDict *ddict) +static size_t __init ZSTD_loadEntropy_inDDict(ZSTD_DDict *ddict) { ddict->dictID =3D 0; ddict->entropyPresent =3D 0; @@ -2058,7 +2058,7 @@ static size_t INIT ZSTD_loadEntropy_inDD return 0; } =20 -static ZSTD_DDict *INIT ZSTD_createDDict_advanced(const void *dict, size_t= dictSize, unsigned byReference, ZSTD_customMem customMem) +static ZSTD_DDict *__init ZSTD_createDDict_advanced(const void *dict, size= _t dictSize, unsigned byReference, ZSTD_customMem customMem) { if (!customMem.customAlloc || !customMem.customFree) return NULL; @@ -2101,14 +2101,14 @@ static ZSTD_DDict *INIT ZSTD_createDDict * Create a digested dictionary, to start decompression without startup d= elay. * `dict` content is copied inside DDict. * Consequently, `dict` can be released after `ZSTD_DDict` creation */ -ZSTD_DDict *INIT ZSTD_initDDict(const void *dict, size_t dictSize, void *w= orkspace, size_t workspaceSize) +ZSTD_DDict *__init ZSTD_initDDict(const void *dict, size_t dictSize, void = *workspace, size_t workspaceSize) { ZSTD_customMem const stackMem =3D ZSTD_initStack(workspace, workspaceSize= ); return ZSTD_createDDict_advanced(dict, dictSize, 1, stackMem); } #endif /* BUILD_DEAD_CODE */ =20 -size_t INIT ZSTD_freeDDict(ZSTD_DDict *ddict) +size_t __init ZSTD_freeDDict(ZSTD_DDict *ddict) { if (ddict =3D=3D NULL) return 0; /* support free on NULL */ @@ -2125,7 +2125,7 @@ size_t INIT ZSTD_freeDDict(ZSTD_DDict *d * Provides the dictID stored within dictionary. * if @return =3D=3D 0, the dictionary is not conformant with Zstandard s= pecification. * It can still be loaded, but as a content-only dictionary. */ -unsigned INIT ZSTD_getDictID_fromDict(const void *dict, size_t dictSize) +unsigned __init ZSTD_getDictID_fromDict(const void *dict, size_t dictSize) { if (dictSize < 8) return 0; @@ -2138,7 +2138,7 @@ unsigned INIT ZSTD_getDictID_fromDict(co * Provides the dictID of the dictionary loaded into `ddict`. * If @return =3D=3D 0, the dictionary is not conformant to Zstandard spe= cification, or empty. * Non-conformant dictionaries can still be loaded, but as content-only d= ictionaries. */ -unsigned INIT ZSTD_getDictID_fromDDict(const ZSTD_DDict *ddict) +unsigned __init ZSTD_getDictID_fromDDict(const ZSTD_DDict *ddict) { if (ddict =3D=3D NULL) return 0; @@ -2155,7 +2155,7 @@ unsigned INIT ZSTD_getDictID_fromDDict(c * - `srcSize` is too small, and as a result, the frame header could not = be decoded (only possible if `srcSize < ZSTD_FRAMEHEADERSIZE_MAX`). * - This is not a Zstandard frame. * When identifying the exact failure cause, it's possible to used ZSTD_g= etFrameParams(), which will provide a more precise error code. */ -unsigned INIT ZSTD_getDictID_fromFrame(const void *src, size_t srcSize) +unsigned __init ZSTD_getDictID_fromFrame(const void *src, size_t srcSize) { ZSTD_frameParams zfp =3D {0, 0, 0, 0}; size_t const hError =3D ZSTD_getFrameParams(&zfp, src, srcSize); @@ -2168,7 +2168,7 @@ unsigned INIT ZSTD_getDictID_fromFrame(c /*! ZSTD_decompress_usingDDict() : * Decompression using a pre-digested Dictionary * Use dictionary without significant overhead. */ -STATIC size_t INIT ZSTD_decompress_usingDDict(ZSTD_DCtx *dctx, void *dst, = size_t dstCapacity, const void *src, size_t srcSize, const ZSTD_DDict *ddic= t) +static size_t __init ZSTD_decompress_usingDDict(ZSTD_DCtx *dctx, void *dst= , size_t dstCapacity, const void *src, size_t srcSize, const ZSTD_DDict *dd= ict) { /* pass content and size in case legacy frames are encountered */ return ZSTD_decompressMultiFrame(dctx, dst, dstCapacity, src, srcSize, NU= LL, 0, ddict); @@ -2205,7 +2205,7 @@ struct ZSTD_DStream_s { U32 hostageByte; }; /* typedef'd to ZSTD_DStream within "zstd.h" */ =20 -STATIC size_t INIT ZSTD_DStreamWorkspaceBound(size_t maxWindowSize) +static size_t __init ZSTD_DStreamWorkspaceBound(size_t maxWindowSize) { size_t const blockSize =3D MIN(maxWindowSize, ZSTD_BLOCKSIZE_ABSOLUTEMAX); size_t const inBuffSize =3D blockSize; @@ -2213,7 +2213,7 @@ STATIC size_t INIT ZSTD_DStreamWorkspace return ZSTD_DCtxWorkspaceBound() + ZSTD_ALIGN(sizeof(ZSTD_DStream)) + ZST= D_ALIGN(inBuffSize) + ZSTD_ALIGN(outBuffSize); } =20 -static ZSTD_DStream *INIT ZSTD_createDStream_advanced(ZSTD_customMem custo= mMem) +static ZSTD_DStream *__init ZSTD_createDStream_advanced(ZSTD_customMem cus= tomMem) { ZSTD_DStream *zds; =20 @@ -2235,7 +2235,7 @@ static ZSTD_DStream *INIT ZSTD_createDSt return zds; } =20 -STATIC ZSTD_DStream *INIT ZSTD_initDStream(size_t maxWindowSize, void *wor= kspace, size_t workspaceSize) +static ZSTD_DStream *__init ZSTD_initDStream(size_t maxWindowSize, void *w= orkspace, size_t workspaceSize) { ZSTD_customMem const stackMem =3D ZSTD_initStack(workspace, workspaceSize= ); ZSTD_DStream *zds =3D ZSTD_createDStream_advanced(stackMem); @@ -2269,7 +2269,7 @@ STATIC ZSTD_DStream *INIT ZSTD_initDStre } =20 #ifdef BUILD_DEAD_CODE -ZSTD_DStream *INIT ZSTD_initDStream_usingDDict(size_t maxWindowSize, const= ZSTD_DDict *ddict, void *workspace, size_t workspaceSize) +ZSTD_DStream *__init ZSTD_initDStream_usingDDict(size_t maxWindowSize, con= st ZSTD_DDict *ddict, void *workspace, size_t workspaceSize) { ZSTD_DStream *zds =3D ZSTD_initDStream(maxWindowSize, workspace, workspac= eSize); if (zds) { @@ -2279,7 +2279,7 @@ ZSTD_DStream *INIT ZSTD_initDStream_usin } #endif =20 -size_t INIT ZSTD_freeDStream(ZSTD_DStream *zds) +size_t __init ZSTD_freeDStream(ZSTD_DStream *zds) { if (zds =3D=3D NULL) return 0; /* support free on null */ @@ -2301,11 +2301,11 @@ size_t INIT ZSTD_freeDStream(ZSTD_DStrea /* *** Initialization *** */ =20 #ifdef BUILD_DEAD_CODE -size_t INIT ZSTD_DStreamInSize(void) { return ZSTD_BLOCKSIZE_ABSOLUTEMAX += ZSTD_blockHeaderSize; } -size_t INIT ZSTD_DStreamOutSize(void) { return ZSTD_BLOCKSIZE_ABSOLUTEMAX;= } +size_t __init ZSTD_DStreamInSize(void) { return ZSTD_BLOCKSIZE_ABSOLUTEMAX= + ZSTD_blockHeaderSize; } +size_t __init ZSTD_DStreamOutSize(void) { return ZSTD_BLOCKSIZE_ABSOLUTEMA= X; } #endif =20 -STATIC size_t INIT ZSTD_resetDStream(ZSTD_DStream *zds) +static size_t __init ZSTD_resetDStream(ZSTD_DStream *zds) { zds->stage =3D zdss_loadHeader; zds->lhSize =3D zds->inPos =3D zds->outStart =3D zds->outEnd =3D 0; @@ -2316,14 +2316,14 @@ STATIC size_t INIT ZSTD_resetDStream(ZST =20 /* ***** Decompression ***** */ =20 -ZSTD_STATIC size_t INIT ZSTD_limitCopy(void *dst, size_t dstCapacity, cons= t void *src, size_t srcSize) +ZSTD_STATIC size_t __init ZSTD_limitCopy(void *dst, size_t dstCapacity, co= nst void *src, size_t srcSize) { size_t const length =3D MIN(dstCapacity, srcSize); memcpy(dst, src, length); return length; } =20 -STATIC size_t INIT ZSTD_decompressStream(ZSTD_DStream *zds, ZSTD_outBuffer= *output, ZSTD_inBuffer *input) +static size_t __init ZSTD_decompressStream(ZSTD_DStream *zds, ZSTD_outBuff= er *output, ZSTD_inBuffer *input) { const char *const istart =3D (const char *)(input->src) + input->pos; const char *const iend =3D (const char *)(input->src) + input->size; --- a/xen/common/zstd/entropy_common.c +++ b/xen/common/zstd/entropy_common.c @@ -46,17 +46,17 @@ #include "mem.h" =20 /*=3D=3D=3D Version =3D=3D=3D*/ -unsigned INIT FSE_versionNumber(void) { return FSE_VERSION_NUMBER; } +unsigned __init FSE_versionNumber(void) { return FSE_VERSION_NUMBER; } =20 /*=3D=3D=3D Error Management =3D=3D=3D*/ -unsigned INIT FSE_isError(size_t code) { return ERR_isError(code); } +unsigned __init FSE_isError(size_t code) { return ERR_isError(code); } =20 -unsigned INIT HUF_isError(size_t code) { return ERR_isError(code); } +unsigned __init HUF_isError(size_t code) { return ERR_isError(code); } =20 /*-************************************************************** * FSE NCount encoding-decoding ****************************************************************/ -size_t INIT FSE_readNCount(short *normalizedCounter, unsigned *maxSVPtr, u= nsigned *tableLogPtr, const void *headerBuffer, size_t hbSize) +size_t __init FSE_readNCount(short *normalizedCounter, unsigned *maxSVPtr,= unsigned *tableLogPtr, const void *headerBuffer, size_t hbSize) { const BYTE *const istart =3D (const BYTE *)headerBuffer; const BYTE *const iend =3D istart + hbSize; @@ -164,7 +164,7 @@ size_t INIT FSE_readNCount(short *normal @return : size read from `src` , or an error Code . Note : Needed by HUF_readCTable() and HUF_readDTableX?() . */ -size_t INIT HUF_readStats_wksp(BYTE *huffWeight, size_t hwSize, U32 *rankS= tats, U32 *nbSymbolsPtr, U32 *tableLogPtr, const void *src, size_t srcSize,= void *workspace, size_t workspaceSize) +size_t __init HUF_readStats_wksp(BYTE *huffWeight, size_t hwSize, U32 *ran= kStats, U32 *nbSymbolsPtr, U32 *tableLogPtr, const void *src, size_t srcSiz= e, void *workspace, size_t workspaceSize) { U32 weightTotal; const BYTE *ip =3D (const BYTE *)src; --- a/xen/common/zstd/error_private.h +++ b/xen/common/zstd/error_private.h @@ -67,9 +67,9 @@ typedef ZSTD_ErrorCode ERR_enum; ******************************************/ #define ERROR(name) ((size_t)-PREFIX(name)) =20 -ERR_STATIC unsigned INIT ERR_isError(size_t code) { return (code > ERROR(m= axCode)); } +ERR_STATIC unsigned __init ERR_isError(size_t code) { return (code > ERROR= (maxCode)); } =20 -ERR_STATIC ERR_enum INIT ERR_getErrorCode(size_t code) +ERR_STATIC ERR_enum __init ERR_getErrorCode(size_t code) { if (!ERR_isError(code)) return (ERR_enum)0; @@ -82,7 +82,7 @@ ERR_STATIC ERR_enum INIT ERR_getErrorCod * * Return: Non-zero iff the code is an error. */ -static __attribute__((unused)) unsigned int INIT ZSTD_isError(size_t code) +static __attribute__((unused)) unsigned int __init ZSTD_isError(size_t cod= e) { return code > (size_t)-ZSTD_error_maxCode; } @@ -94,7 +94,7 @@ static __attribute__((unused)) unsigned * Return: The ZSTD_ErrorCode corresponding to the functionResult= or 0 * if the functionResult isn't an error. */ -static __attribute__((unused)) ZSTD_ErrorCode INIT ZSTD_getErrorCode( +static __attribute__((unused)) ZSTD_ErrorCode __init ZSTD_getErrorCode( size_t functionResult) { if (!ZSTD_isError(functionResult)) --- a/xen/common/zstd/fse_decompress.c +++ b/xen/common/zstd/fse_decompress.c @@ -82,7 +82,7 @@ =20 /* Function templates */ =20 -size_t INIT FSE_buildDTable_wksp(FSE_DTable *dt, const short *normalizedCo= unter, unsigned maxSymbolValue, unsigned tableLog, void *workspace, size_t = workspaceSize) +size_t __init FSE_buildDTable_wksp(FSE_DTable *dt, const short *normalized= Counter, unsigned maxSymbolValue, unsigned tableLog, void *workspace, size_= t workspaceSize) { void *const tdPtr =3D dt + 1; /* because *dt is unsigned, 32-bits aligned= on 32-bits */ FSE_DECODE_TYPE *const tableDecode =3D (FSE_DECODE_TYPE *)(tdPtr); @@ -157,7 +157,7 @@ size_t INIT FSE_buildDTable_wksp(FSE_DTa /*-******************************************************* * Decompression (Byte symbols) *********************************************************/ -size_t INIT FSE_buildDTable_rle(FSE_DTable *dt, BYTE symbolValue) +size_t __init FSE_buildDTable_rle(FSE_DTable *dt, BYTE symbolValue) { void *ptr =3D dt; FSE_DTableHeader *const DTableH =3D (FSE_DTableHeader *)ptr; @@ -174,7 +174,7 @@ size_t INIT FSE_buildDTable_rle(FSE_DTab return 0; } =20 -size_t INIT FSE_buildDTable_raw(FSE_DTable *dt, unsigned nbBits) +size_t __init FSE_buildDTable_raw(FSE_DTable *dt, unsigned nbBits) { void *ptr =3D dt; FSE_DTableHeader *const DTableH =3D (FSE_DTableHeader *)ptr; @@ -269,7 +269,7 @@ FORCE_INLINE size_t FSE_decompress_using return op - ostart; } =20 -size_t INIT FSE_decompress_usingDTable(void *dst, size_t originalSize, con= st void *cSrc, size_t cSrcSize, const FSE_DTable *dt) +size_t __init FSE_decompress_usingDTable(void *dst, size_t originalSize, c= onst void *cSrc, size_t cSrcSize, const FSE_DTable *dt) { const void *ptr =3D dt; const FSE_DTableHeader *DTableH =3D (const FSE_DTableHeader *)ptr; @@ -281,7 +281,7 @@ size_t INIT FSE_decompress_usingDTable(v return FSE_decompress_usingDTable_generic(dst, originalSize, cSrc, cSrcSi= ze, dt, 0); } =20 -size_t INIT FSE_decompress_wksp(void *dst, size_t dstCapacity, const void = *cSrc, size_t cSrcSize, unsigned maxLog, void *workspace, size_t workspaceS= ize) +size_t __init FSE_decompress_wksp(void *dst, size_t dstCapacity, const voi= d *cSrc, size_t cSrcSize, unsigned maxLog, void *workspace, size_t workspac= eSize) { const BYTE *const istart =3D (const BYTE *)cSrc; const BYTE *ip =3D istart; --- a/xen/common/zstd/huf_decompress.c +++ b/xen/common/zstd/huf_decompress.c @@ -68,7 +68,7 @@ typedef struct { BYTE reserved; } DTableDesc; =20 -static DTableDesc INIT HUF_getDTableDesc(const HUF_DTable *table) +static DTableDesc __init HUF_getDTableDesc(const HUF_DTable *table) { DTableDesc dtd; memcpy(&dtd, table, sizeof(dtd)); @@ -84,7 +84,7 @@ typedef struct { BYTE nbBits; } HUF_DEltX2; /* single-symbol decoding */ =20 -size_t INIT HUF_readDTableX2_wksp(HUF_DTable *DTable, const void *src, siz= e_t srcSize, void *workspace, size_t workspaceSize) +size_t __init HUF_readDTableX2_wksp(HUF_DTable *DTable, const void *src, s= ize_t srcSize, void *workspace, size_t workspaceSize) { U32 tableLog =3D 0; U32 nbSymbols =3D 0; @@ -152,7 +152,7 @@ size_t INIT HUF_readDTableX2_wksp(HUF_DT return iSize; } =20 -static BYTE INIT HUF_decodeSymbolX2(BIT_DStream_t *Dstream, const HUF_DElt= X2 *dt, const U32 dtLog) +static BYTE __init HUF_decodeSymbolX2(BIT_DStream_t *Dstream, const HUF_DE= ltX2 *dt, const U32 dtLog) { size_t const val =3D BIT_lookBitsFast(Dstream, dtLog); /* note : dtLog >= =3D 1 */ BYTE const c =3D dt[val].byte; @@ -193,7 +193,7 @@ FORCE_INLINE size_t HUF_decodeStreamX2(B return pEnd - pStart; } =20 -static size_t INIT HUF_decompress1X2_usingDTable_internal(void *dst, size_= t dstSize, const void *cSrc, size_t cSrcSize, const HUF_DTable *DTable) +static size_t __init HUF_decompress1X2_usingDTable_internal(void *dst, siz= e_t dstSize, const void *cSrc, size_t cSrcSize, const HUF_DTable *DTable) { BYTE *op =3D (BYTE *)dst; BYTE *const oend =3D op + dstSize; @@ -218,7 +218,7 @@ static size_t INIT HUF_decompress1X2_usi return dstSize; } =20 -size_t INIT HUF_decompress1X2_usingDTable(void *dst, size_t dstSize, const= void *cSrc, size_t cSrcSize, const HUF_DTable *DTable) +size_t __init HUF_decompress1X2_usingDTable(void *dst, size_t dstSize, con= st void *cSrc, size_t cSrcSize, const HUF_DTable *DTable) { DTableDesc dtd =3D HUF_getDTableDesc(DTable); if (dtd.tableType !=3D 0) @@ -226,7 +226,7 @@ size_t INIT HUF_decompress1X2_usingDTabl return HUF_decompress1X2_usingDTable_internal(dst, dstSize, cSrc, cSrcSiz= e, DTable); } =20 -size_t INIT HUF_decompress1X2_DCtx_wksp(HUF_DTable *DCtx, void *dst, size_= t dstSize, const void *cSrc, size_t cSrcSize, void *workspace, size_t works= paceSize) +size_t __init HUF_decompress1X2_DCtx_wksp(HUF_DTable *DCtx, void *dst, siz= e_t dstSize, const void *cSrc, size_t cSrcSize, void *workspace, size_t wor= kspaceSize) { const BYTE *ip =3D (const BYTE *)cSrc; =20 @@ -241,7 +241,7 @@ size_t INIT HUF_decompress1X2_DCtx_wksp( return HUF_decompress1X2_usingDTable_internal(dst, dstSize, ip, cSrcSize,= DCtx); } =20 -static size_t INIT HUF_decompress4X2_usingDTable_internal(void *dst, size_= t dstSize, const void *cSrc, size_t cSrcSize, const HUF_DTable *DTable) +static size_t __init HUF_decompress4X2_usingDTable_internal(void *dst, siz= e_t dstSize, const void *cSrc, size_t cSrcSize, const HUF_DTable *DTable) { /* Check */ if (cSrcSize < 10) @@ -349,7 +349,7 @@ static size_t INIT HUF_decompress4X2_usi } } =20 -size_t INIT HUF_decompress4X2_usingDTable(void *dst, size_t dstSize, const= void *cSrc, size_t cSrcSize, const HUF_DTable *DTable) +size_t __init HUF_decompress4X2_usingDTable(void *dst, size_t dstSize, con= st void *cSrc, size_t cSrcSize, const HUF_DTable *DTable) { DTableDesc dtd =3D HUF_getDTableDesc(DTable); if (dtd.tableType !=3D 0) @@ -357,7 +357,7 @@ size_t INIT HUF_decompress4X2_usingDTabl return HUF_decompress4X2_usingDTable_internal(dst, dstSize, cSrc, cSrcSiz= e, DTable); } =20 -size_t INIT HUF_decompress4X2_DCtx_wksp(HUF_DTable *dctx, void *dst, size_= t dstSize, const void *cSrc, size_t cSrcSize, void *workspace, size_t works= paceSize) +size_t __init HUF_decompress4X2_DCtx_wksp(HUF_DTable *dctx, void *dst, siz= e_t dstSize, const void *cSrc, size_t cSrcSize, void *workspace, size_t wor= kspaceSize) { const BYTE *ip =3D (const BYTE *)cSrc; =20 @@ -388,7 +388,7 @@ typedef struct { =20 /* HUF_fillDTableX4Level2() : * `rankValOrigin` must be a table of at least (HUF_TABLELOG_MAX + 1) U32 = */ -static void INIT HUF_fillDTableX4Level2(HUF_DEltX4 *DTable, U32 sizeLog, c= onst U32 consumed, const U32 *rankValOrigin, const int minWeight, +static void __init HUF_fillDTableX4Level2(HUF_DEltX4 *DTable, U32 sizeLog,= const U32 consumed, const U32 *rankValOrigin, const int minWeight, const sortedSymbol_t *sortedSymbols, const U32 sortedListSize, U32 nb= BitsBaseline, U16 baseSeq) { HUF_DEltX4 DElt; @@ -434,7 +434,7 @@ static void INIT HUF_fillDTableX4Level2( typedef U32 rankVal_t[HUF_TABLELOG_MAX][HUF_TABLELOG_MAX + 1]; typedef U32 rankValCol_t[HUF_TABLELOG_MAX + 1]; =20 -static void INIT HUF_fillDTableX4(HUF_DEltX4 *DTable, const U32 targetLog,= const sortedSymbol_t *sortedList, +static void __init HUF_fillDTableX4(HUF_DEltX4 *DTable, const U32 targetLo= g, const sortedSymbol_t *sortedList, const U32 sortedListSize, const U32 *rankStart, rankVal_t rankValOrigin, const U32 maxWeight, const U32 nbBit= sBaseline) { @@ -477,7 +477,7 @@ static void INIT HUF_fillDTableX4(HUF_DE } } =20 -size_t INIT HUF_readDTableX4_wksp(HUF_DTable *DTable, const void *src, siz= e_t srcSize, void *workspace, size_t workspaceSize) +size_t __init HUF_readDTableX4_wksp(HUF_DTable *DTable, const void *src, s= ize_t srcSize, void *workspace, size_t workspaceSize) { U32 tableLog, maxW, sizeOfSort, nbSymbols; DTableDesc dtd =3D HUF_getDTableDesc(DTable); @@ -590,7 +590,7 @@ size_t INIT HUF_readDTableX4_wksp(HUF_DT return iSize; } =20 -static U32 INIT HUF_decodeSymbolX4(void *op, BIT_DStream_t *DStream, const= HUF_DEltX4 *dt, const U32 dtLog) +static U32 __init HUF_decodeSymbolX4(void *op, BIT_DStream_t *DStream, con= st HUF_DEltX4 *dt, const U32 dtLog) { size_t const val =3D BIT_lookBitsFast(DStream, dtLog); /* note : dtLog >= =3D 1 */ memcpy(op, dt + val, 2); @@ -598,7 +598,7 @@ static U32 INIT HUF_decodeSymbolX4(void return dt[val].length; } =20 -static U32 INIT HUF_decodeLastSymbolX4(void *op, BIT_DStream_t *DStream, c= onst HUF_DEltX4 *dt, const U32 dtLog) +static U32 __init HUF_decodeLastSymbolX4(void *op, BIT_DStream_t *DStream,= const HUF_DEltX4 *dt, const U32 dtLog) { size_t const val =3D BIT_lookBitsFast(DStream, dtLog); /* note : dtLog >= =3D 1 */ memcpy(op, dt + val, 1); @@ -650,7 +650,7 @@ FORCE_INLINE size_t HUF_decodeStreamX4(B return p - pStart; } =20 -static size_t INIT HUF_decompress1X4_usingDTable_internal(void *dst, size_= t dstSize, const void *cSrc, size_t cSrcSize, const HUF_DTable *DTable) +static size_t __init HUF_decompress1X4_usingDTable_internal(void *dst, siz= e_t dstSize, const void *cSrc, size_t cSrcSize, const HUF_DTable *DTable) { BIT_DStream_t bitD; =20 @@ -679,7 +679,7 @@ static size_t INIT HUF_decompress1X4_usi return dstSize; } =20 -size_t INIT HUF_decompress1X4_usingDTable(void *dst, size_t dstSize, const= void *cSrc, size_t cSrcSize, const HUF_DTable *DTable) +size_t __init HUF_decompress1X4_usingDTable(void *dst, size_t dstSize, con= st void *cSrc, size_t cSrcSize, const HUF_DTable *DTable) { DTableDesc dtd =3D HUF_getDTableDesc(DTable); if (dtd.tableType !=3D 1) @@ -687,7 +687,7 @@ size_t INIT HUF_decompress1X4_usingDTabl return HUF_decompress1X4_usingDTable_internal(dst, dstSize, cSrc, cSrcSiz= e, DTable); } =20 -size_t INIT HUF_decompress1X4_DCtx_wksp(HUF_DTable *DCtx, void *dst, size_= t dstSize, const void *cSrc, size_t cSrcSize, void *workspace, size_t works= paceSize) +size_t __init HUF_decompress1X4_DCtx_wksp(HUF_DTable *DCtx, void *dst, siz= e_t dstSize, const void *cSrc, size_t cSrcSize, void *workspace, size_t wor= kspaceSize) { const BYTE *ip =3D (const BYTE *)cSrc; =20 @@ -702,7 +702,7 @@ size_t INIT HUF_decompress1X4_DCtx_wksp( return HUF_decompress1X4_usingDTable_internal(dst, dstSize, ip, cSrcSize,= DCtx); } =20 -static size_t INIT HUF_decompress4X4_usingDTable_internal(void *dst, size_= t dstSize, const void *cSrc, size_t cSrcSize, const HUF_DTable *DTable) +static size_t __init HUF_decompress4X4_usingDTable_internal(void *dst, siz= e_t dstSize, const void *cSrc, size_t cSrcSize, const HUF_DTable *DTable) { if (cSrcSize < 10) return ERROR(corruption_detected); /* strict minimum : jump table + 1 by= te per stream */ @@ -812,7 +812,7 @@ static size_t INIT HUF_decompress4X4_usi } } =20 -size_t INIT HUF_decompress4X4_usingDTable(void *dst, size_t dstSize, const= void *cSrc, size_t cSrcSize, const HUF_DTable *DTable) +size_t __init HUF_decompress4X4_usingDTable(void *dst, size_t dstSize, con= st void *cSrc, size_t cSrcSize, const HUF_DTable *DTable) { DTableDesc dtd =3D HUF_getDTableDesc(DTable); if (dtd.tableType !=3D 1) @@ -820,7 +820,7 @@ size_t INIT HUF_decompress4X4_usingDTabl return HUF_decompress4X4_usingDTable_internal(dst, dstSize, cSrc, cSrcSiz= e, DTable); } =20 -size_t INIT HUF_decompress4X4_DCtx_wksp(HUF_DTable *dctx, void *dst, size_= t dstSize, const void *cSrc, size_t cSrcSize, void *workspace, size_t works= paceSize) +size_t __init HUF_decompress4X4_DCtx_wksp(HUF_DTable *dctx, void *dst, siz= e_t dstSize, const void *cSrc, size_t cSrcSize, void *workspace, size_t wor= kspaceSize) { const BYTE *ip =3D (const BYTE *)cSrc; =20 @@ -839,14 +839,14 @@ size_t INIT HUF_decompress4X4_DCtx_wksp( /* Generic decompression selector */ /* ********************************/ =20 -size_t INIT HUF_decompress1X_usingDTable(void *dst, size_t maxDstSize, con= st void *cSrc, size_t cSrcSize, const HUF_DTable *DTable) +size_t __init HUF_decompress1X_usingDTable(void *dst, size_t maxDstSize, c= onst void *cSrc, size_t cSrcSize, const HUF_DTable *DTable) { DTableDesc const dtd =3D HUF_getDTableDesc(DTable); return dtd.tableType ? HUF_decompress1X4_usingDTable_internal(dst, maxDst= Size, cSrc, cSrcSize, DTable) : HUF_decompress1X2_usingDTable_internal(dst, maxDstSize, cSrc, cS= rcSize, DTable); } =20 -size_t INIT HUF_decompress4X_usingDTable(void *dst, size_t maxDstSize, con= st void *cSrc, size_t cSrcSize, const HUF_DTable *DTable) +size_t __init HUF_decompress4X_usingDTable(void *dst, size_t maxDstSize, c= onst void *cSrc, size_t cSrcSize, const HUF_DTable *DTable) { DTableDesc const dtd =3D HUF_getDTableDesc(DTable); return dtd.tableType ? HUF_decompress4X4_usingDTable_internal(dst, maxDst= Size, cSrc, cSrcSize, DTable) @@ -882,7 +882,7 @@ static const algo_time_t algoTime[16 /* * based on a set of pre-determined metrics. * @return : 0=3D=3DHUF_decompress4X2, 1=3D=3DHUF_decompress4X4 . * Assumption : 0 < cSrcSize < dstSize <=3D 128 KB */ -U32 INIT HUF_selectDecoder(size_t dstSize, size_t cSrcSize) +U32 __init HUF_selectDecoder(size_t dstSize, size_t cSrcSize) { /* decoder timing evaluation */ U32 const Q =3D (U32)(cSrcSize * 16 / dstSize); /* Q < 16 since dstSize >= cSrcSize */ @@ -896,7 +896,7 @@ U32 INIT HUF_selectDecoder(size_t dstSiz =20 typedef size_t (*decompressionAlgo)(void *dst, size_t dstSize, const void = *cSrc, size_t cSrcSize); =20 -size_t INIT HUF_decompress4X_DCtx_wksp(HUF_DTable *dctx, void *dst, size_t= dstSize, const void *cSrc, size_t cSrcSize, void *workspace, size_t worksp= aceSize) +size_t __init HUF_decompress4X_DCtx_wksp(HUF_DTable *dctx, void *dst, size= _t dstSize, const void *cSrc, size_t cSrcSize, void *workspace, size_t work= spaceSize) { /* validation checks */ if (dstSize =3D=3D 0) @@ -919,7 +919,7 @@ size_t INIT HUF_decompress4X_DCtx_wksp(H } } =20 -size_t INIT HUF_decompress4X_hufOnly_wksp(HUF_DTable *dctx, void *dst, siz= e_t dstSize, const void *cSrc, size_t cSrcSize, void *workspace, size_t wor= kspaceSize) +size_t __init HUF_decompress4X_hufOnly_wksp(HUF_DTable *dctx, void *dst, s= ize_t dstSize, const void *cSrc, size_t cSrcSize, void *workspace, size_t w= orkspaceSize) { /* validation checks */ if (dstSize =3D=3D 0) @@ -934,7 +934,7 @@ size_t INIT HUF_decompress4X_hufOnly_wks } } =20 -size_t INIT HUF_decompress1X_DCtx_wksp(HUF_DTable *dctx, void *dst, size_t= dstSize, const void *cSrc, size_t cSrcSize, void *workspace, size_t worksp= aceSize) +size_t __init HUF_decompress1X_DCtx_wksp(HUF_DTable *dctx, void *dst, size= _t dstSize, const void *cSrc, size_t cSrcSize, void *workspace, size_t work= spaceSize) { /* validation checks */ if (dstSize =3D=3D 0) --- a/xen/common/zstd/zstd_common.c +++ b/xen/common/zstd/zstd_common.c @@ -31,7 +31,7 @@ (stack)->ptr <=3D (stack)->end ? ptr : NULL; \ }) =20 -ZSTD_customMem INIT ZSTD_initStack(void *workspace, size_t workspaceSize) +ZSTD_customMem __init ZSTD_initStack(void *workspace, size_t workspaceSize) { ZSTD_customMem stackMem =3D {ZSTD_stackAlloc, ZSTD_stackFree, workspace}; ZSTD_stack *stack =3D (ZSTD_stack *)workspace; @@ -47,27 +47,27 @@ ZSTD_customMem INIT ZSTD_initStack(void return stackMem; } =20 -void *INIT ZSTD_stackAllocAll(void *opaque, size_t *size) +void *__init ZSTD_stackAllocAll(void *opaque, size_t *size) { ZSTD_stack *stack =3D (ZSTD_stack *)opaque; *size =3D (BYTE const *)stack->end - (BYTE *)ZSTD_PTR_ALIGN(stack->ptr); return stack_push(stack, *size); } =20 -void *INIT ZSTD_stackAlloc(void *opaque, size_t size) +void *__init ZSTD_stackAlloc(void *opaque, size_t size) { ZSTD_stack *stack =3D (ZSTD_stack *)opaque; return stack_push(stack, size); } -void INIT ZSTD_stackFree(void *opaque, void *address) +void __init ZSTD_stackFree(void *opaque, void *address) { (void)opaque; (void)address; } =20 -void *INIT ZSTD_malloc(size_t size, ZSTD_customMem customMem) { return cus= tomMem.customAlloc(customMem.opaque, size); } +void *__init ZSTD_malloc(size_t size, ZSTD_customMem customMem) { return c= ustomMem.customAlloc(customMem.opaque, size); } =20 -void INIT ZSTD_free(void *ptr, ZSTD_customMem customMem) +void __init ZSTD_free(void *ptr, ZSTD_customMem customMem) { if (ptr !=3D NULL) customMem.customFree(customMem.opaque, ptr); --- a/xen/common/zstd/zstd_internal.h +++ b/xen/common/zstd/zstd_internal.h @@ -21,7 +21,7 @@ * Compiler specifics *********************************************************/ #define FORCE_INLINE static always_inline -#define FORCE_NOINLINE static noinline INIT +#define FORCE_NOINLINE static noinline __init =20 /*-************************************* * Dependencies