// SPDX-License-Identifier: BSD-2-Clause
/* Copyright (C) 2016 - 2020 Intel Corporation. */
#include "tbbmalloc.h"
int load_tbbmalloc_symbols()
{
const char so_name[]="libtbbmalloc.so.2";
void *tbb_handle = dlopen(so_name, RTLD_LAZY);
if(!tbb_handle) {
printf("Cannot load %s\n", so_name);
return -1;
}
scalable_malloc = dlsym(tbb_handle, "scalable_malloc");
if(!scalable_malloc) {
printf("Cannot load scalable_malloc symbol from %s\n", so_name);
return -1;
}
scalable_realloc = dlsym(tbb_handle, "scalable_realloc");
if(!scalable_realloc) {
printf("Cannot load scalable_realloc symbol from %s\n", so_name);
return -1;
}
scalable_calloc = dlsym(tbb_handle, "scalable_calloc");
if(!scalable_calloc) {
printf("Cannot load scalable_calloc symbol from %s\n", so_name);
return -1;
}
scalable_free = dlsym(tbb_handle, "scalable_free");
if(!scalable_free) {
printf("Cannot load scalable_free symbol from %s\n", so_name);
return -1;
}
return 0;
}