Fix mismerge in lib/libthr/arch/riscv/include/pthread_md.hFixes: bd774d7aa1117f531b2894a6428aa2792f7bedc8
libthr: Preresolve selected EABI symbols on arm.Add the ability to pre-resolve architecture-specific EABI symbols anduse it on arm for selected EABI functions. These functions can be calledwith r
libthr: Preresolve selected EABI symbols on arm.Add the ability to pre-resolve architecture-specific EABI symbols anduse it on arm for selected EABI functions. These functions can be calledwith rtld bind lock write-locked, so they should be resolved in forward.Reported by: Mark Millard <[email protected]>, John F Carr <[email protected]>Reviewed by: kib, impMFC after: 1 weekDifferential Revision: https://reviews.freebsd.org/D46104(cherry picked from commit 5670b8cc3672d5a6bc2c41eb48d7d01343c43ad0)
show more ...
Remove $FreeBSD$: two-line .h patternRemove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSDThe SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catchup to that fact and revert to their recommended match of
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSDThe SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catchup to that fact and revert to their recommended match of BSD-2-Clause.Discussed with: pfgMFC After: 3 daysSponsored by: Netflix
Remove PAGE_SIZE from libthrIn libthr we use PAGE_SIZE when allocating memory with mmap and to checkvarious structs will fit into a single page so we can use this allocatorfor them.Ask the kern
Remove PAGE_SIZE from libthrIn libthr we use PAGE_SIZE when allocating memory with mmap and to checkvarious structs will fit into a single page so we can use this allocatorfor them.Ask the kernel for the page size on init for use by the page allcatorand add a new machine dependent macro to hold the smallest page sizethe architecture supports to check the structure is small enough.This allows us to use the same libthr on arm64 with either 4k or 16kpages.Reviewed by: kib, markj, impSponsored by: The FreeBSD FoundationDifferential Revision: https://reviews.freebsd.org/D34984
libthr: Use <machine/tls.h> for most MD TLS details.Note that on amd64 this effectively removes the unused tcb_spare fieldfrom the end of struct tcb since the definition of struct tcb in<x86/tls.
libthr: Use <machine/tls.h> for most MD TLS details.Note that on amd64 this effectively removes the unused tcb_spare fieldfrom the end of struct tcb since the definition of struct tcb in<x86/tls.h> does not include that field.Reviewed by: kib, jrtc27Sponsored by: The University of Cambridge, Google Inc.Differential Revision: https://reviews.freebsd.org/D33352
libthr: Remove the DTV_OFFSET macro.This macro is confusing as it is not related to the similarly namedTLS_DTV_OFFSET. Instead, replace its one use with the desiredexpression which is the same o
libthr: Remove the DTV_OFFSET macro.This macro is confusing as it is not related to the similarly namedTLS_DTV_OFFSET. Instead, replace its one use with the desiredexpression which is the same on all platforms.Reviewed by: kib, emaste, jrtc27Sponsored by: The University of Cambridge, Google Inc.Differential Revision: https://reviews.freebsd.org/D33345
RISC-V: Fix an alignment warning in libthrCompiling with clang gives a loss-of-alignment error due the cast touint8_t *. Since the TLS is always tcb aligned and TP_OFFSET is definedas sizeof(stru
RISC-V: Fix an alignment warning in libthrCompiling with clang gives a loss-of-alignment error due the cast touint8_t *. Since the TLS is always tcb aligned and TP_OFFSET is definedas sizeof(struct tcb) we can guarantee there is no misalignment. Silencethe error by moving the offset into the inline assembly.Reviewed by: brMFC after: 1 weekDifferential Revision: https://reviews.freebsd.org/D21926
Fix initial exec TLS mode for dynamically loaded shared objects.If dso uses initial exec TLS mode, rtld tries to allocate TLS instatic space. If there is no space left, the dlopen(3) fails. If spa
Fix initial exec TLS mode for dynamically loaded shared objects.If dso uses initial exec TLS mode, rtld tries to allocate TLS instatic space. If there is no space left, the dlopen(3) fails. If spaceif allocated, initial content from PT_TLS segment is distributed toall threads' pcbs, which was missed and caused un-initialized TLSsegment for such dso after dlopen(3).The mode is auto-detected either due to the relocation used, or if theDF_STATIC_TLS dynamic flag is set. In the later case, the TLS segmentis tried to allocate earlier, which increases chance of the dlopen(3)to succeed. LLD was recently fixed to properly emit the flag, ld.bdfdid it always.Initial test by: dumbbellTested by: emaste (amd64), ian (arm)Tested by: Gerald Aryeetey <aryeeteygerald_rogers.com> (arm64)Sponsored by: The FreeBSD FoundationMFC after: 2 weeksDifferential revision: https://reviews.freebsd.org/D19072
libthr: fix warnings at WARNS=6Fix more warnings about redundant declarations.Reviewed by: kib emasteMFC after: 3 daysSponsored by: Dell EMCDifferential Revision: https://reviews.freebsd.org/D
libthr: fix warnings at WARNS=6Fix more warnings about redundant declarations.Reviewed by: kib emasteMFC after: 3 daysSponsored by: Dell EMCDifferential Revision: https://reviews.freebsd.org/D10932
Unmagic the thread pointer offset.
Add pthread MD part for RISC-V.Reviewed by: andrewSponsored by: DARPA, AFRLSponsored by: HEIF5Differential Revision: https://reviews.freebsd.org/D5063