Cygwin: drop 32 bit considerations in crt0 code
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
parent
1a367220ad
commit
866ae2c254
|
@ -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
|
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
|
||||||
details. */
|
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 "winlean.h"
|
||||||
#include <sys/cygwin.h>
|
#include <sys/cygwin.h>
|
||||||
|
|
||||||
|
@ -16,9 +11,6 @@ extern int main (int argc, char **argv);
|
||||||
|
|
||||||
void cygwin_crt0 (int (*main) (int, char **));
|
void cygwin_crt0 (int (*main) (int, char **));
|
||||||
|
|
||||||
#ifdef __i386__
|
|
||||||
__attribute__ ((force_align_arg_pointer))
|
|
||||||
#endif
|
|
||||||
void
|
void
|
||||||
mainCRTStartup ()
|
mainCRTStartup ()
|
||||||
{
|
{
|
||||||
|
|
|
@ -61,9 +61,6 @@ extern int __dynamically_loaded;
|
||||||
|
|
||||||
extern "C"
|
extern "C"
|
||||||
{
|
{
|
||||||
#ifdef __i386__
|
|
||||||
char **environ;
|
|
||||||
#endif
|
|
||||||
int _fmode;
|
int _fmode;
|
||||||
|
|
||||||
extern char __RUNTIME_PSEUDO_RELOC_LIST__;
|
extern char __RUNTIME_PSEUDO_RELOC_LIST__;
|
||||||
|
@ -114,9 +111,6 @@ _cygwin_crt0_common (MainFunc f, per_process *u)
|
||||||
|
|
||||||
u->ctors = &__CTOR_LIST__;
|
u->ctors = &__CTOR_LIST__;
|
||||||
u->dtors = &__DTOR_LIST__;
|
u->dtors = &__DTOR_LIST__;
|
||||||
#ifdef __i386__
|
|
||||||
u->envptr = &environ;
|
|
||||||
#endif
|
|
||||||
if (uwasnull)
|
if (uwasnull)
|
||||||
_impure_ptr = u->impure_ptr; /* Use field initialized in newer DLLs. */
|
_impure_ptr = u->impure_ptr; /* Use field initialized in newer DLLs. */
|
||||||
else
|
else
|
||||||
|
@ -168,17 +162,10 @@ _cygwin_crt0_common (MainFunc f, per_process *u)
|
||||||
u->hmodule = GetModuleHandle (0);
|
u->hmodule = GetModuleHandle (0);
|
||||||
|
|
||||||
/* variables for fork */
|
/* variables for fork */
|
||||||
#ifdef __x86_64__
|
|
||||||
u->data_start = &__data_start__;
|
u->data_start = &__data_start__;
|
||||||
u->data_end = &__data_end__;
|
u->data_end = &__data_end__;
|
||||||
u->bss_start = &__bss_start__;
|
u->bss_start = &__bss_start__;
|
||||||
u->bss_end = &__bss_end__;
|
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_start = &__RUNTIME_PSEUDO_RELOC_LIST__;
|
||||||
u->pseudo_reloc_end = &__RUNTIME_PSEUDO_RELOC_LIST_END__;
|
u->pseudo_reloc_end = &__RUNTIME_PSEUDO_RELOC_LIST_END__;
|
||||||
u->image_base = &_image_base__;
|
u->image_base = &_image_base__;
|
||||||
|
|
Loading…
Reference in New Issue