| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
Notes:
svn path=/releng/4.6/; revision=99348
|
| |
|
|
|
|
|
|
|
|
| |
matching constraints where appropriate. The revisions merged are:
lockdflt.c 1.7
rtld_machdep.h 1.7
Notes:
svn path=/stable/4/; revision=99245
|
| |
|
|
|
|
|
|
| |
Reviewed by: obrien
Approved by: jdp
Notes:
svn path=/stable/4/; revision=98628
|
| |
|
|
| |
Notes:
svn path=/stable/4/; revision=98621
|
| |
|
|
|
|
|
|
|
|
|
| |
This solves problem when installing openoffice from ports and may also
solve some of the instability issues with large GUI programs like Mozilla,
Konq, etc (thread stacks were being overrun).
Approved by: jdp
Notes:
svn path=/stable/4/; revision=98303
|
| |
|
|
|
|
|
| |
PR: bin/25059
Notes:
svn path=/stable/4/; revision=93703
|
| |
|
|
|
|
|
|
| |
Change brk's prototype from char *brk(const char *) to int brk(const void *)
and sbrk's prototype from char *sbrk(int) to void *sbrk(intptr_t).
Notes:
svn path=/stable/4/; revision=91631
|
| |
|
|
| |
Notes:
svn path=/stable/4/; revision=91044
|
| |
|
|
| |
Notes:
svn path=/stable/4/; revision=90837
|
| |
|
|
|
|
|
| |
PR: bin/28191
Notes:
svn path=/stable/4/; revision=90498
|
| |
|
|
|
|
|
| |
Approved by: re (blanket)
Notes:
svn path=/stable/4/; revision=89231
|
| |
|
|
| |
Notes:
svn path=/stable/4/; revision=85047
|
| |
|
|
|
|
|
| |
Approved by: re
Notes:
svn path=/stable/4/; revision=81771
|
| |
|
|
|
|
|
| |
Approved by: re
Notes:
svn path=/stable/4/; revision=81269
|
| |
|
|
| |
Notes:
svn path=/stable/4/; revision=80140
|
| |
|
|
|
|
|
|
|
|
|
| |
elf.h is now a compatibility header with Solaris/SVR4.
* Consumers of elf.h now use the minimalist elf header possible.
This change is motivated by Binutils 2.11 and too much clashing over
our base elf headers and the Binutils elf headers.
Notes:
svn path=/stable/4/; revision=79604
|
| |
|
|
|
|
|
|
|
|
| |
rtld.c 1.52
rtld.h 1.22
alpha/reloc.c 1.12
i386/reloc.c 1.7
Notes:
svn path=/stable/4/; revision=76453
|
| |
|
|
| |
Notes:
svn path=/stable/4/; revision=75952
|
| |
|
|
|
|
|
| |
destructor.
Notes:
svn path=/stable/4/; revision=71308
|
| |
|
|
| |
Notes:
svn path=/stable/4/; revision=71105
|
| |
|
|
| |
Notes:
svn path=/stable/4/; revision=70228
|
| |
|
|
| |
Notes:
svn path=/stable/4/; revision=69839
|
| |
|
|
|
|
|
|
|
| |
message.
Approved by: jkh
Notes:
svn path=/stable/4/; revision=68470
|
| |
|
|
|
|
|
|
|
| |
dlfcn.h: 1.10 -> 1.11
rtld.c: 1.48 -> 1.49
rtld.h: 1.19 -> 1.20
Notes:
svn path=/stable/4/; revision=66203
|
| |
|
|
|
|
|
| |
be used by debuggers and/or trace tools.
Notes:
svn path=/stable/4/; revision=66202
|
| |
|
|
|
|
|
|
|
|
| |
interdependencies of the shared libraries. Includes these revisions:
rtld.c 1.47
rtld.h 1.19
Notes:
svn path=/stable/4/; revision=64010
|
| |
|
|
| |
Notes:
svn path=/stable/4/; revision=63640
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
against self. The revisions merged are:
alpha/lockdflt.c: 1.5 -> 1.6
i386/lockdflt.c: 1.5 -> 1.6
I discussed this merge with the release engineer and we agreed that
this particular merge would best be done as soon as possible, rather
than waiting until just before the 4.1 code freeze when it couldn't
receive the benefit of testing with the ports it is intended to
fix. (It should fix Mozilla and other user threads based programs.
And it should fail to break any linuxthreads based programs.)
Approved by: jkh
Notes:
svn path=/stable/4/; revision=63370
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
with all threads packages. Revamp data structures to allow
non-exclusive locking in most cases. Deprecate dllockinit() and
make it a do-nothing stub. Merges in the following deltas:
src/libexec/rtld-elf/rtld.c 1.46
src/libexec/rtld-elf/rtld.h 1.18
src/libexec/rtld-elf/alpha/lockdflt.c 1.5
src/libexec/rtld-elf/alpha/rtld_machdep.h 1.4
src/libexec/rtld-elf/alpha/rtld_start.S 1.4
src/libexec/rtld-elf/i386/lockdflt.c 1.5
src/libexec/rtld-elf/i386/rtld_machdep.h 1.4
Notes:
svn path=/stable/4/; revision=62998
|
| |
|
|
| |
Notes:
svn path=/stable/4/; revision=62996
|
| |
|
|
| |
Notes:
svn path=/stable/4/; revision=62994
|
| |
|
|
| |
Notes:
svn path=/stable/4/; revision=62993
|
| |
|
|
| |
Notes:
svn path=/stable/4/; revision=62923
|
| |
|
|
| |
Notes:
svn path=/stable/4/; revision=62818
|
| |
|
|
| |
Notes:
svn path=/stable/4/; revision=58723
|
| |
|
|
| |
Notes:
svn path=/stable/4/; revision=57955
|
| |
|
|
|
|
|
|
|
| |
rtld.1 by means of a repository copy from "src/libexec/rtld-aout/rtld.1".
Then I edited it to make it (more) accurate for the ELF dynamic
linker.
Notes:
svn path=/head/; revision=56790
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
figure out which shared object(s) contain the the locking methods
and fully bind those objects as if they had been loaded with
LD_BIND_NOW=1. The goal is to keep the locking methods from
requiring any lazy binding. Otherwise infinite recursion occurs
in _rtld_bind.
This fixes the infinite recursion problem in the linuxthreads port.
Notes:
svn path=/head/; revision=56780
|
| |
|
|
|
|
|
|
|
|
|
| |
just a few of them. This looks like it solves the recent
ld-elf.so.1: assert failed: /usr/src/libexec/rtld-elf/lockdflt.c:55
failures seen by some applications such as JDK.
Notes:
svn path=/head/; revision=56566
|
| |
|
|
|
|
|
| |
and Linux.
Notes:
svn path=/head/; revision=56405
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
init and fini functions. Now the code is very careful to hold no
locks when calling these functions. Thus the dynamic linker cannot
be re-entered with a lock already held.
Remove the tolerance for recursive locking that I added in revision
1.2 of dllockinit.c. Recursive locking shouldn't happen any more.
Mozilla and JDK users: I'd appreciate confirmation that things still
work right (or at least the same) with these changes.
Notes:
svn path=/head/; revision=55687
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
locking functions. If an application loads a shared object with
dlopen() and the shared object has an init function which requires
lazy binding, then _rtld_bind is called when the thread is already
inside the dynamic linker. This leads to a recursive acquisition
of the lock, which I was not expecting -- hence the assert failure.
This work-around makes the default locking functions handle recursive
locking. It is NOT the correct fix -- that should be implemented
at the generic locking level rather than in the default locking
functions. I will implement the correct fix in a future commit.
Since the dllockinit() interface will likely need to change, warn
about that in both the man page and the header file.
Notes:
svn path=/head/; revision=55165
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
functions to be used by the dynamic linker. This can be called by
threads packages at start-up time. I will add the call to libc_r
soon.
Also add a default locking method that is used up until dllockinit()
is called. The default method works by blocking SIGVTALRM, SIGPROF,
and SIGALRM in critical sections. It is based on the observation
that most user-space threads packages implement thread preemption
with one of these signals (usually SIGVTALRM).
The dynamic linker has never been reentrant, but it became less
reentrant in revision 1.34 of "src/libexec/rtld-elf/rtld.c".
Starting with that revision, multiple threads each doing lazy
binding could interfere with each other. The usual symptom was
that a symbol was falsely reported as undefined at start-up time.
It was rare but not unseen. This commit fixes it.
Notes:
svn path=/head/; revision=55122
|
| |
|
|
|
|
|
|
|
|
| |
but I forgot to make the corresponding fix to the comment. Rectify
that.
Submitted by: Tony Finch <fanf@demon.net>
Notes:
svn path=/head/; revision=53400
|
| |
|
|
|
|
|
| |
apropos(1) now knows about rtld(1) manpage.
Notes:
svn path=/head/; revision=51746
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
libjava peeks into the dynamic linker's private Obj_Entry structures.
My recent changes introduced some new members near the front of
the structures, causing libjava to get the wrong fields. This commit
moves the new members toward the end of the structure so that the
layout of the portion that is relevant to JDK remains the same as
before.
I will work with the JDK porting team to see if we can come up with
a less fragile way for them to do what they need to do. I understand
the current approach was necessary in order to work around some
limitations of the dynamic linker. Maybe it's not necessary any
more.
Notes:
svn path=/head/; revision=50977
|
| |
|
|
| |
Notes:
svn path=/head/; revision=50930
|
| |
|
|
|
|
|
|
|
|
| |
to a debug message which is disabled in production builds of the
dynamic linker. The condition warned about is normally harmless.
PR: bin/12849
Notes:
svn path=/head/; revision=50928
|
| |
|
|
|
|
|
|
|
|
| |
up first -- before the dlopened DAGs containing the referencing
object.
This makes dynamically loaded perl modules work properly again.
Notes:
svn path=/head/; revision=50873
|
| |
|
|
|
|
|
|
|
|
| |
PT_INTERP program header entry, to ensure that gdb always finds
the right dynamic linker.
Use obj->relocbase to simplify a few calculations where appropriate.
Notes:
svn path=/head/; revision=50610
|