Age | Commit message (Collapse) | Author |
|
- copy #define workaround from mips64 to avoid dangling __CERROR symbol
- remove trap DL_SYSCALL2_NOERR() macro with comment explanation
- make DL_SYSCALL2() self-contained
- add END() and ENTRY() macros to make the symbol table shine
ok miod@
|
|
ok aoyama@
|
|
probably works: this ASM pattern is already used for _dl_dtors
|
|
for our development process.
ok kettenis@ deraadt@
|
|
ok guenther@, deraadt@
|
|
mprotect it to RW when filling in the references from the PLT
in snaps for a week, ok deraadt@
|
|
possible EXEC permission for the section, because the proper permission
is set late, and there are no thread concerns here. Avoids W^X issues
in oddball cases.
ok guenther kettenis
|
|
ok kettenis guenther
|
|
if DT_TEXTREL was set on the object. If that's needed, only set the mapping
to READ+WRITE to avoid W^X violation.
ok kettenis@
|
|
ok kettenis@
|
|
avoid W^X violations, initially map such segments as writable and
non-executable, and change the mapping to non-writable and executable
after initial relocation processing. As a side-benefit this means we no
longer depend on the __plt_start and __plt_end to make the PLT read-only
after relocation processing.
This will break binaries linked with ld -Z, most notably emacs, on some
of our architectures.
ok deraadt@, guenther@
|
|
ok deraadt@
|
|
Ignore the listed protection (which may contain X) when making page
writeable temporary.
|
|
writeable temporary.
As pointed out by kettenis, discussed with guenther
|
|
ok guenther
|
|
or doing non-lazy relocation processing.
ok guenther@
|
|
the TIB for a new thread
ok jca@ millert@ deraadt@
|
|
so do locking in ld.so's malloc subsystem, (re)using the existing
_dl_thread_kern_{stop,go}() callbacks.
problem diagnosed by jsing@ in the 'go' port; fix tested there and by
semarie@ in the 'rust' port
|
|
ok guenther
|
|
|
|
hppa reverse-stack gives us a valuable test case, but most developers don't
have a 2nd one to proceed further with this.
ok kettenis
|
|
ok deraadt@
|
|
This stores errno, the cancelation flags, and related bits for each thread
and is allocated by ld.so or libc.a. This is an ABI break from 5.9-stable!
Make libpthread dlopen'able by moving the cancelation wrappers into libc
and doing locking and fork/errno handling via callbacks that libpthread
registers when it first initializes. 'errno' *must* be declared via
<errno.h> now!
Clean up libpthread's symbol exports like libc.
On powerpc, offset the TIB/TCB/TLS data from the register per the ELF spec.
Testing by various, particularly sthen@ and patrick@
ok kettenis@
|
|
with strong symbols in ld.so don't do what we need, so put definitions back
in crt0 and make ld.so update __progname like it does environ.
report and testing patrick@ jsg@
|
|
as osendsyslog for a while. The three argument variant is the only
one that will stay.
input kettenis@; OK deraadt@
|
|
namespace, for use by libpthread
ok deraadt@
|
|
and pass the LOG_CONS flag like libc's handler.
ok deraadt@ bluhm@ (who had a similar diff)
|
|
portion like crt0 does. This is prep for eliminating _dl_fixup_user_env()
Mark almost everything in resolve.h as hidden, to improve code generation.
ok kettenis@ mpi@ "good time" deraadt@
|
|
Feedback millert@ kettenis@
|
|
load time only nwo. Rename _dl_searchnum and lastlookup to _dl_grpsym_gen
and grpsym_gen as they are generation numbers. Merge _dl_newsymsearch()
into _dl_cache_grpsym_list_setup().
ok millert@
|
|
needs to lock down the entire load group, not just the specific object.
problem report and ok sthen@
been in snaps for a week
|
|
|
|
|
|
|
|
|
|
just the dynamic tags are needed instead of reusing the generic elf_object_t
structure.
testing and feedback from miod@
ok kettenis@
|
|
that it should show information about the program it loads, rather than
run it. In that specific case, ld.so can pledge to "stdio rpath" to
ensure that code path in ld.so has no bugs.
Yes, a pledge in ld.so.... who'd have thought!
ok guenther
|
|
ok guenther
|
|
load_object but rather some descendent. Detect that case in
_dl_unload_shlib() and switch to unloading the entire group.
Based on partial analyses by Henri Kemppainen (duclare (at) guu.fi)
and Peter Hajdu (peter.ferenc.hajdu (at) gmail.com)
ok millert@
|
|
|
|
a new MI routine _dl_protect_segment(), and use that for protecting the
GOT and--on some archs--the PLT.
Amazing testing turnaround by miod@, who apparently violated relativity
to get back results on some archs as fast as he did
|
|
|
|
|
|
ok millert@
|
|
where they end, there is a good chance they are sharing a page with .data,
which obviously needs to remain writable. So only attempt to make them
read-only if we know they have a non-zero size. Original diff from guenther@
based on an earlier diff from me. Fixes ld -Z on alpha.
ok miod@, guenther@
|
|
the callback, and the sigprocmask stub.
Keep around the DL_SETBINDLCK case until libpthread stops using it.
discussed with miod@ at l2k15
ok kettenis@
|
|
rcrt0.o will add it for BSS-PLT binaries if necessary.
ok guenther@
|
|
ok guenther@
|
|
necessary
ok deraadt@ jsing@
|
|
While here add some gcc __predict hints.
Much testing, discussion, pondering, and flailing from miod and deraadt
ok miod@
|