Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: [netbsd-11] src/libexec/ld.elf_so
Module Name: src
Committed By: martin
Date: Thu Jan 22 20:31:07 UTC 2026
Modified Files:
src/libexec/ld.elf_so [netbsd-11]: Makefile rtld.c rtldenv.h tls.c
xmalloc.c
Log Message:
Pull up following revision(s) (requested by skrll in ticket #159):
libexec/ld.elf_so/rtldenv.h: revision 1.13
libexec/ld.elf_so/xmalloc.c: revision 1.20
libexec/ld.elf_so/rtld.c: revision 1.222
libexec/ld.elf_so/xmalloc.c: revision 1.21
libexec/ld.elf_so/xmalloc.c: revision 1.22
libexec/ld.elf_so/xmalloc.c: revision 1.23
libexec/ld.elf_so/xmalloc.c: revision 1.24
libexec/ld.elf_so/xmalloc.c: revision 1.25
libexec/ld.elf_so/xmalloc.c: revision 1.13
libexec/ld.elf_so/xmalloc.c: revision 1.14
libexec/ld.elf_so/xmalloc.c: revision 1.15
libexec/ld.elf_so/xmalloc.c: revision 1.16
libexec/ld.elf_so/xmalloc.c: revision 1.17
libexec/ld.elf_so/xmalloc.c: revision 1.18
libexec/ld.elf_so/tls.c: revision 1.24
libexec/ld.elf_so/tls.c: revision 1.25
libexec/ld.elf_so/tls.c: revision 1.26
libexec/ld.elf_so/tls.c: revision 1.27
libexec/ld.elf_so/Makefile: revision 1.153
libexec/ld.elf_so/tls.c: revision 1.28
Whitespace.
Add some more debug in light of PR/59652: DNS utilities core dump...
KNF
The dbg macro doesn't need "\n" at the end of the format as it's already
provided.
Whitespace. (remove unnecessary spaces before tabs)
More whitespace.
Remove the unused RCHECK option - inspired by FreeBSD.
Remove an always true ASSERT
Port the FreeBSD change
Remove remnants of optimization for > pagesize allocations.
In the past, this allocator seems to have allocated things larger than
a page seperately. Much of this code was removed at some point (perhaps
along with sbrk() used) so remove the rest. Instead, keep allocating in
power-of-two bins up to FIRST_BUCKET_SIZE << (NBUCKETS - 1). If we want
something more efficent, we should use a fancier allocator.
While here, remove some vestages of sbrk() use. Most importantly, don't
try to page align the pagepool since it's always page aligned by
mmap().
Iniitialise pageshift - lost in previous
s/unsigned/size_t/ for consistency
Replace a magic number with FIRST_BUCKET_SHIFT
Provide a xmalloc_aligned (unused at present). From FreeBSD.
port-sparc/59907 (sparc install regression)
Restore the code removed in xmalloc.c:1.17 that is necessary for correct
alignment of memory allocations.
KNF
Simplify the aligned malloc/free code.
PR toolchain/59652 DNS utilities core dump in -current
Fix the alignment of TLS initialised data for __HAVE_TLS_VARIANT_I
platforms by registering the largest alignment required and allocating
memory accordingly. Additionally calculate correct offsets for each
object's data relative to the end of the struct tls_tcb placed at the
beginning of the TCB.
This makes the tests/libexec/ld.elf_so:t_tls_alignment pass.
I also tested it against a program that attempts to dlopen a DSO that
(erroneously) attempts to use tls_model("initial-exec") and it correctly
failed with
Use of initialized Thread Local Storage with model initial-exec and
dlopen is not supported
To generate a diff of this commit:
cvs rdiff -u -r1.151 -r1.151.2.1 src/libexec/ld.elf_so/Makefile
cvs rdiff -u -r1.221 -r1.221.2.1 src/libexec/ld.elf_so/rtld.c
cvs rdiff -u -r1.12 -r1.12.42.1 src/libexec/ld.elf_so/rtldenv.h
cvs rdiff -u -r1.23 -r1.23.2.1 src/libexec/ld.elf_so/tls.c
cvs rdiff -u -r1.12 -r1.12.44.1 src/libexec/ld.elf_so/xmalloc.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index