~aleteoryx/muditaos

ref: 44d3306f280cc7d6daa718d2a9f6323e48f54616 muditaos/board/linux/libiosyscalls/src/syscalls_real.hpp -rw-r--r-- 898 bytes
44d3306f — rrandomsky [CP-1059] Fix for erase only sensitive data from logs 2 years ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/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()