Commit Graph

2633 Commits

Author SHA1 Message Date
joerg
6c5e962381 Disable use of various X86 extensions since _rtld_bind_start doesn't
save the necessary registers.
2011-05-20 22:22:44 +00:00
joerg
5a156c51e2 Explicitly disable linking against libgcc and friends. 2011-05-20 22:21:32 +00:00
elric
07b0c75a48 We no longer need -I/usr/include/krb5. 2011-04-24 21:42:06 +00:00
elric
5e6c3b7a0c #include <com_err.h> -> #include <krb5/com_err.h>. 2011-04-24 21:18:24 +00:00
jmmv
9ef6767558 List myself as a contributor. 2011-04-24 07:18:59 +00:00
jmmv
94a4f45f78 Remove the "This option..." sentence prefix for all option definitions.
Adjust some sentences so that the new text makes sense.  OK mrg@.
2011-04-24 07:17:02 +00:00
joerg
c5f8d1393d Fix a Freudian slip found by rmind 2011-04-23 16:40:08 +00:00
elric
98fbe74f8c Upgrade Heimdal to 1.5pre1 by switching the build from crypto/dist/heimdal
to crypto/external/bsd/heimdal.  The latter was just imported as the head
of the Heimdal tree as of a few days ago.
2011-04-15 18:05:42 +00:00
matt
f126fa1c9a Add support for TLS relocations.
From Joerg Sonnenberger
2011-04-12 16:40:04 +00:00
matt
14d704c9e9 Add a workaround for older crt0.o that overwrite r2 (tcb pointer).
(save tcb pointer using _lwp_setprivate in ld.elf_so and retrieve the tcb
via _lwp_getprivate in libc and use it to restore the value in r2).
2011-04-07 02:19:28 +00:00
joerg
278d108904 Revert pthread_atfork related change not intended for commit yet. 2011-04-02 16:49:49 +00:00
joerg
241421a0db Unbreak HPPA 2011-04-02 12:30:41 +00:00
mbalmer
17ab36f183 fix typo, bump date 2011-04-02 07:44:15 +00:00
skrll
45f37e968c Enable TLS for alpha - a 2nd class^Wtier system in pookaBSD^WNetBSD
alpha_reloc.c diff from joerg on port-alpha.
2011-03-31 15:30:31 +00:00
nakayama
dbbd50a95f Add missing comma. 2011-03-31 12:47:01 +00:00
mrg
a45221975c add .mp4 as video/mp4. 2011-03-31 01:19:37 +00:00
martin
9f905ee41c Add support for TLS relocations 2011-03-30 09:22:29 +00:00
martin
3a4af49105 Add support for 64 bit TLS relocations. 2011-03-30 08:37:52 +00:00
joerg
8fa6585514 Block signals when using the exclusive lock. 2011-03-29 20:56:35 +00:00
jmmv
83bb438905 Add pid file support: if the new -P option is provided, it specifies the
location of the pid file to create.

