On 04/19/2017 07:38 PM, Adhemerval Zanella wrote:
On Wed, Apr 19, 2017 at 12:28 PM, Florian Weimer <fweimer@redhat.com> wrote:
On 04/19/2017 04:17 PM, Adhemerval Zanella wrote:
The problem is kernel supports for some architecture depends of kernel
config
and the underlying hardware revision/model.
I understand that. But I have seen a lot of use of robust mutexes lately,
and I'm sure these developers aren't aware that the mutexes aren't portable
across GNU/Linux (the Linux architecture subset supported by glibc).
I expect it's like the missing accept4 system call—you need to provide the
set_robust_list system call in the kernel if you want to a working, modern
system.
But my point is with current minimum supported kernel version for some
architectures
we can't simple assume set_robust_list support and even bumping minimum kernel
version for some architectures also do not solve the issue (on mips
for instance).
Hmm, maybe you are right, and we have to keep things this way for now.
But I don't like that your patch reintroduces the conditional code. You could use
#define __set_robust_list_avail 1
for the __ASSUME_SET_ROBUST_LIST case to reduce clutter, and let GCC do the rest.