diff --git a/headers/os/BeBuild.h b/headers/os/BeBuild.h index 2667b4986d..509ccf51e5 100644 --- a/headers/os/BeBuild.h +++ b/headers/os/BeBuild.h @@ -82,8 +82,14 @@ #define B_DEFINE_SYMBOL_VERSION(function, versionedSymbol) \ __asm__(".symver " function "," versionedSymbol) -#define B_DEFINE_WEAK_ALIAS(name, alias_name) \ - __typeof(name) alias_name __attribute__((weak, alias(#name))) + +#ifdef __cplusplus +# define B_DEFINE_WEAK_ALIAS(name, alias_name) \ + extern "C" __typeof(name) alias_name __attribute__((weak, alias(#name))) +#else +# define B_DEFINE_WEAK_ALIAS(name, alias_name) \ + __typeof(name) alias_name __attribute__((weak, alias(#name))) +#endif #endif /* _BE_BUILD_H */