This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

TLS & dynamic loading, part I


TLS and dynamic loading now should also work.  The tst-tls4 and
tst-tls5 programs show what is working.  Unloading is the next item on
the list and then finally making all work with libpthread.  This also
means a lot more tests.

On tests: if you port the TLS stuff to a new platform you should look
at the tst-tls? tests in the order of their numbers.  The coplexity
increases with each test and all previous tests must work for the next
to succeed.  I'll keep it like this with all following tests.


The code added in this set of patches is really hairy.  The
__tls_get_addr function obviously should be fast.  This includes that
no locking must be used.  This in turns requires certain complications
in the layout and allocation of the data structure which in good old
tradition themselves must not impose any artificial limits on the
program.  I think I've documented the code sufficiently for those who
want to understand the code.


Now that Jakub has posted the binutils patch you might want to write
the architecture support.  If the model for the platform is that of
x86 I see not many problems anymore.  For IA-64-like models I'd wait.
I'll have the IA-64 stuff working at some point.  It's not difficult,
it might require some changes in generic code, though.

-- 
---------------.                          ,-.   1325 Chesapeake Terrace
Ulrich Drepper  \    ,-------------------'   \  Sunnyvale, CA 94089 USA
Red Hat          `--' drepper at redhat.com   `------------------------


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]