diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-03-25 00:48:01 +0100 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-03-25 00:48:01 +0100 |
commit | fa97d2ab5b19de0ca3cd02471d0bbf4f09b5032d (patch) | |
tree | 07b74b0acfbde5037724e5b79850a0821bf3c30a | |
parent | b8114edd3c9e789c36789f4ce5ca6deb41ea0a14 (diff) | |
download | glibc-fa97d2ab5b19de0ca3cd02471d0bbf4f09b5032d.tar.gz glibc-fa97d2ab5b19de0ca3cd02471d0bbf4f09b5032d.tar.xz glibc-fa97d2ab5b19de0ca3cd02471d0bbf4f09b5032d.zip |
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.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | include/errno.h | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog index 94175ab4b9..1b7ddba10c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2018-03-25 Samuel Thibault <samuel.thibault@ens-lyon.org> + + * include/errno.h [IS_IN(rtld) && !RTLD_PRIVATE_ERRNO]: Do not use the + TLS declaration of errno. + 2018-03-24 H.J. Lu <hongjiu.lu@intel.com> [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 <tls.h> |