<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/libexec/rtld-elf/rtld-libc, branch releng/14.4</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=releng%2F14.4</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=releng%2F14.4'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2025-03-04T04:19:08Z</updated>
<entry>
<title>libc/gen: split user-visible opendir()-like functions into separate source files</title>
<updated>2025-03-04T04:19:08Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2025-02-20T23:32:22Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=69b6dc0b920baaf7bd12b83df08ff78155052261'/>
<id>urn:sha1:69b6dc0b920baaf7bd12b83df08ff78155052261</id>
<content type='text'>
(cherry picked from commit d40daefca64750c1076822bdbd3c409a9519f513)
</content>
</entry>
<entry>
<title>rtld: remove pointless "extern"</title>
<updated>2024-02-29T00:24:06Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2024-02-20T14:25:48Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=0a246310f79b26f3c07f342d4eeb682896c2e44f'/>
<id>urn:sha1:0a246310f79b26f3c07f342d4eeb682896c2e44f</id>
<content type='text'>
(cherry picked from commit 180df764c4ee570850deb4a910a11780ec3316df)
</content>
</entry>
<entry>
<title>Remove $FreeBSD$: one-line sh pattern</title>
<updated>2023-08-16T17:55:03Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2023-08-16T17:55:03Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=d0b2dbfa0ecf2bbc9709efc5e20baf8e4b44bbbf'/>
<id>urn:sha1:d0b2dbfa0ecf2bbc9709efc5e20baf8e4b44bbbf</id>
<content type='text'>
Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
</content>
</entry>
<entry>
<title>Remove $FreeBSD$: two-line .h pattern</title>
<updated>2023-08-16T17:54:16Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2023-08-16T17:54:16Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=b3e7694832e81d7a904a10f525f8797b753bf0d3'/>
<id>urn:sha1:b3e7694832e81d7a904a10f525f8797b753bf0d3</id>
<content type='text'>
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
</content>
</entry>
<entry>
<title>libexec/rtld-elf/rtld-libc/Makefile.inc: do not use machdep string functions</title>
<updated>2023-07-16T15:41:55Z</updated>
<author>
<name>Robert Clausecker</name>
<email>fuz@FreeBSD.org</email>
</author>
<published>2023-06-28T17:18:15Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c1e63e352e34b55ad577011fa4729f0638fb3fdf'/>
<id>urn:sha1:c1e63e352e34b55ad577011fa4729f0638fb3fdf</id>
<content type='text'>
With ifunc based SIMD dispatch, we cannot use the amd64 assembly
implementations of string functions.  Modify rtld to instead use
the generic functions.  To avoid an architecture-specific special
case, this change is applied to all architectures.

This change is a prerequisite to and formerly part of D40693.

Sponsored by:	FreeBSD Foundation
Approved by:	kib
See also:	D40693
Differential Revision: https://reviews.freebsd.org/D41050
</content>
</entry>
<entry>
<title>Have rtld query the page size from the kernel</title>
<updated>2022-04-07T14:37:37Z</updated>
<author>
<name>Andrew Turner</name>
<email>andrew@FreeBSD.org</email>
</author>
<published>2022-04-04T15:05:40Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=e85eaa930862d5b4dc917bc31e8d7254a693635d'/>
<id>urn:sha1:e85eaa930862d5b4dc917bc31e8d7254a693635d</id>
<content type='text'>
To allow for a dynamic page size on arm64 have the runtime linker
query the kernel for the currentl page size.

Reviewed by:	kib
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D34765
</content>
</entry>
<entry>
<title>TLS: Use &lt;machine/tls.h&gt; for libc and rtld.</title>
<updated>2021-12-09T21:23:05Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2021-12-09T21:17:54Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=8bcdb144ebe391ce243c71caf06cf417d96ce335'/>
<id>urn:sha1:8bcdb144ebe391ce243c71caf06cf417d96ce335</id>
<content type='text'>
- Include &lt;machine/tls.h&gt; in MD rtld_machdep.h headers.

- Remove local definitions of TLS_* constants from rtld_machdep.h
  headers and libc using the values from &lt;machine/tls.h&gt; instead.

- Use _tcb_set() instead of inlined versions in MD
  allocate_initial_tls() routines in rtld.  The one exception is amd64
  whose _tcb_set() invokes the amd64_set_fsbase ifunc.  rtld cannot
  use ifuncs, so amd64 inlines the logic to optionally write to fsbase
  directly.

- Use _tcb_set() instead of _set_tp() in libc.

- Use '&amp;_tcb_get()-&gt;tcb_dtv' instead of _get_tp() in both rtld and libc.
  This permits removing _get_tp.c from rtld.

- Use TLS_TCB_SIZE and TLS_TCB_ALIGN with allocate_tls() in MD
  allocate_initial_tls() routines in rtld.

Reviewed by:	kib, jrtc27 (earlier version)
Differential Revision:	https://reviews.freebsd.org/D33353
</content>
</entry>
<entry>
<title>rtld: provide private getenv(3)</title>
<updated>2021-08-17T12:05:47Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2021-08-16T14:02:48Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=b4b274889145bbc559613b54e7520b95f43e51e6'/>
<id>urn:sha1:b4b274889145bbc559613b54e7520b95f43e51e6</id>
<content type='text'>
Reviewed by:	arichardson, markj
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D31545
</content>
</entry>
<entry>
<title>rtld: avoid recursing on rtld_bind_lock for write</title>
<updated>2021-04-09T20:46:24Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2021-04-06T19:02:23Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=7cb32a0d03437f881169b1c55cce89cf70ed43dd'/>
<id>urn:sha1:7cb32a0d03437f881169b1c55cce89cf70ed43dd</id>
<content type='text'>
This fixes a regression in d36d6816151705907393889, where the call to
__tls_get_address() was performed under rtld_bind_lock write-locked.
Instead use tls_get_addr_slow() directly, with locked = true.

Reported by:	jkim, many others
Tested by:	jkim, bdragon (powerpc), mhorne (riscv)
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D29623
</content>
</entry>
<entry>
<title>libc: Use musl's optimized strchr and strchrnul</title>
<updated>2021-03-02T02:09:59Z</updated>
<author>
<name>Ed Maste</name>
<email>emaste@FreeBSD.org</email>
</author>
<published>2021-03-02T01:57:36Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=7f72497ef756ff7d03d5560c2d1c1f92f73fcb52'/>
<id>urn:sha1:7f72497ef756ff7d03d5560c2d1c1f92f73fcb52</id>
<content type='text'>
Parentheses added to HASZERO macro to avoid a GCC warning, and formatted
with clang-format as we have adopted these and don't consider them
'contrib' code.

Obtained from:	musl (snapshot at commit 4d0a82170a25)
Reviewed by:	kib (libc integration), mjg (both earlier)
MFC after:	1 month
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D17630
</content>
</entry>
</feed>
