Coverage Report

Created: 2026-10-13 06:38

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/barebox/lib/zstd/mem.h
Line
Count
Source
1
/**
2
 * Copyright (c) 2016-present, Yann Collet, Facebook, Inc.
3
 * All rights reserved.
4
 *
5
 * This source code is licensed under the BSD-style license found in the
6
 * LICENSE file in the root directory of https://github.com/facebook/zstd.
7
 * An additional grant of patent rights can be found in the PATENTS file in the
8
 * same directory.
9
 *
10
 * This program is free software; you can redistribute it and/or modify it under
11
 * the terms of the GNU General Public License version 2 as published by the
12
 * Free Software Foundation. This program is dual-licensed; you may select
13
 * either version 2 of the GNU General Public License ("GPL") or BSD license
14
 * ("BSD").
15
 */
16
17
#ifndef MEM_H_MODULE
18
#define MEM_H_MODULE
19
20
/*-****************************************
21
*  Dependencies
22
******************************************/
23
#include <asm/unaligned.h>
24
#include <linux/string.h> /* memcpy */
25
#include <linux/types.h>  /* size_t, ptrdiff_t */
26
27
/*-****************************************
28
*  Compiler specifics
29
******************************************/
30
#define ZSTD_STATIC static __inline __attribute__((unused))
31
32
/*-**************************************************************
33
*  Basic Types
34
*****************************************************************/
35
typedef uint8_t BYTE;
36
typedef uint16_t U16;
37
typedef int16_t S16;
38
typedef uint32_t U32;
39
typedef int32_t S32;
40
typedef uint64_t U64;
41
typedef int64_t S64;
42
typedef ptrdiff_t iPtrDiff;
43
typedef uintptr_t uPtrDiff;
44
45
/*-**************************************************************
46
*  Memory I/O
47
*****************************************************************/
48
24.5M
ZSTD_STATIC unsigned ZSTD_32bits(void) { return sizeof(size_t) == 4; }
huf_decompress.c:ZSTD_32bits
Line
Count
Source
48
517k
ZSTD_STATIC unsigned ZSTD_32bits(void) { return sizeof(size_t) == 4; }
decompress.c:ZSTD_32bits
Line
Count
Source
48
23.9M
ZSTD_STATIC unsigned ZSTD_32bits(void) { return sizeof(size_t) == 4; }
Unexecuted instantiation: entropy_common.c:ZSTD_32bits
fse_decompress.c:ZSTD_32bits
Line
Count
Source
48
65.4k
ZSTD_STATIC unsigned ZSTD_32bits(void) { return sizeof(size_t) == 4; }
Unexecuted instantiation: zstd_common.c:ZSTD_32bits
49
1.50M
ZSTD_STATIC unsigned ZSTD_64bits(void) { return sizeof(size_t) == 8; }
huf_decompress.c:ZSTD_64bits
Line
Count
Source
49
1.50M
ZSTD_STATIC unsigned ZSTD_64bits(void) { return sizeof(size_t) == 8; }
Unexecuted instantiation: decompress.c:ZSTD_64bits
Unexecuted instantiation: entropy_common.c:ZSTD_64bits
Unexecuted instantiation: fse_decompress.c:ZSTD_64bits
Unexecuted instantiation: zstd_common.c:ZSTD_64bits
50
51
#if defined(__LITTLE_ENDIAN)
52
#define ZSTD_LITTLE_ENDIAN 1
53
#else
54
#define ZSTD_LITTLE_ENDIAN 0
55
#endif
56
57
0
ZSTD_STATIC unsigned ZSTD_isLittleEndian(void) { return ZSTD_LITTLE_ENDIAN; }
Unexecuted instantiation: huf_decompress.c:ZSTD_isLittleEndian
Unexecuted instantiation: decompress.c:ZSTD_isLittleEndian
Unexecuted instantiation: entropy_common.c:ZSTD_isLittleEndian
Unexecuted instantiation: fse_decompress.c:ZSTD_isLittleEndian
Unexecuted instantiation: zstd_common.c:ZSTD_isLittleEndian
58
59
0
ZSTD_STATIC U16 ZSTD_read16(const void *memPtr) { return get_unaligned((const U16 *)memPtr); }
Unexecuted instantiation: huf_decompress.c:ZSTD_read16
Unexecuted instantiation: decompress.c:ZSTD_read16
Unexecuted instantiation: entropy_common.c:ZSTD_read16
Unexecuted instantiation: fse_decompress.c:ZSTD_read16
Unexecuted instantiation: zstd_common.c:ZSTD_read16
60
61
0
ZSTD_STATIC U32 ZSTD_read32(const void *memPtr) { return get_unaligned((const U32 *)memPtr); }
Unexecuted instantiation: huf_decompress.c:ZSTD_read32
Unexecuted instantiation: decompress.c:ZSTD_read32
Unexecuted instantiation: entropy_common.c:ZSTD_read32
Unexecuted instantiation: fse_decompress.c:ZSTD_read32
Unexecuted instantiation: zstd_common.c:ZSTD_read32
62
63
0
ZSTD_STATIC U64 ZSTD_read64(const void *memPtr) { return get_unaligned((const U64 *)memPtr); }
Unexecuted instantiation: huf_decompress.c:ZSTD_read64
Unexecuted instantiation: decompress.c:ZSTD_read64
Unexecuted instantiation: entropy_common.c:ZSTD_read64
Unexecuted instantiation: fse_decompress.c:ZSTD_read64
Unexecuted instantiation: zstd_common.c:ZSTD_read64
64
65
0
ZSTD_STATIC size_t ZSTD_readST(const void *memPtr) { return get_unaligned((const size_t *)memPtr); }
Unexecuted instantiation: huf_decompress.c:ZSTD_readST
Unexecuted instantiation: decompress.c:ZSTD_readST
Unexecuted instantiation: entropy_common.c:ZSTD_readST
Unexecuted instantiation: fse_decompress.c:ZSTD_readST
Unexecuted instantiation: zstd_common.c:ZSTD_readST
66
67
0
ZSTD_STATIC void ZSTD_write16(void *memPtr, U16 value) { put_unaligned(value, (U16 *)memPtr); }
Unexecuted instantiation: huf_decompress.c:ZSTD_write16
Unexecuted instantiation: decompress.c:ZSTD_write16
Unexecuted instantiation: entropy_common.c:ZSTD_write16
Unexecuted instantiation: fse_decompress.c:ZSTD_write16
Unexecuted instantiation: zstd_common.c:ZSTD_write16
68
69
0
ZSTD_STATIC void ZSTD_write32(void *memPtr, U32 value) { put_unaligned(value, (U32 *)memPtr); }
Unexecuted instantiation: huf_decompress.c:ZSTD_write32
Unexecuted instantiation: decompress.c:ZSTD_write32
Unexecuted instantiation: entropy_common.c:ZSTD_write32
Unexecuted instantiation: fse_decompress.c:ZSTD_write32
Unexecuted instantiation: zstd_common.c:ZSTD_write32
70
71
0
ZSTD_STATIC void ZSTD_write64(void *memPtr, U64 value) { put_unaligned(value, (U64 *)memPtr); }
Unexecuted instantiation: huf_decompress.c:ZSTD_write64
Unexecuted instantiation: decompress.c:ZSTD_write64
Unexecuted instantiation: entropy_common.c:ZSTD_write64
Unexecuted instantiation: fse_decompress.c:ZSTD_write64
Unexecuted instantiation: zstd_common.c:ZSTD_write64
72
73
/*=== Little endian r/w ===*/
74
75
710k
ZSTD_STATIC U16 ZSTD_readLE16(const void *memPtr) { return get_unaligned_le16(memPtr); }
huf_decompress.c:ZSTD_readLE16
Line
Count
Source
75
8.16k
ZSTD_STATIC U16 ZSTD_readLE16(const void *memPtr) { return get_unaligned_le16(memPtr); }
decompress.c:ZSTD_readLE16
Line
Count
Source
75
702k
ZSTD_STATIC U16 ZSTD_readLE16(const void *memPtr) { return get_unaligned_le16(memPtr); }
Unexecuted instantiation: entropy_common.c:ZSTD_readLE16
Unexecuted instantiation: fse_decompress.c:ZSTD_readLE16
Unexecuted instantiation: zstd_common.c:ZSTD_readLE16
76
77
617k
ZSTD_STATIC void ZSTD_writeLE16(void *memPtr, U16 val) { put_unaligned_le16(val, memPtr); }
huf_decompress.c:ZSTD_writeLE16
Line
Count
Source
77
617k
ZSTD_STATIC void ZSTD_writeLE16(void *memPtr, U16 val) { put_unaligned_le16(val, memPtr); }
Unexecuted instantiation: decompress.c:ZSTD_writeLE16
Unexecuted instantiation: entropy_common.c:ZSTD_writeLE16
Unexecuted instantiation: fse_decompress.c:ZSTD_writeLE16
Unexecuted instantiation: zstd_common.c:ZSTD_writeLE16
78
79
689k
ZSTD_STATIC U32 ZSTD_readLE24(const void *memPtr) { return ZSTD_readLE16(memPtr) + (((const BYTE *)memPtr)[2] << 16); }
Unexecuted instantiation: huf_decompress.c:ZSTD_readLE24
decompress.c:ZSTD_readLE24
Line
Count
Source
79
689k
ZSTD_STATIC U32 ZSTD_readLE24(const void *memPtr) { return ZSTD_readLE16(memPtr) + (((const BYTE *)memPtr)[2] << 16); }
Unexecuted instantiation: entropy_common.c:ZSTD_readLE24
Unexecuted instantiation: fse_decompress.c:ZSTD_readLE24
Unexecuted instantiation: zstd_common.c:ZSTD_readLE24
80
81
ZSTD_STATIC void ZSTD_writeLE24(void *memPtr, U32 val)
82
0
{
83
0
  ZSTD_writeLE16(memPtr, (U16)val);
84
0
  ((BYTE *)memPtr)[2] = (BYTE)(val >> 16);
85
0
}
Unexecuted instantiation: huf_decompress.c:ZSTD_writeLE24
Unexecuted instantiation: decompress.c:ZSTD_writeLE24
Unexecuted instantiation: entropy_common.c:ZSTD_writeLE24
Unexecuted instantiation: fse_decompress.c:ZSTD_writeLE24
Unexecuted instantiation: zstd_common.c:ZSTD_writeLE24
86
87
476k
ZSTD_STATIC U32 ZSTD_readLE32(const void *memPtr) { return get_unaligned_le32(memPtr); }
Unexecuted instantiation: huf_decompress.c:ZSTD_readLE32
decompress.c:ZSTD_readLE32
Line
Count
Source
87
66.4k
ZSTD_STATIC U32 ZSTD_readLE32(const void *memPtr) { return get_unaligned_le32(memPtr); }
entropy_common.c:ZSTD_readLE32
Line
Count
Source
87
410k
ZSTD_STATIC U32 ZSTD_readLE32(const void *memPtr) { return get_unaligned_le32(memPtr); }
Unexecuted instantiation: fse_decompress.c:ZSTD_readLE32
Unexecuted instantiation: zstd_common.c:ZSTD_readLE32
88
89
0
ZSTD_STATIC void ZSTD_writeLE32(void *memPtr, U32 val32) { put_unaligned_le32(val32, memPtr); }
Unexecuted instantiation: huf_decompress.c:ZSTD_writeLE32
Unexecuted instantiation: decompress.c:ZSTD_writeLE32
Unexecuted instantiation: entropy_common.c:ZSTD_writeLE32
Unexecuted instantiation: fse_decompress.c:ZSTD_writeLE32
Unexecuted instantiation: zstd_common.c:ZSTD_writeLE32
90
91
4.93M
ZSTD_STATIC U64 ZSTD_readLE64(const void *memPtr) { return get_unaligned_le64(memPtr); }
huf_decompress.c:ZSTD_readLE64
Line
Count
Source
91
517k
ZSTD_STATIC U64 ZSTD_readLE64(const void *memPtr) { return get_unaligned_le64(memPtr); }
decompress.c:ZSTD_readLE64
Line
Count
Source
91
4.35M
ZSTD_STATIC U64 ZSTD_readLE64(const void *memPtr) { return get_unaligned_le64(memPtr); }
Unexecuted instantiation: entropy_common.c:ZSTD_readLE64
fse_decompress.c:ZSTD_readLE64
Line
Count
Source
91
65.4k
ZSTD_STATIC U64 ZSTD_readLE64(const void *memPtr) { return get_unaligned_le64(memPtr); }
Unexecuted instantiation: zstd_common.c:ZSTD_readLE64
92
93
0
ZSTD_STATIC void ZSTD_writeLE64(void *memPtr, U64 val64) { put_unaligned_le64(val64, memPtr); }
Unexecuted instantiation: huf_decompress.c:ZSTD_writeLE64
Unexecuted instantiation: decompress.c:ZSTD_writeLE64
Unexecuted instantiation: entropy_common.c:ZSTD_writeLE64
Unexecuted instantiation: fse_decompress.c:ZSTD_writeLE64
Unexecuted instantiation: zstd_common.c:ZSTD_writeLE64
94
95
ZSTD_STATIC size_t ZSTD_readLEST(const void *memPtr)
96
4.93M
{
97
4.93M
  if (ZSTD_32bits())
98
0
    return (size_t)ZSTD_readLE32(memPtr);
99
4.93M
  else
100
4.93M
    return (size_t)ZSTD_readLE64(memPtr);
101
4.93M
}
huf_decompress.c:ZSTD_readLEST
Line
Count
Source
96
517k
{
97
517k
  if (ZSTD_32bits())
98
0
    return (size_t)ZSTD_readLE32(memPtr);
99
517k
  else
100
517k
    return (size_t)ZSTD_readLE64(memPtr);
101
517k
}
decompress.c:ZSTD_readLEST
Line
Count
Source
96
4.35M
{
97
4.35M
  if (ZSTD_32bits())
98
0
    return (size_t)ZSTD_readLE32(memPtr);
99
4.35M
  else
100
4.35M
    return (size_t)ZSTD_readLE64(memPtr);
101
4.35M
}
Unexecuted instantiation: entropy_common.c:ZSTD_readLEST
fse_decompress.c:ZSTD_readLEST
Line
Count
Source
96
65.4k
{
97
65.4k
  if (ZSTD_32bits())
98
0
    return (size_t)ZSTD_readLE32(memPtr);
99
65.4k
  else
100
65.4k
    return (size_t)ZSTD_readLE64(memPtr);
101
65.4k
}
Unexecuted instantiation: zstd_common.c:ZSTD_readLEST
102
103
ZSTD_STATIC void ZSTD_writeLEST(void *memPtr, size_t val)
104
0
{
105
0
  if (ZSTD_32bits())
106
0
    ZSTD_writeLE32(memPtr, (U32)val);
107
0
  else
108
0
    ZSTD_writeLE64(memPtr, (U64)val);
109
0
}
Unexecuted instantiation: huf_decompress.c:ZSTD_writeLEST
Unexecuted instantiation: decompress.c:ZSTD_writeLEST
Unexecuted instantiation: entropy_common.c:ZSTD_writeLEST
Unexecuted instantiation: fse_decompress.c:ZSTD_writeLEST
Unexecuted instantiation: zstd_common.c:ZSTD_writeLEST
110
111
/*=== Big endian r/w ===*/
112
113
0
ZSTD_STATIC U32 ZSTD_readBE32(const void *memPtr) { return get_unaligned_be32(memPtr); }
Unexecuted instantiation: huf_decompress.c:ZSTD_readBE32
Unexecuted instantiation: decompress.c:ZSTD_readBE32
Unexecuted instantiation: entropy_common.c:ZSTD_readBE32
Unexecuted instantiation: fse_decompress.c:ZSTD_readBE32
Unexecuted instantiation: zstd_common.c:ZSTD_readBE32
114
115
0
ZSTD_STATIC void ZSTD_writeBE32(void *memPtr, U32 val32) { put_unaligned_be32(val32, memPtr); }
Unexecuted instantiation: huf_decompress.c:ZSTD_writeBE32
Unexecuted instantiation: decompress.c:ZSTD_writeBE32
Unexecuted instantiation: entropy_common.c:ZSTD_writeBE32
Unexecuted instantiation: fse_decompress.c:ZSTD_writeBE32
Unexecuted instantiation: zstd_common.c:ZSTD_writeBE32
116
117
0
ZSTD_STATIC U64 ZSTD_readBE64(const void *memPtr) { return get_unaligned_be64(memPtr); }
Unexecuted instantiation: huf_decompress.c:ZSTD_readBE64
Unexecuted instantiation: decompress.c:ZSTD_readBE64
Unexecuted instantiation: entropy_common.c:ZSTD_readBE64
Unexecuted instantiation: fse_decompress.c:ZSTD_readBE64
Unexecuted instantiation: zstd_common.c:ZSTD_readBE64
118
119
0
ZSTD_STATIC void ZSTD_writeBE64(void *memPtr, U64 val64) { put_unaligned_be64(val64, memPtr); }
Unexecuted instantiation: huf_decompress.c:ZSTD_writeBE64
Unexecuted instantiation: decompress.c:ZSTD_writeBE64
Unexecuted instantiation: entropy_common.c:ZSTD_writeBE64
Unexecuted instantiation: fse_decompress.c:ZSTD_writeBE64
Unexecuted instantiation: zstd_common.c:ZSTD_writeBE64
120
121
ZSTD_STATIC size_t ZSTD_readBEST(const void *memPtr)
122
0
{
123
0
  if (ZSTD_32bits())
124
0
    return (size_t)ZSTD_readBE32(memPtr);
125
0
  else
126
0
    return (size_t)ZSTD_readBE64(memPtr);
127
0
}
Unexecuted instantiation: huf_decompress.c:ZSTD_readBEST
Unexecuted instantiation: decompress.c:ZSTD_readBEST
Unexecuted instantiation: entropy_common.c:ZSTD_readBEST
Unexecuted instantiation: fse_decompress.c:ZSTD_readBEST
Unexecuted instantiation: zstd_common.c:ZSTD_readBEST
128
129
ZSTD_STATIC void ZSTD_writeBEST(void *memPtr, size_t val)
130
0
{
131
0
  if (ZSTD_32bits())
132
0
    ZSTD_writeBE32(memPtr, (U32)val);
133
0
  else
134
0
    ZSTD_writeBE64(memPtr, (U64)val);
135
0
}
Unexecuted instantiation: huf_decompress.c:ZSTD_writeBEST
Unexecuted instantiation: decompress.c:ZSTD_writeBEST
Unexecuted instantiation: entropy_common.c:ZSTD_writeBEST
Unexecuted instantiation: fse_decompress.c:ZSTD_writeBEST
Unexecuted instantiation: zstd_common.c:ZSTD_writeBEST
136
137
/* function safe only for comparisons */
138
ZSTD_STATIC U32 ZSTD_readMINMATCH(const void *memPtr, U32 length)
139
0
{
140
0
  switch (length) {
141
0
  default:
142
0
  case 4: return ZSTD_read32(memPtr);
143
0
  case 3:
144
0
    if (ZSTD_isLittleEndian())
145
0
      return ZSTD_read32(memPtr) << 8;
146
0
    else
147
0
      return ZSTD_read32(memPtr) >> 8;
148
0
  }
149
0
}
Unexecuted instantiation: huf_decompress.c:ZSTD_readMINMATCH
Unexecuted instantiation: decompress.c:ZSTD_readMINMATCH
Unexecuted instantiation: entropy_common.c:ZSTD_readMINMATCH
Unexecuted instantiation: fse_decompress.c:ZSTD_readMINMATCH
Unexecuted instantiation: zstd_common.c:ZSTD_readMINMATCH
150
151
#endif /* MEM_H_MODULE */