Coverage Report

Created: 2026-05-08 06:21

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
97.9k
{
8
97.9k
    emul_save_fpu_state();
9
97.9k
    sz = __real_fwrite(src, sz, n, f);
10
97.9k
    emul_restore_fpu_state();
11
12
97.9k
    return sz;
13
97.9k
}
14
15
int __wrap_memcmp(const void *p1, const void *p2, size_t sz)
16
121k
{
17
121k
    int rc;
18
19
121k
    emul_save_fpu_state();
20
121k
    rc = __real_memcmp(p1, p2, sz);
21
121k
    emul_restore_fpu_state();
22
23
121k
    return rc;
24
121k
}
25
26
void *__wrap_memcpy(void *dst, const void *src, size_t sz)
27
2.43M
{
28
2.43M
    emul_save_fpu_state();
29
2.43M
    __real_memcpy(dst, src, sz);
30
2.43M
    emul_restore_fpu_state();
31
32
2.43M
    return dst;
33
2.43M
}
34
35
void *__wrap_memset(void *dst, int c, size_t sz)
36
196k
{
37
196k
    emul_save_fpu_state();
38
196k
    __real_memset(dst, c, sz);
39
196k
    emul_restore_fpu_state();
40
41
196k
    return dst;
42
196k
}
43
44
int __wrap_printf(const char *fmt, ...)
45
8.16M
{
46
8.16M
    va_list varg;
47
8.16M
    int rc;
48
49
8.16M
    emul_save_fpu_state();
50
8.16M
    va_start(varg, fmt);
51
8.16M
    rc = __real_vprintf(fmt, varg);
52
8.16M
    va_end(varg);
53
8.16M
    emul_restore_fpu_state();
54
55
8.16M
    return rc;
56
8.16M
}
57
58
int __wrap_putchar(int c)
59
1.38M
{
60
1.38M
    int rc;
61
62
1.38M
    emul_save_fpu_state();
63
1.38M
    rc = __real_putchar(c);
64
1.38M
    emul_restore_fpu_state();
65
66
1.38M
    return rc;
67
1.38M
}
68
69
int __wrap_puts(const char *str)
70
1.13M
{
71
1.13M
    int rc;
72
73
1.13M
    emul_save_fpu_state();
74
1.13M
    rc = __real_puts(str);
75
1.13M
    emul_restore_fpu_state();
76
77
1.13M
    return rc;
78
1.13M
}
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
}