[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #17644] glibc: support for TLS
From: |
Samuel Thibault |
Subject: |
[bug #17644] glibc: support for TLS |
Date: |
Tue, 17 Jul 2007 22:24:22 +0000 |
User-agent: |
w3m/0.5.1+cvs-1.968 |
Follow-up Comment #14, bug #17644 (project hurd):
There's one thing I'm not sure how to tackle when fork()+exec()'ing: when
fork()'ing, descriptors are correctly set, etc. but when exec()'ing a new
program, the descriptors should probably be cleared, because else the new
program will inherit them. This should probably be done in
hurd/exec/exec.c:do_exec(), at the time when vm areas are cleared. However,
while clearing LDT is easy (just set it all to 0), clearing GDT is not:
userspace doesn't have access to the USER_GDT and USER_GDT_SLOTS macros.
Making 8191 trap calls for clearing them one by one would be quite long. A
heuristic would be to try clearing from 0 and then until it starts
succeeding, and then continue until it fails again, at which point we can
consider every user entries where cleared, but that's far from pretty.
Should we export these two macros, export a new trap call for clearing all at
once, something else?
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?17644>
_______________________________________________
Message posté via/par Savannah
http://savannah.gnu.org/