From b9e97f58aa4f0ed8449caed6e215b3d0cb629254 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Fri, 28 Oct 2022 16:24:00 +0200 Subject: [PATCH] Cygwin: exceptions: print 48 bit addresses Exception handling was *still* printing addresses as 44 bit values, but Windows supports a 48 bit virtual address space since Windows 8.1. Fix that. Fixes: e1254add73b1 ("Cygwin: Allow accessing 48 bit address space in Windows 8.1 or later") Signed-off-by: Corinna Vinschen --- winsup/cygwin/exceptions.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc index 1c59b1597..e6f868511 100644 --- a/winsup/cygwin/exceptions.cc +++ b/winsup/cygwin/exceptions.cc @@ -195,9 +195,9 @@ cygwin_exception::dump_exception () #ifdef __x86_64__ if (exception_name) - small_printf ("Exception: %s at rip=%011X\r\n", exception_name, ctx->Rip); + small_printf ("Exception: %s at rip=%012X\r\n", exception_name, ctx->Rip); else - small_printf ("Signal %d at rip=%011X\r\n", e->ExceptionCode, ctx->Rip); + small_printf ("Signal %d at rip=%012X\r\n", e->ExceptionCode, ctx->Rip); small_printf ("rax=%016X rbx=%016X rcx=%016X\r\n", ctx->Rax, ctx->Rbx, ctx->Rcx); small_printf ("rdx=%016X rsi=%016X rdi=%016X\r\n", @@ -345,10 +345,10 @@ cygwin_exception::dumpstack () small_printf ("Stack trace:\r\nFrame Function Args\r\n"); for (i = 0; i < DUMPSTACK_FRAME_LIMIT && thestack++; i++) { - small_printf ("%011X %011X", thestack.sf.AddrFrame.Offset, + small_printf ("%012X %012X", thestack.sf.AddrFrame.Offset, thestack.sf.AddrPC.Offset); for (unsigned j = 0; j < NPARAMS; j++) - small_printf ("%s%011X", j == 0 ? " (" : ", ", + small_printf ("%s%012X", j == 0 ? " (" : ", ", thestack.sf.Params[j]); small_printf (")\r\n"); } -- 2.43.5