[newlib-cygwin] Cygwin: document why we can't drop the _pei386_runtime_relocator dummy
Corinna Vinschen
corinna@sourceware.org
Mon May 16 16:17:38 GMT 2022
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=83f8e24f0b4a8cd4e03e86320c2647f4bb6939f5
commit 83f8e24f0b4a8cd4e03e86320c2647f4bb6939f5
Author: Corinna Vinschen <corinna@vinschen.de>
Date: Mon May 16 17:54:51 2022 +0200
Cygwin: document why we can't drop the _pei386_runtime_relocator dummy
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diff:
---
winsup/cygwin/lib/_cygwin_crt0_common.cc | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/winsup/cygwin/lib/_cygwin_crt0_common.cc b/winsup/cygwin/lib/_cygwin_crt0_common.cc
index c9e61ea63..6c51422b8 100644
--- a/winsup/cygwin/lib/_cygwin_crt0_common.cc
+++ b/winsup/cygwin/lib/_cygwin_crt0_common.cc
@@ -170,7 +170,10 @@ _cygwin_crt0_common (MainFunc f, per_process *u)
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. */
+ symbol for older apps which need it. Unfortunately, ld for x86_64
+ still emits this symbol when linking against static libs which
+ require pseudo relocation, so we can't drop this call and the
+ dummy function just yet. */
_pei386_runtime_relocator (NULL);
return 1;
}
More information about the Cygwin-cvs
mailing list