summaryrefslogtreecommitdiff
path: root/open_issues/glibc/t/tls-threadvar.mdwn
blob: e72732abf3e04f25117e7a2df37032dd22eb3246 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
[[!meta copyright="Copyright © 2011, 2012 Free Software Foundation, Inc."]]

[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
id="license" text="Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no Invariant
Sections, no Front-Cover Texts, and no Back-Cover Texts.  A copy of the license
is included in the section entitled [[GNU Free Documentation
License|/fdl]]."]]"""]]

[[!tag open_issue_glibc open_issue_libpthread]]

This basically means to get rid of `sysdeps/mach/hurd/bits/libc-tsd.h` (and
thus the `_HURD_THREADVAR_*`/`_hurd_threadvar_location` interface), and
directly use `__thread` instead.

IRC, freenode, #hurd, 2011-10-23:

    <tschwinge> youpi: If we want to replace threadvars with TLS, there is one
      problem: the threadvars interface is publically exported:
      /usr/include/hurd/threadvar.h.
    <tschwinge> youpi: But I am somewhat inclined to say that the only user of
      this is libthreads/libpthread.  Do you think differently?
    <youpi> tschwinge: that's very probable
    <youpi> so I think we can just drop it
    <youpi> (people should use TLS anyway)

[[libpthread_set_stack_size]].

After this has been done, probably the whole `__libc_tsd_*` stuff can be
dropped altogether, and `__thread` directly be used in glibc.