NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

PR/59652 CVS commit: [netbsd-11] src/libexec/ld.elf_so



The following reply was made to PR toolchain/59652; it has been noted by GNATS.

From: "Martin Husemann" <martin%netbsd.org@localhost>
To: gnats-bugs%gnats.NetBSD.org@localhost
Cc: 
Subject: PR/59652 CVS commit: [netbsd-11] src/libexec/ld.elf_so
Date: Thu, 22 Jan 2026 20:31:07 +0000

 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