From: Sung Yoon Whang Date: Mon, 21 Oct 2019 23:04:28 +0000 (-0700) Subject: Fix LTTng build for build environments with older liblttng-ust-dev (#27273) (#27294) X-Git-Tag: accepted/tizen/unified/20200402.155517~96 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7a8e08cac71924a301d96dbac6dcb283677e93b1;p=platform%2Fupstream%2Fcoreclr.git Fix LTTng build for build environments with older liblttng-ust-dev (#27273) (#27294) * Fix macro redefinition to use XplatEventLogger instead of simply writing FALSE * Fix linker error * undo newline changes * Some changes to comment * Move wrapper export from eventpipe.cpp to eventtrace.cpp --- diff --git a/src/scripts/genLttngProvider.py b/src/scripts/genLttngProvider.py index 38fca2d..393ca3f 100644 --- a/src/scripts/genLttngProvider.py +++ b/src/scripts/genLttngProvider.py @@ -546,7 +546,10 @@ def generateLttngFiles(etwmanifest,eventprovider_directory, dryRun): lttngimpl_file.write("#include \"" + lttngevntheadershortname + "\"\n\n") lttngimpl_file.write("""#ifndef tracepoint_enabled -#define tracepoint_enabled(provider, name) FALSE + +extern "C" bool XplatEventLoggerIsEnabled(); + +#define tracepoint_enabled(provider, name) XplatEventLoggerIsEnabled() #define do_tracepoint tracepoint #endif diff --git a/src/vm/eventtrace.cpp b/src/vm/eventtrace.cpp index f5f6389..ec09400 100644 --- a/src/vm/eventtrace.cpp +++ b/src/vm/eventtrace.cpp @@ -7543,3 +7543,11 @@ bool EventPipeHelper::IsEnabled(DOTNET_TRACE_CONTEXT Context, UCHAR Level, ULONG return false; } #endif // FEATURE_PERFTRACING + +#if defined(FEATURE_PAL) && defined(FEATURE_PERFTRACING) +// This is a wrapper method for LTTng. See https://github.com/dotnet/coreclr/pull/27273 for details. +extern "C" bool XplatEventLoggerIsEnabled() +{ + return XplatEventLogger::IsEventLoggingEnabled(); +} +#endif // FEATURE_PAL && FEATURE_PERFTRACING