acadia-newlib/winsup
Corinna Vinschen 8f66bc28ae Cygwin: fix new sigfe.o generation in optimized case
Commit 0597c84b9b ("Cygwin: revamp TLS offsets computation")
introduced a really weird problem when building Cygwin with
optimization.

First of all, the tlsoffsets file is broken with -O2.  This
can easily be fixed by running the compiler with -O0 when called
from the gentls_offsets script.

But it gets worse:

When creating sigfe.o with optimization, the generated machine code
uses incorrect offsets: For some reason the assembler codes using
_cygtls.stackptr as offset value are assembled into machine code
using _cygtls.pstackptr as offsets.

And as if that isn't already absurd enough, renaming _cygtls.pstackptr
to, say, _cygtls.blurb, fixes the assembled machine code expressions;
they use the value of _cygtls.stackptr again.

So I changed gentls_offsets and gendef to use _cygtls.foo_p rather
than _cygtls.pfoo and that fixes the assembled code in the optimized
case.

No, I can't explain that.  There's no system in that behaviour.
It looks absolutely crazy.

Fixes: 0597c84b9b ("Cygwin: revamp TLS offsets computation")
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2022-05-13 21:22:44 +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: fix new sigfe.o generation in optimized case 2022-05-13 21:22:44 +02:00
doc Cygwin: Implement GSO/GRO support 2022-05-13 11:11:38 +02:00
testsuite Cygwin: do not build MinGW testsuite/cygrun --with-cross-bootstrap 2022-01-10 09:59:08 -05:00
utils Cygwin: utils: drop unnecessary wow64 checks 2022-05-13 14:34:20 +02:00
CONTRIBUTORS
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 winsup: disable fortify source 2022-03-16 22:03:33 -04:00
autogen.sh Cygwin: autogen.sh: Allow running from any directory 2021-05-06 10:56:20 +02:00
configure.ac Cygwin: revamp TLS offsets computation 2022-05-13 14:11:58 +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