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


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

just checked in


Hi,

I just checked in my changes to make ld.so thread safe.  I hope that
it works fine (as far as I can tell it does) but be careful
nevertheless.  I bumped the version number to 2.0.96 so that you can
keep 2.0.96 around.

The "easy" part of the changes consisted of handling the `catch'
variable in dl-error.c.  It also wasn#t that easy since the relocation
of ld.so itself does not know about weak symbols.  See the ugly hack I
had to add.

The major changes were necessary to the way the lookup scope was
represented.  More specifically: the _dl_global_scope variable and
friends.  I've completely removed these global variables and the
result should be a bit faster than the old code.  The idea is to
create all needed scopes at the time the link map is created.

As said, it works for me, make check works and the programs from the
bug reports also work.


For platforms != ix86 you unfortunately have a bit to do.  The
assembler code in the RTLD_START macro must be changed slightly.
Since this is asm code I really would love to leave it to you.  The
changes should be trivial, though.

For Hurd: I still have no idea what thread lib you use (any at all?).
The problem are the macros in dl-error.c.  We need a piece of thread
specific data and I've added this to the same place the malloc data is
put.  Please tell me what you need.

-- 
---------------.      drepper at gnu.org  ,-.   1325 Chesapeake Terrace
Ulrich Drepper  \    ,-------------------'   \  Sunnyvale, CA 94089 USA
Cygnus Solutions `--' drepper at cygnus.com   `------------------------


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