From 154f564ce40f4a2129893e49c98d3b23def1da6b Mon Sep 17 00:00:00 2001 From: Bert Wesarg Date: Mon, 15 Mar 2021 08:37:15 +0100 Subject: [PATCH] test: Use libc provided library name for `libm.so` --- test/multi_agent_dlopen/CMakeLists.txt | 7 +++++++ test/multi_agent_dlopen/main.c | 10 +++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/test/multi_agent_dlopen/CMakeLists.txt b/test/multi_agent_dlopen/CMakeLists.txt index 59289d4..1627490 100644 --- a/test/multi_agent_dlopen/CMakeLists.txt +++ b/test/multi_agent_dlopen/CMakeLists.txt @@ -1,7 +1,14 @@ +INCLUDE(CheckIncludeFile) + +check_include_file(gnu/lib-names.h HAVE_GNU_LIBNAMES_H) + set(CMAKE_C_FLAGS "-g -O -fPIC") add_library(multi_agent_sym SHARED dlsym.c) add_library(multi_agent_mon SHARED monitor.c) add_executable(multi_agent_main main.c) +if(HAVE_GNU_LIBNAMES_H) + target_compile_definitions(multi_agent_main PRIVATE -DHAVE_GNU_LIBNAMES_H) +endif() target_link_libraries(multi_agent_main dl) target_link_libraries(multi_agent_mon dl gotcha) gotcha_add_test(multi_agent_dlopen multi_agent_main) diff --git a/test/multi_agent_dlopen/main.c b/test/multi_agent_dlopen/main.c index 65c9c87..76879a8 100644 --- a/test/multi_agent_dlopen/main.c +++ b/test/multi_agent_dlopen/main.c @@ -8,6 +8,14 @@ #include #include +#ifdef HAVE_GNU_LIBNAMES_H +#include +#endif + +#ifndef LIBM_SO +#define LIBM_SO "libm.so" +#endif + #define MYNAME "main" typedef double sin_fcn_t(double); @@ -21,7 +29,7 @@ main(int argc, char **argv) fprintf(stderr, "%s: val = %.6f\n", MYNAME, val); - void *handle = dlopen("libm.so", RTLD_NOW); + void *handle = dlopen(LIBM_SO, RTLD_NOW); if (handle == NULL) { err(1, "dlopen failed"); }