cc @viewizard @gbalykov
```sh
docker run --rm -v$(pwd):/diagnostics -w /diagnostics --platform linux/riscv64 alpine:edge sh -c \
'apk add build-base cmake bash curl clang llvm-dev && ./build.sh -skipmanaged'
```
DWORD spToFind = dtcontext->Sp;
#elif DBG_TARGET_ARM64
DWORD64 spToFind = dtcontext->Sp;
+#elif DBG_TARGET_RISCV64
+ DWORD64 spToFind = dtcontext->Sp;
#else
#error "spToFind undefined for this platform"
#endif
*type = IMAGE_FILE_MACHINE_ARM64;
#elif DBG_TARGET_X86
*type = IMAGE_FILE_MACHINE_I386;
+#elif DBG_TARGET_RISCV64
+ *type = IMAGE_FILE_MACHINE_RISCV64;
#else
#error "Unsupported target"
#endif
inline TADDR GetRegdisplayFP(REGDISPLAY *display) {
LIMITED_METHOD_CONTRACT;
- return NULL;
+ return (TADDR)NULL;
}
inline TADDR GetRegdisplayFPAddress(REGDISPLAY *display) {
LIMITED_METHOD_CONTRACT;
- return NULL;
+ return (TADDR)NULL;
}
// This function tells us if the given stack pointer is in one of the frames of the functions called by the given frame
_ASSERTE(GetRegdisplaySP(display) == GetSP(display->pCurrentContext));
return GetRegdisplaySP(display);
-#elif defined(TARGET_ARM64)
+#elif defined(TARGET_ARM64) || defined(TARGET_RISCV64)
_ASSERTE(display->IsCallerContextValid);
return GetSP(display->pCallerContext);
#else // TARGET_AMD64
PORTABILITY_ASSERT("GetRegdisplayStackMark NYI for this platform (Regdisp.h)");
- return NULL;
+ return (TADDR)NULL;
#endif // TARGET_AMD64
}