From fa97d2ab5b19de0ca3cd02471d0bbf4f09b5032d Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 25 Mar 2018 00:48:01 +0100 Subject: [PATCH] hurd: Fix accessing errno from rtld Letting rtld access errno through TLS can not work at early stages since TLS will not be initialized yet. When a private errno is not possible, we thus have no other way than going through __errno_location. * include/errno.h [IS_IN(rtld) && !RTLD_PRIVATE_ERRNO]: Do not use the TLS declaration of errno. --- ChangeLog | 5 +++++ include/errno.h | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 94175ab4b9..1b7ddba10c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2018-03-25 Samuel Thibault + + * include/errno.h [IS_IN(rtld) && !RTLD_PRIVATE_ERRNO]: Do not use the + TLS declaration of errno. + 2018-03-24 H.J. Lu [BZ #22998] diff --git a/include/errno.h b/include/errno.h index 3c3d2288c8..457114b27a 100644 --- a/include/errno.h +++ b/include/errno.h @@ -20,7 +20,7 @@ # define errno rtld_errno extern int rtld_errno attribute_hidden; -# elif IS_IN_LIB +# elif IS_IN_LIB && !IS_IN (rtld) # include