Module Name: src Committed By: riastradh Date: Tue Jun 18 18:55:32 UTC 2024
Modified Files: src/doc: HACKS Log Message: doc/HACKS: Note tsan TLS alignment workaround for PR lib/58349. To generate a diff of this commit: cvs rdiff -u -r1.245 -r1.246 src/doc/HACKS Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/doc/HACKS diff -u src/doc/HACKS:1.245 src/doc/HACKS:1.246 --- src/doc/HACKS:1.245 Sun Jun 9 18:55:40 2024 +++ src/doc/HACKS Tue Jun 18 18:55:32 2024 @@ -1,4 +1,4 @@ -# $NetBSD: HACKS,v 1.245 2024/06/09 18:55:40 mrg Exp $ +# $NetBSD: HACKS,v 1.246 2024/06/18 18:55:32 riastradh Exp $ # # This file is intended to document workarounds for currently unsolved # (mostly) compiler bugs. @@ -1150,3 +1150,17 @@ descr I suspect a GCC bug. The blake2 version is less well studied. kcah + +hack gcc: work around alignment limitations in ld.elf_so +cdate Mon Jun 17 23:35:52 UTC 2024 +who riastradh +file external/gpl3/gcc/dist/libsanitizer/tsan/tsan_interceptors_posix.cpp : 1.4 +file src/external/gpl3/gcc/dist/libsanitizer/tsan/tsan_rtl.cpp : 1.4 +file external/gpl3/gcc/dist/libsanitizer/tsan/tsan_rtl.h : 1.5 +descr + ld.elf_so only supports 2*pointer-aligned objects (typically + 8- or 16-byte) in thread-local storage, but tsan expects + cacheline-aligned objects (typically >=64-byte). To work + around this, allocate n + 63 bytes and pick whichever pointer + in that interval is aligned (PR lib/58349). +kcah