newlib-cygwin/winsup
Corinna Vinschen dcab768cb9 Cygwin: cygtls: fix context alignment
A hang was encountered, apparently triggered by commit 63b503916d,
changing tls_pathbufs from malloc'ed to HeapAlloc'ed memory.  After
lengthy debugging it transpired that adding the heap handle to the
tls_pathbuf struct added 8 bytes to the cygtls area, thus moving
the "context" member by 8 bytes, too, so it was suddently unaligned.

Fix this for now by changing the alignment.

Fix this once and for all, by adding code to the gentls_offsets script
to check if the alignment of the "context" member is 16 bytes.  If not,
print a matching error message, remove the just generated file, and exit
with error.

FIXME: It would be really nice to find a way to auomate the correct
alignment of the "context" member, but I don't see any way to use
alignment attributes to get what we need here.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2022-08-29 15:18:53 +02:00
..
CVSChangeLogs.old
cygserver Revert "sys/types.h: Don't include sys/_stdint.h" 2022-05-04 15:08:44 +02:00
cygwin Cygwin: cygtls: fix context alignment 2022-08-29 15:18:53 +02:00
doc Update FAQs which are out of date on the details of setup UI 2022-07-12 13:58:59 +01:00
testsuite Cygwin: remove some 32-bit only path conversion functions 2022-05-29 17:45:52 -04:00
utils Cygwin: profiler: Fix linking when building with -DDEBUGGING 2022-08-20 21:14:57 +02:00
CONTRIBUTORS Cygwin: Add Ben Wijen to list of contributors 2021-01-18 12:01:19 +01:00
COPYING
COPYING.LIB
CYGWIN_LICENSE
Makefile.am Cygwin: Conditionally build documentation 2021-12-17 22:28:16 +00:00
Makefile.am.common Cygwin: automake: change @INCLUDES@ to @AM_CPPFLAGS@ to avoid warnings 2021-04-29 11:28:14 +02:00
README
acinclude.m4 Cygwin: Reorganize cygwin source dir 2022-08-05 12:02:11 +02:00
autogen.sh Cygwin: autogen.sh: Allow running from any directory 2021-05-06 10:56:20 +02:00
configure.ac Cygwin: fold common.din and x86_64.din into cygwin.din 2022-08-08 17:47:46 +02:00

README

THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESSED OR
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

Cygwin documentation is available on the net at https://cygwin.com
You might especially be interested in

https://cygwin.com/faq/faq.html#faq.programming.building-cygwin