[newlib-cygwin/main] Cygwin: gendef: add ARM64 stub for $fe in gendef

Corinna Vinschen corinna@sourceware.org
Fri Jan 16 18:50:32 GMT 2026


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=3dbdee52e28a11b2e0dea2bdc69e2a2f9b83a9b2

commit 3dbdee52e28a11b2e0dea2bdc69e2a2f9b83a9b2
Author:     Thirumalai Nagalingam <thirumalai.nagalingam@multicorewareinc.com>
AuthorDate: Fri Dec 19 18:15:34 2025 +0530
Commit:     Corinna Vinschen <corinna@vinschen.de>
CommitDate: Fri Jan 16 19:48:53 2026 +0100

    Cygwin: gendef: add ARM64 stub for $fe in gendef
    
    This patch adds ARM64 stub with stack allocation and SEH unwind
    directives in gendef for $fe routine.
    
    Signed-off-by: Evgeny Karpov <Evgeny.Karpov@microsoft.com>
    Signed-off-by: Thirumalai Nagalingam <thirumalai.nagalingam@multicorewareinc.com>

Diff:
---
 winsup/cygwin/scripts/gendef | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/winsup/cygwin/scripts/gendef b/winsup/cygwin/scripts/gendef
index d60d45431480..813857886062 100755
--- a/winsup/cygwin/scripts/gendef
+++ b/winsup/cygwin/scripts/gendef
@@ -115,7 +115,18 @@ EOF
 	$res = <<EOF;
 	.extern $func
 	.global $fe
+	.seh_proc $fe
 $fe:
+	sub sp, sp, 16			// allocate stack, 16-byte alligned
+	.seh_stackalloc 16		// SEH: describe stack allocation
+	.seh_endprologue		// end of prologue for unwinder
+	adrp x9, $func			// load page address of func
+	add x9, x9, :lo12:$func		// compute full address of func
+	str x9, [sp, 0]			// store func pointer on stack
+	adrp x9, $sigfe_func		// load page address of sigfe_func
+	add x9, x9, :lo12:$sigfe_func	// compute final address of sigfe_func
+	br x9				// branch to x9
+	.seh_endproc
 EOF
     }


More information about the Cygwin-cvs mailing list