Source-Changes archive

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

CVS commit: src/libexec/ld.elf_so



Module Name:    src
Committed By:   riastradh
Date:           Wed Jul 22 15:22:24 UTC 2026

Modified Files:
        src/libexec/ld.elf_so: tls.c

Log Message:
ld.elf_so: Fix assertions for TLS variant I without _lwp_settcb.

In variant I, the TLS address is always

        (uint8_t *)tcb + sizeof(struct tls_tcb) + obj->tlsoffset.

With _lwp_settcb, (uint8_t *)tcb + sizeof(struct tls_tcb) is aligned,
whereas without it, (uint8_t *)tcb is aligned.  Consequently, with
_lwp_settcb, obj->tlsoffset must also be aligned, whereas without it,
obj->tlsoffset + sizeof(struct tls_tcb) must be aligned -- and hence,
without _lwp_settcb, obj->tlsoffset must be congruent to
-sizeof(struct tls_tcb) modulo the alignment.

No functional change intended for non-DEBUG builds: assertion changes
only here.

PR bin/60469: bin/60469: assertion "ALIGNED_P(q, obj->tlsalign)"
failed: file "/usr/src/libexec/ld.elf_so/tls.c", line 333


To generate a diff of this commit:
cvs rdiff -u -r1.31 -r1.32 src/libexec/ld.elf_so/tls.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