From 83f8e24f0b4a8cd4e03e86320c2647f4bb6939f5 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Mon, 16 May 2022 17:54:51 +0200 Subject: [PATCH] Cygwin: document why we can't drop the _pei386_runtime_relocator dummy Signed-off-by: Corinna Vinschen --- 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; }