From 3f2f53d2bb1f695fb9c0626efcdebe077eec2610 Mon Sep 17 00:00:00 2001 From: Alexey Milovidov Date: Sun, 4 Apr 2021 04:52:41 +0300 Subject: [PATCH] Allow query profiling only on x86_64 --- programs/server/Server.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/programs/server/Server.cpp b/programs/server/Server.cpp index 0aaf47989b9..f2f43aabc7d 100644 --- a/programs/server/Server.cpp +++ b/programs/server/Server.cpp @@ -986,7 +986,7 @@ int Server::main(const std::vector & /*args*/) /// /// Look at compiler-rt/lib/sanitizer_common/sanitizer_stacktrace.h /// -#if USE_UNWIND && !WITH_COVERAGE && !defined(SANITIZER) +#if USE_UNWIND && !WITH_COVERAGE && !defined(SANITIZER) && defined(__x86_64__) /// Profilers cannot work reliably with any other libunwind or without PHDR cache. if (hasPHDRCache()) { @@ -1023,6 +1023,10 @@ int Server::main(const std::vector & /*args*/) " when two different stack unwinding methods will interfere with each other."); #endif +#if !defined(__x86_64__) + LOG_INFO(log, "Query Profiler is only tested on x86_64. It also known to not work under qemu-user."); +#endif + if (!hasPHDRCache()) LOG_INFO(log, "Query Profiler and TraceCollector are disabled because they require PHDR cache to be created" " (otherwise the function 'dl_iterate_phdr' is not lock free and not async-signal safe).");