diff options
Diffstat (limited to 'winsup/cygwin/lib/_cygwin_crt0_common.cc')
-rw-r--r-- | winsup/cygwin/lib/_cygwin_crt0_common.cc | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/winsup/cygwin/lib/_cygwin_crt0_common.cc b/winsup/cygwin/lib/_cygwin_crt0_common.cc index b8586e557..222f159e1 100644 --- a/winsup/cygwin/lib/_cygwin_crt0_common.cc +++ b/winsup/cygwin/lib/_cygwin_crt0_common.cc @@ -49,7 +49,11 @@ extern "C" { char **environ; int _fmode; -void _pei386_runtime_relocator (); +void _pei386_runtime_relocator (void); + +extern char __RUNTIME_PSEUDO_RELOC_LIST__; +extern char __RUNTIME_PSEUDO_RELOC_LIST_END__; +extern char _image_base__; struct per_process_cxx_malloc __cygwin_cxx_malloc = { @@ -146,7 +150,11 @@ _cygwin_crt0_common (MainFunc f, per_process *u) u->data_end = &_data_end__; u->bss_start = &_bss_start__; u->bss_end = &_bss_end__; - + u->pseudo_reloc_start = &__RUNTIME_PSEUDO_RELOC_LIST__; + u->pseudo_reloc_end = &__RUNTIME_PSEUDO_RELOC_LIST_END__; + u->image_base = &_image_base__; + /* This is actually a dummy call to force the linker to load this + symbol for older apps which need it. */ _pei386_runtime_relocator (); return 1; } |