https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=866ae2c25479ef0c9ad128265090b521b6e857c1 commit 866ae2c25479ef0c9ad128265090b521b6e857c1 Author: Corinna Vinschen <corinna@vinschen.de> Date: Mon May 16 17:24:48 2022 +0200 Cygwin: drop 32 bit considerations in crt0 code Signed-off-by: Corinna Vinschen <corinna@vinschen.de> Diff: --- winsup/cygwin/crt0.c | 8 -------- winsup/cygwin/lib/_cygwin_crt0_common.cc | 13 ------------- 2 files changed, 21 deletions(-) diff --git a/winsup/cygwin/crt0.c b/winsup/cygwin/crt0.c index ec7959a0f..1096e5897 100644 --- a/winsup/cygwin/crt0.c +++ b/winsup/cygwin/crt0.c @@ -4,11 +4,6 @@ This software is a copyrighted work licensed under the terms of the Cygwin license. Please consult the file "CYGWIN_LICENSE" for details. */ -/* In the following ifdef'd i386 code, the FPU precision is set to 80 bits - and all FPU exceptions are masked. The former is needed to make long - doubles work correctly. The latter causes the FPU to generate NaNs and - Infinities instead of signals for certain operations. */ - #include "winlean.h" #include <sys/cygwin.h> @@ -16,9 +11,6 @@ extern int main (int argc, char **argv); void cygwin_crt0 (int (*main) (int, char **)); -#ifdef __i386__ -__attribute__ ((force_align_arg_pointer)) -#endif void mainCRTStartup () { diff --git a/winsup/cygwin/lib/_cygwin_crt0_common.cc b/winsup/cygwin/lib/_cygwin_crt0_common.cc index 025e2f2ee..c9e61ea63 100644 --- a/winsup/cygwin/lib/_cygwin_crt0_common.cc +++ b/winsup/cygwin/lib/_cygwin_crt0_common.cc @@ -61,9 +61,6 @@ extern int __dynamically_loaded; extern "C" { -#ifdef __i386__ -char **environ; -#endif int _fmode; extern char __RUNTIME_PSEUDO_RELOC_LIST__; @@ -114,9 +111,6 @@ _cygwin_crt0_common (MainFunc f, per_process *u) u->ctors = &__CTOR_LIST__; u->dtors = &__DTOR_LIST__; -#ifdef __i386__ - u->envptr = &environ; -#endif if (uwasnull) _impure_ptr = u->impure_ptr; /* Use field initialized in newer DLLs. */ else @@ -168,17 +162,10 @@ _cygwin_crt0_common (MainFunc f, per_process *u) u->hmodule = GetModuleHandle (0); /* variables for fork */ -#ifdef __x86_64__ u->data_start = &__data_start__; u->data_end = &__data_end__; u->bss_start = &__bss_start__; u->bss_end = &__bss_end__; -#else - u->data_start = &_data_start__; - u->data_end = &_data_end__; - u->bss_start = &_bss_start__; - u->bss_end = &_bss_end__; -#endif u->pseudo_reloc_start = &__RUNTIME_PSEUDO_RELOC_LIST__; u->pseudo_reloc_end = &__RUNTIME_PSEUDO_RELOC_LIST_END__; u->image_base = &_image_base__;