Hi,

Please find below small patch that replaces __progname with getprogname() in 
winsup/cygwin/dcrt0.cc.

  *   On AArch64 local builds of Cygwin, __progname is not defined in the 
startup objects which causes a build failure.
  *   This symbol is legacy to be replaced with getprogname() API, which is 
implemented in "winsup/cygwin/libc/bsdlib.cc" and exported across all supported 
targets.
  *   Using getprogname() aligns Cygwin's startup code with the current libc 
conventions, avoids reliance on globals, and ensures consistent builds on 
aarch64 platforms.


Thanks & regards
Thirumalai N

============
In-lined patch:

diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc
index 69c233c24..0758ec735 100644
--- a/winsup/cygwin/dcrt0.cc
+++ b/winsup/cygwin/dcrt0.cc
@@ -964,7 +964,7 @@ dll_crt0_1 (void *)
   /* Disable case-insensitive globbing */
   ignore_case_with_glob = false;

-  cygbench (__progname);
+  cygbench (getprogname());

   ld_preload ();
   /* Per POSIX set the default application locale back to "C". */
--

Attachment: 0001-Cygwin-update-cygbench-call-to-use-getprogname.patch
Description: 0001-Cygwin-update-cygbench-call-to-use-getprogname.patch

Reply via email to