On 2024-08-19 23:36, Xi Ruoyao wrote:
On Mon, 2024-08-19 at 13:03 +0000, Jason A. Donenfeld wrote:
The compiler (GCC 14.2) calls memset() for initializing a "large" struct
in a cold path of the generic vDSO getrandom() code. There seems no way
to prevent it from calling memset(), and it's a cold path so the
performance does not matter, so just provide a naive memset()
implementation for vDSO.
Why x86 doesn't need to provide a naive memset()?
I'm not sure. Maybe it's because x86_64 has SSE2 enabled so by default
the maximum buffer length to inline memset is larger.
I suspect the loongarch gcc has issue with -fno-builtin(-memset).