aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/libfuzzer/FuzzerTracePC.cpp
diff options
context:
space:
mode:
authorrobot-dts-analyst <robot-dts-analyst@yandex-team.com>2022-11-08 02:52:54 +0300
committerrobot-dts-analyst <robot-dts-analyst@yandex-team.com>2022-11-08 02:52:54 +0300
commit4279a48238a1a4105a3d77a50f245591649245a7 (patch)
treee3733a66963e7d577e33f9976dd63d50e28c058f /contrib/libs/libfuzzer/FuzzerTracePC.cpp
parentc2c68f821b20a5ebda2d7b52c0d6036241952311 (diff)
downloadydb-4279a48238a1a4105a3d77a50f245591649245a7.tar.gz
Rebalancing autocheck partitions and distbuild clusters.
The process of preparing changes https://sandbox.yandex-team.ru/task/1510045946/view
Diffstat (limited to 'contrib/libs/libfuzzer/FuzzerTracePC.cpp')
-rw-r--r--contrib/libs/libfuzzer/FuzzerTracePC.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/contrib/libs/libfuzzer/FuzzerTracePC.cpp b/contrib/libs/libfuzzer/FuzzerTracePC.cpp
index af8d1ce50f3..f12f7aa61bc 100644
--- a/contrib/libs/libfuzzer/FuzzerTracePC.cpp
+++ b/contrib/libs/libfuzzer/FuzzerTracePC.cpp
@@ -133,13 +133,14 @@ inline ALWAYS_INLINE uintptr_t GetPreviousInstructionPc(uintptr_t PC) {
// so we return (pc-2) in that case in order to be safe.
// For A32 mode we return (pc-4) because all instructions are 32 bit long.
return (PC - 3) & (~1);
-#elif defined(__powerpc__) || defined(__powerpc64__) || defined(__aarch64__)
- // PCs are always 4 byte aligned.
- return PC - 4;
#elif defined(__sparc__) || defined(__mips__)
return PC - 8;
-#else
+#elif defined(__riscv__)
+ return PC - 2;
+#elif defined(__i386__) || defined(__x86_64__) || defined(_M_IX86) || defined(_M_X64)
return PC - 1;
+#else
+ return PC - 4;
#endif
}