OKed by mrg@.
2011-03-29 07:22:31 +00:00
joerg
e49f915c10 Refine locking scheme around init/fini to not hold the exclusive lock.
Use a simple generation count instead and restart looking for work if it
changed (e.g. due to an dlopen call from an init function).
Leave the possible dlclose() race for now.
2011-03-28 00:37:40 +00:00
joerg
7435c9ba49 exit, not enter 2011-03-27 22:20:51 +00:00
joerg
23a805d314 Handle _rtld_exit as full entry point since other threads may still be
running at the time.
2011-03-27 21:58:50 +00:00
joerg
2feaef06e3 Add some debug messages for explicit rtld entry points 2011-03-27 13:15:34 +00:00
joerg
0bc9be2143 Locking around dlclose() 2011-03-27 13:14:42 +00:00
joerg
d5a77cf108 Fix merge error that broke HPPA 2011-03-26 21:40:37 +00:00
joerg
cb1cd7e860 Add basic locking to ld.elf_so. 2011-03-25 18:07:04 +00:00
bouyer
d9210c2405 Add a new libquota library, which contains some blocks to build and/or
parse quota plists; as well as a getfsquota() function to retrieve quotas
for a single id from a single filesystem (whatever filesystem this is:
a local quota-enabled fs or NFS). This is build on functions getufsquota()
(for local filesystems with UFS-like quotas) and getnfsquota();
which are also available to userland programs.
move functions from quota2_subr.c to libquota or libprop as appropriate,
and ajust in-tree quota tools.
move some declarations from kernel headers to either sys/quota.h or
quota/quota.h as appropriate. ufs/ufs/quota.h still installed because
it's needed by other installed ufs headers.
ufs/ufs/quota1.h still installed as a quick&dirty way to get a code
using the old quotactl() to compile (just include ufs/ufs/quota1.h instead of
ufs/ufs/quota.h - old code won't compile without this change and this is
on purpose).
Discussed on tech-kern@ and tech-net@ (long thread, but not much about
libquota itself ...)
2011-03-24 17:05:39 +00:00
skrll
83c1874f74 Another TLS reloc. Thanks to joerg for a hint. 2011-03-17 22:07:52 +00:00
matt
7e7a53defe Add support for the MIPS TLS reloc types in shared libraries. 2011-03-15 07:40:52 +00:00
skrll
be1a58855d More PLABELS are required due to TLS stuff. 2011-03-14 08:49:29 +00:00
skrll
d3aab036e1 Handle some TLS relocs. 2011-03-14 08:21:54 +00:00
skrll
92c298c3a1 First cut at mdtls.c for hppa. 2011-03-14 08:20:15 +00:00
joerg
e7a5551d99 Fill in TLS related fields in dl_iterate_phdr if TLS is supported 2011-03-13 21:08:45 +00:00
joerg
854e6cd69f Add TLS support for AMD64, i386 and SH3.
This material is based upon work partially supported by
The NetBSD Foundation under a contract with Joerg Sonnenberger.
2011-03-12 22:54:36 +00:00
bouyer
72918bae56 Define qfextension here 2011-03-12 12:30:39 +00:00
matt
130f2d3d4c Add TLS support for PowerPC.
If the port has __lwp_gettcb_fast or __lwp_settcb use them instead of
__lwp_getprivate_fast or lwp_setprivate.
2011-03-12 07:43:53 +00:00
joerg
7197db08bd Add some clarifications 2011-03-10 17:38:30 +00:00
joerg
9c18c3d543 Add source reference for _lwp_makecontext and
__HAVE___LWP_GETPRIVATE_FAST. Fix enumeration.
2011-03-10 17:22:17 +00:00
reed
728c26c193 A filename with a colon in it made it appear to be the URI scheme
to various web browsers. So follow RFC 3986 4.2 and prepend ./
to the filename in the generated index hyperlink.

Okayed by mrg.
2011-03-10 14:39:40 +00:00
reed
92d8a7ba74 Fix typo. 2011-03-10 14:37:16 +00:00
joerg
de4cf97515 Fix prototype for __tls_get_addr. Add a generic implementation of it
using __tls_get_addr. Update TLS notes.
2011-03-10 14:27:31 +00:00
skrll
ff1072d23a Whitespace. 2011-03-10 12:53:42 +00:00
joerg
aad599979d Add TLS support infrastructure. For dynamic binaries, ld.elf_so exports
_rtld_tls_allocate and _rtld_tls_free. libpthread uses this functions to
setup the thread private area of all new threads. ld.elf_so is
responsible for setting up the private area for the initial thread.
Similar functions are called from _libc_init for static binaries, using
dl_iterate_phdr to access the ELF Program Header.

Add test cases to exercise the different TLS storage models. Test cases
are compiled and installed on all platforms, but are skipped on
platforms not marked for TLS support.

This material is based upon work partially supported by
The NetBSD Foundation under a contract with Joerg Sonnenberger.

It is inspired by the TLS support in FreeBSD by Doug Rabson and the
clean ups of the DragonFly port of the original FreeBSD modifications.
2011-03-09 23:10:05 +00:00
bouyer
063f96f3c2 merge the bouyer-quota2 branch. This adds a new on-disk format
to store disk quota usage and limits, integrated with ffs
metadata. Usage is checked by fsck_ffs (no more quotacheck)
and is covered by the WAPBL journal. Enabled with kernel
option QUOTA2 (added where QUOTA was enabled in kernel config files),
turned on with tunefs(8) on a per-filesystem
basis. mount_mfs(8) can also turn quotas on.

See http://mail-index.netbsd.org/tech-kern/2011/02/19/msg010025.html
for details.
2011-03-06 17:08:10 +00:00
matt
4fee4fe7b3 Don't rely on >32bit math. 2011-03-04 00:40:48 +00:00
pooka
33ee52c7dc make DEBUG compile without RTLD_DEBUG 2011-02-24 10:58:54 +00:00
matt
483a1c95a2 Fix problem with bss-plt objects which a reloc index, not offset.
(secure-plt uses an offset (index*sizeof(rela), bss-plt uses an index)
secure-plt will now take the offset and divide by 12 for an index.
2011-02-10 02:28:20 +00:00
pooka
eb725c2168 Call daemon() later to make sure there is a listening socket by
the time the foreground process exits.

discussed with mrg.
2011-02-06 19:00:53 +00:00
skrll
3770380428 Unbreak gdb by ensuring _rtld_debug_state is in the dynamic symbol table.
mmm 1 line diffs

mmm not breaking backwards compatibility for anything known/unknown or
public/private.
2011-01-25 12:25:43 +00:00