Date: Sun, 29 Apr 2018 23:16:53 -0400 From: Rich Felker <dalias@...c.org> To: musl@...ts.openwall.com Subject: Re: Some questions On Mon, Apr 30, 2018 at 12:52:06PM +1000, Patrick Oppenlander wrote: > Hi, > > while working on another project I've been looking through quite a bit > of the musl code and have come up with a few minor questions I think > worth raising: > > - Is there a way that spinlocks could be disabled or bypassed on > uniprocessor systems? Whether locks are needed is a matter of whether there are multiple threads, not whether it's uniprocessor or multiprocessor. For some things where it's likely to matter (stdio, malloc, some other internals), locks are already optimized out when there is only one thread. In other cases it was deemed either too costly/difficult or irrelevant to overall performance. > - sigisemptyset uses bss. Could be implemented in a similar fashion to > sigemptyset, save bss & would probably be faster. Ahh, yes. I wonder if gcc has any way to force const zero objects into rodata rather than bss..? In any case memcmp is not an efficient way to implement this, so maybe it should be changed. > - getcwd returned buffer size can be incorrect. If you call > getcwd(NULL, 1234) the returned buffer is sized to match the path > length but should be 1234 to be compatible with the glibc extension. I'll look at this. It seems like a worse behavior for most callers, but maybe it should match. > - Are there any plans to support static linking with LTO? It should be possible, but gcc mishandles the crt files when doing LTO. I think if you suppress LTO for them it works. Someone posted results experimenting with it either on the list or IRC channel recently. I'll see if I can find anything useful. Rich
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.