On 12/9/20 7:34 PM, Alejandro Colomar (man-pages) wrote:
Hi Heinrich & Michael,
What about the following?:
[
NOTES
GCC provides a similar function, which may be useful on archi‐
tectures that lack this system call:
void __builtin___clear_cache(void *begin, void *end);
]
I just checked building with Clang/LLVM. There the arguments are of type
(char *). See the following error output:
+arch/sandbox/cpu/cache.c:19:26: error: passing 'uint8_t *' (aka
'unsigned char *') to parameter of type 'char *' converts between
pointers to integer types with different sign [-Werror,-Wpointer-sign]
+ __builtin___clear_cache(state->ram_buf,
+ ^~~~~~~~~~~~~~
+arch/sandbox/cpu/cache.c:20:12: error: passing 'uint8_t *' (aka
'unsigned char *') to parameter of type 'char *' converts between
pointers to integer types with different sign [-Werror,-Wpointer-sign]
+ state->ram_buf + state->ram_size);
+ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Best regards
Heinrich
Cheers,
Alex
On 12/9/20 7:04 PM, Heinrich Schuchardt wrote:
Hello Michael,
function cacheflush() does not exist on many architectures.
It would have saved me a lot of time if the man-page had referenced GCC's
void __builtin___clear_cache(void *begin, void *end)
Maybe you can add it to NOTES.
Best regards
heirnich