~aleteoryx/muditaos

ref: da4ed4e2da858c75abb7703ba012f00744a75f59 muditaos/board/linux/libiosyscalls/src/syscalls_real.hpp -rw-r--r-- 777 bytes
da4ed4e2 — Wiktor S. Ovalle Correa [EGD-5378] Add informative message before aborting iosyscalls 5 years ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 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));                                     \
        fprintf(stderr, "Missing libc syscall: %s()\n", #fun);                                                         \
    } while (0);

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