Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/lib/_cygwin_crt0_common.cc')
-rw-r--r--winsup/cygwin/lib/_cygwin_crt0_common.cc12
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;
}