From: Simon Marchi Date: Fri, 3 Sep 2021 21:31:29 +0000 (-0400) Subject: common: compile libtestpoint as C++ X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=commitdiff_plain;h=f6352cc1ebe6eb9a6bb7794f4a4d04dcb5370ad5 common: compile libtestpoint as C++ Change-Id: I2dae562c4632ea3ecfa1365f573baa6d6ba232bf Signed-off-by: Simon Marchi Signed-off-by: Jérémie Galarneau --- diff --git a/src/common/testpoint/Makefile.am b/src/common/testpoint/Makefile.am index ef8a2e9cd..7fd8ed76e 100644 --- a/src/common/testpoint/Makefile.am +++ b/src/common/testpoint/Makefile.am @@ -2,5 +2,7 @@ noinst_LTLIBRARIES = libtestpoint.la -libtestpoint_la_SOURCES = testpoint.h testpoint.c +libtestpoint_la_SOURCES = \ + testpoint.cpp \ + testpoint.h libtestpoint_la_LIBADD = $(DL_LIBS) diff --git a/src/common/testpoint/testpoint.c b/src/common/testpoint/testpoint.c deleted file mode 100644 index c70245894..000000000 --- a/src/common/testpoint/testpoint.c +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (C) 2012 Christian Babeux - * - * SPDX-License-Identifier: GPL-2.0-only - * - */ - -#ifndef NTESTPOINT - -#define _LGPL_SOURCE -#include /* for dlsym */ -#include /* for getenv */ -#include /* for strncmp */ - -#include "testpoint.h" - -/* Environment variable used to enable the testpoints facilities. */ -static const char *lttng_testpoint_env_var = "LTTNG_TESTPOINT_ENABLE"; - -/* Testpoint toggle flag */ -int lttng_testpoint_activated; - -/* - * Toggle the support for testpoints on the application startup. - */ -static void __attribute__((constructor)) lttng_testpoint_check(void) -{ - char *testpoint_env_val = NULL; - - testpoint_env_val = getenv(lttng_testpoint_env_var); - if (testpoint_env_val != NULL - && (strncmp(testpoint_env_val, "1", 1) == 0)) { - lttng_testpoint_activated = 1; - } -} - -/* - * Lookup a symbol by name. - * - * Return the address where the symbol is loaded or NULL if the symbol was not - * found. - */ -void *lttng_testpoint_lookup(const char *name) -{ - if (!name) { - return NULL; - } - - return dlsym(RTLD_DEFAULT, name); -} - -#endif /* NTESTPOINT */ diff --git a/src/common/testpoint/testpoint.cpp b/src/common/testpoint/testpoint.cpp new file mode 100644 index 000000000..c70245894 --- /dev/null +++ b/src/common/testpoint/testpoint.cpp @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2012 Christian Babeux + * + * SPDX-License-Identifier: GPL-2.0-only + * + */ + +#ifndef NTESTPOINT + +#define _LGPL_SOURCE +#include /* for dlsym */ +#include /* for getenv */ +#include /* for strncmp */ + +#include "testpoint.h" + +/* Environment variable used to enable the testpoints facilities. */ +static const char *lttng_testpoint_env_var = "LTTNG_TESTPOINT_ENABLE"; + +/* Testpoint toggle flag */ +int lttng_testpoint_activated; + +/* + * Toggle the support for testpoints on the application startup. + */ +static void __attribute__((constructor)) lttng_testpoint_check(void) +{ + char *testpoint_env_val = NULL; + + testpoint_env_val = getenv(lttng_testpoint_env_var); + if (testpoint_env_val != NULL + && (strncmp(testpoint_env_val, "1", 1) == 0)) { + lttng_testpoint_activated = 1; + } +} + +/* + * Lookup a symbol by name. + * + * Return the address where the symbol is loaded or NULL if the symbol was not + * found. + */ +void *lttng_testpoint_lookup(const char *name) +{ + if (!name) { + return NULL; + } + + return dlsym(RTLD_DEFAULT, name); +} + +#endif /* NTESTPOINT */