Blame memkind-1.10.1/test/load_tbbmalloc_symbols.c

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