diff --git a/headers/os/BeBuild.h b/headers/os/BeBuild.h index d656574eba..04c4497afd 100644 --- a/headers/os/BeBuild.h +++ b/headers/os/BeBuild.h @@ -48,4 +48,7 @@ #define _EXPORT #define _IMPORT +#define B_DEFINE_SYMBOL_VERSION(function, versionedSymbol) \ + __asm__(".symver " function "," versionedSymbol) + #endif /* _BE_BUILD_H */ diff --git a/headers/private/system/symbol_versioning.h b/headers/private/system/symbol_versioning.h new file mode 100644 index 0000000000..3ecf9b494d --- /dev/null +++ b/headers/private/system/symbol_versioning.h @@ -0,0 +1,20 @@ +/* + * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de. + * Distributed under the terms of the MIT License. + */ +#ifndef _SYMBOL_VERSIONING_H +#define _SYMBOL_VERSIONING_H + +#include + + +#ifdef _KERNEL_MODE +# define DEFINE_LIBROOT_KERNEL_SYMBOL_VERSION(function, symbol, version) \ + B_DEFINE_SYMBOL_VERSION(function, symbol "KERNEL_" version) +#else +# define DEFINE_LIBROOT_KERNEL_SYMBOL_VERSION(function, symbol, version) \ + B_DEFINE_SYMBOL_VERSION(function, symbol "LIBROOT_" version) +#endif + + +#endif /* _SYMBOL_VERSIONING_H */