[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