Coverage Report

Created: 2026-07-26 06:13

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/xen/tools/tests/x86_emulator/wrappers.c
Line
Count
Source
1
#include <stdarg.h>
2
3
#define WRAP(x) typeof(x) __wrap_ ## x, __real_ ## x
4
#include "x86-emulate.h"
5
6
size_t __wrap_fwrite(const void *src, size_t sz, size_t n, FILE *f)
7
100k
{
8
100k
    emul_save_fpu_state();
9
100k
    sz = __real_fwrite(src, sz, n, f);
10
100k
    emul_restore_fpu_state();
11
12
100k
    return sz;
13
100k
}
14
15
int __wrap_memcmp(const void *p1, const void *p2, size_t sz)
16
124k
{
17
124k
    int rc;
18
19
124k
    emul_save_fpu_state();
20
124k
    rc = __real_memcmp(p1, p2, sz);
21
124k
    emul_restore_fpu_state();
22
23
124k
    return rc;
24
124k
}
25
26
void *__wrap_memcpy(void *dst, const void *src, size_t sz)
27
2.70M
{
28
2.70M
    emul_save_fpu_state();
29
2.70M
    __real_memcpy(dst, src, sz);
30
2.70M
    emul_restore_fpu_state();
31
32
2.70M
    return dst;
33
2.70M
}
34
35
void *__wrap_memset(void *dst, int c, size_t sz)
36
200k
{
37
200k
    emul_save_fpu_state();
38
200k
    __real_memset(dst, c, sz);
39
200k
    emul_restore_fpu_state();
40
41
200k
    return dst;
42
200k
}
43
44
int __wrap_printf(const char *fmt, ...)
45
9.08M
{
46
9.08M
    va_list varg;
47
9.08M
    int rc;
48
49
9.08M
    emul_save_fpu_state();
50
9.08M
    va_start(varg, fmt);
51
9.08M
    rc = __real_vprintf(fmt, varg);
52
9.08M
    va_end(varg);
53
9.08M
    emul_restore_fpu_state();
54
55
9.08M
    return rc;
56
9.08M
}
57
58
int __wrap_putchar(int c)
59
1.53M
{
60
1.53M
    int rc;
61
62
1.53M
    emul_save_fpu_state();
63
1.53M
    rc = __real_putchar(c);
64
1.53M
    emul_restore_fpu_state();
65
66
1.53M
    return rc;
67
1.53M
}
68
69
int __wrap_puts(const char *str)
70
1.27M
{
71
1.27M
    int rc;
72
73
1.27M
    emul_save_fpu_state();
74
1.27M
    rc = __real_puts(str);
75
1.27M
    emul_restore_fpu_state();
76
77
1.27M
    return rc;
78
1.27M
}
79
80
int __wrap_snprintf(char *buf, size_t n, const char *fmt, ...)
81
4
{
82
4
    va_list varg;
83
4
    int rc;
84
85
4
    emul_save_fpu_state();
86
4
    va_start(varg, fmt);
87
4
    rc = __real_vsnprintf(buf, n, fmt, varg);
88
4
    va_end(varg);
89
4
    emul_restore_fpu_state();
90
91
4
    return rc;
92
4
}
93
94
int __wrap_vsnprintf(char *buf, size_t n, const char *fmt, va_list varg)
95
0
{
96
0
    int rc;
97
98
0
    emul_save_fpu_state();
99
0
    rc = __real_vsnprintf(buf, n, fmt, varg);
100
0
    emul_restore_fpu_state();
101
102
0
    return rc;
103
0
}
104
105
char *__wrap_strstr(const char *s1, const char *s2)
106
107
{
107
107
    char *s;
108
109
107
    emul_save_fpu_state();
110
107
    s = __real_strstr(s1, s2);
111
107
    emul_restore_fpu_state();
112
113
107
    return s;
114
107
}