Module Name: src Committed By: martin Date: Tue Nov 26 08:12:27 UTC 2019
Modified Files: src/lib/libc/tls [netbsd-9]: Makefile.inc tls.c src/libexec/ld.elf_so [netbsd-9]: Makefile tls.c src/usr.bin/ldd [netbsd-9]: Makefile.elf Log Message: Pull up following revision(s) (requested by nakayama in ticket #469): lib/libc/tls/tls.c: revision 1.10 lib/libc/tls/tls.c: revision 1.11 lib/libc/tls/tls.c: revision 1.12 lib/libc/tls/tls.c: revision 1.13 libexec/ld.elf_so/tls.c: revision 1.13 libexec/ld.elf_so/tls.c: revision 1.14 libexec/ld.elf_so/Makefile: revision 1.142 lib/libc/tls/Makefile.inc: revision 1.3 usr.bin/ldd/Makefile.elf: revision 1.6 PR 54093: Align static TLS area to max_align_t. Use alignof and not size_t for platforms with non-natural base alignments. Mirror the ld.elf_so logic for handling aligning the TLS size. Most noticable, recompute the start of the TLS area for variant I relative to the TCB. This makes a difference when the segment size and base alignment don't agree. Fix PR/54074 and PR/54093 completely. More similar to the ld.elf_so logic, it is necessary to align with p_align first. Also, invert the #ifdef condition for consistency. Should fix regression for static linking binaries: http://releng.netbsd.org/b5reports/sparc/commits-2019.11.html#2019.11.10.23.39.03 http://releng.netbsd.org/b5reports/sparc64/commits-2019.11.html#2019.11.16.04.10.33 To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.2.46.1 src/lib/libc/tls/Makefile.inc cvs rdiff -u -r1.9 -r1.9.2.1 src/lib/libc/tls/tls.c cvs rdiff -u -r1.141 -r1.141.2.1 src/libexec/ld.elf_so/Makefile cvs rdiff -u -r1.12 -r1.12.2.1 src/libexec/ld.elf_so/tls.c cvs rdiff -u -r1.5 -r1.5.30.1 src/usr.bin/ldd/Makefile.elf Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.