summaryrefslogtreecommitdiff
path: root/lib/ubsan/ubsan_handlers.h
diff options
context:
space:
mode:
authorWill Dietz <wdietz2@illinois.edu>2013-01-10 03:37:30 +0000
committerWill Dietz <wdietz2@illinois.edu>2013-01-10 03:37:30 +0000
commit90ad168560fa07fcc21c88d5710a05f851ecafcf (patch)
treec11578b8da14056508ab9e06ebca9a389496cf28 /lib/ubsan/ubsan_handlers.h
parenta597258803f870d859e2e8b18bbb4fabf4d5a3f8 (diff)
[ubsan] Give entry methods default (not hidden) visibility.
Fixes using ubsan on shared libraries in linux, for example. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@172041 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/ubsan/ubsan_handlers.h')
-rw-r--r--lib/ubsan/ubsan_handlers.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/ubsan/ubsan_handlers.h b/lib/ubsan/ubsan_handlers.h
index b50f57f25..6cc2d3623 100644
--- a/lib/ubsan/ubsan_handlers.h
+++ b/lib/ubsan/ubsan_handlers.h
@@ -25,7 +25,9 @@ struct TypeMismatchData {
};
#define RECOVERABLE(checkname, ...) \
+ SANITIZER_INTERFACE_ATTRIBUTE \
extern "C" void __ubsan_handle_ ## checkname( __VA_ARGS__ ); \
+ SANITIZER_INTERFACE_ATTRIBUTE \
extern "C" void __ubsan_handle_ ## checkname ## _abort( __VA_ARGS__ );
/// \brief Handle a runtime type check failure, caused by either a misaligned
@@ -70,8 +72,10 @@ struct UnreachableData {
};
/// \brief Handle a __builtin_unreachable which is reached.
+SANITIZER_INTERFACE_ATTRIBUTE
extern "C" void __ubsan_handle_builtin_unreachable(UnreachableData *Data);
/// \brief Handle reaching the end of a value-returning function.
+SANITIZER_INTERFACE_ATTRIBUTE
extern "C" void __ubsan_handle_missing_return(UnreachableData *Data);
struct VLABoundData {