From b532ee08bcf81757479e902f4b9f1944e7f13701 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Thu, 17 Mar 2011 08:40:25 +0000 Subject: [PATCH] * crt0.c (mainCRTStartup): Move call to _feinitialise from here... * dcrt0.cc (_dll_crt0): ...to here. --- winsup/cygwin/ChangeLog | 5 +++++ winsup/cygwin/crt0.c | 4 +--- winsup/cygwin/dcrt0.cc | 4 ++++ 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index adcd35b47..5b051eb55 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2011-03-16 Corinna Vinschen + + * crt0.c (mainCRTStartup): Move call to _feinitialise from here... + * dcrt0.cc (_dll_crt0): ...to here. + 2011-03-16 Corinna Vinschen * winver.rc: Fix copyright dates. diff --git a/winsup/cygwin/crt0.c b/winsup/cygwin/crt0.c index aa6a5f18f..c547e480f 100644 --- a/winsup/cygwin/crt0.c +++ b/winsup/cygwin/crt0.c @@ -1,6 +1,6 @@ /* crt0.c - Copyright 2001, 2005, 2010 Red Hat, Inc. + Copyright 2001, 2005, 2010, 2011 Red Hat, Inc. This software is a copyrighted work licensed under the terms of the Cygwin license. Please consult the file "CYGWIN_LICENSE" for @@ -13,7 +13,6 @@ details. */ #include "winlean.h" #include -#include "fenv.h" extern int main (int argc, char **argv); @@ -25,7 +24,6 @@ mainCRTStartup () #ifdef __i386__ (void)__builtin_return_address(1); asm volatile ("andl $-16,%%esp" ::: "%esp"); - _feinitialise (); #endif cygwin_crt0 (main); diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc index c6131e809..ad6b62b8f 100644 --- a/winsup/cygwin/dcrt0.cc +++ b/winsup/cygwin/dcrt0.cc @@ -35,6 +35,7 @@ details. */ #include "tls_pbuf.h" #include "exception.h" #include "cygxdr.h" +#include "fenv.h" #include "ntdll.h" #define MAX_AT_FILE_LEVEL 10 @@ -980,6 +981,9 @@ __cygwin_exit_return: \n\ extern "C" void __stdcall _dll_crt0 () { +#ifdef __i386__ + _feinitialise (); +#endif main_environ = user_data->envptr; if (in_forkee) { -- 2.43.5