From: Jakob Botsch Nielsen Date: Tue, 8 Mar 2022 18:41:32 +0000 (+0100) Subject: Fix instruction hex display for arm/arm64 when W^X is on (#66328) X-Git-Tag: accepted/tizen/unified/riscv/20231226.055536~10440 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=446a0d610d4479fa9ba58ec14a89132a18ed33c4;p=platform%2Fupstream%2Fdotnet%2Fruntime.git Fix instruction hex display for arm/arm64 when W^X is on (#66328) Fix #65638 --- diff --git a/src/coreclr/jit/emitarm.cpp b/src/coreclr/jit/emitarm.cpp index 7009826..4053cb5 100644 --- a/src/coreclr/jit/emitarm.cpp +++ b/src/coreclr/jit/emitarm.cpp @@ -7121,8 +7121,10 @@ void emitter::emitDispInsHelp( emitDispInsOffs(offset, doffs); /* Display the instruction hex code */ + assert(((code >= emitCodeBlock) && (code < emitCodeBlock + emitTotalHotCodeSize)) || + ((code >= emitColdCodeBlock) && (code < emitColdCodeBlock + emitTotalColdCodeSize))); - emitDispInsHex(id, code, sz); + emitDispInsHex(id, code + writeableOffset, sz); printf(" "); diff --git a/src/coreclr/jit/emitarm64.cpp b/src/coreclr/jit/emitarm64.cpp index 7aa1c89..baa66a7 100644 --- a/src/coreclr/jit/emitarm64.cpp +++ b/src/coreclr/jit/emitarm64.cpp @@ -12276,8 +12276,10 @@ void emitter::emitDispIns( emitDispInsOffs(offset, doffs); /* Display the instruction hex code */ + assert(((pCode >= emitCodeBlock) && (pCode < emitCodeBlock + emitTotalHotCodeSize)) || + ((pCode >= emitColdCodeBlock) && (pCode < emitColdCodeBlock + emitTotalColdCodeSize))); - emitDispInsHex(id, pCode, sz); + emitDispInsHex(id, pCode + writeableOffset, sz); printf(" ");