~aleteoryx/muditaos

ref: master muditaos/board/linux/libiosyscalls/src/syscalls_real.hpp -rw-r--r-- 910 bytes
2cd0e472 — Lefucjusz [BH-000] Update Harmony 2.10.0 changelog 2 months ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// Copyright (c) 2017-2024, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/blob/master/LICENSE.md

#pragma once

/* Helpers for intercepting library calls */
#define __REAL_DECL(fun) decltype(::fun) *fun
#define __REAL_DLSYM(fun)                                                                                              \
    do {                                                                                                               \
        real::fun = reinterpret_cast<decltype(real::fun)>(dlsym(RTLD_NEXT, #fun));                                     \
        if (!real::fun)                                                                                                \
            fprintf(stderr, "Missing libc syscall: %s()\n", #fun);                                                     \
    } while (0);

#include <dlfcn.h> // for dlsym()