diff options
author | Saleem Abdulrasool <compnerd@compnerd.org> | 2020-02-10 08:52:31 -0800 |
---|---|---|
committer | Saleem Abdulrasool <compnerd@compnerd.org> | 2020-02-10 08:52:31 -0800 |
commit | 14798b44658c8b30b44afae20d0f391e88eb5bec (patch) | |
tree | 3622339dc9c1026988a8c8e423c1ff6ae6a7e60a /libunwind | |
parent | 1555d7f729089382520b93634cc24e600fcd21ae (diff) | |
download | llvm-14798b44658c8b30b44afae20d0f391e88eb5bec.tar.gz |
unwind: rename `__personality_routine` to `_Unwind_Personality_Fn`
This patch renames `__personality_routine` to `_Unwind_Personality_Fn`
in `unwind.h`. Both `unwind.h` from clang and GCC headers use this name
instead of `__personality_routine`. With this patch one is also able to
build libc++abi with libunwind support on Windows.
Patch by Markus Böck!
Diffstat (limited to 'libunwind')
-rw-r--r-- | libunwind/include/unwind.h | 21 | ||||
-rw-r--r-- | libunwind/src/Unwind-EHABI.cpp | 8 | ||||
-rw-r--r-- | libunwind/src/Unwind-seh.cpp | 6 | ||||
-rw-r--r-- | libunwind/src/Unwind-sjlj.c | 4 | ||||
-rw-r--r-- | libunwind/src/UnwindLevel1-gcc-ext.c | 2 | ||||
-rw-r--r-- | libunwind/src/UnwindLevel1.c | 12 |
6 files changed, 24 insertions, 29 deletions
diff --git a/libunwind/include/unwind.h b/libunwind/include/unwind.h index b6cc70498b37..1d3444cd83b4 100644 --- a/libunwind/include/unwind.h +++ b/libunwind/include/unwind.h @@ -111,10 +111,9 @@ typedef _Unwind_Reason_Code (*_Unwind_Stop_Fn) _Unwind_Exception* exceptionObject, struct _Unwind_Context* context); -typedef _Unwind_Reason_Code (*__personality_routine) - (_Unwind_State state, - _Unwind_Exception* exceptionObject, - struct _Unwind_Context* context); +typedef _Unwind_Reason_Code (*_Unwind_Personality_Fn)( + _Unwind_State state, _Unwind_Exception *exceptionObject, + struct _Unwind_Context *context); #else struct _Unwind_Context; // opaque struct _Unwind_Exception; // forward declaration @@ -150,12 +149,9 @@ typedef _Unwind_Reason_Code (*_Unwind_Stop_Fn) struct _Unwind_Context* context, void* stop_parameter ); -typedef _Unwind_Reason_Code (*__personality_routine) - (int version, - _Unwind_Action actions, - uint64_t exceptionClass, - _Unwind_Exception* exceptionObject, - struct _Unwind_Context* context); +typedef _Unwind_Reason_Code (*_Unwind_Personality_Fn)( + int version, _Unwind_Action actions, uint64_t exceptionClass, + _Unwind_Exception *exceptionObject, struct _Unwind_Context *context); #endif #ifdef __cplusplus @@ -387,10 +383,9 @@ typedef struct _DISPATCHER_CONTEXT DISPATCHER_CONTEXT; #endif // This is the common wrapper for GCC-style personality functions with SEH. extern EXCEPTION_DISPOSITION _GCC_specific_handler(EXCEPTION_RECORD *exc, - void *frame, - CONTEXT *ctx, + void *frame, CONTEXT *ctx, DISPATCHER_CONTEXT *disp, - __personality_routine pers); + _Unwind_Personality_Fn pers); #endif #ifdef __cplusplus diff --git a/libunwind/src/Unwind-EHABI.cpp b/libunwind/src/Unwind-EHABI.cpp index a23ba2cc7e0e..a8a64cbfd7e5 100644 --- a/libunwind/src/Unwind-EHABI.cpp +++ b/libunwind/src/Unwind-EHABI.cpp @@ -481,8 +481,8 @@ unwind_phase1(unw_context_t *uc, unw_cursor_t *cursor, _Unwind_Exception *except // If there is a personality routine, ask it if it will want to stop at // this frame. if (frameInfo.handler != 0) { - __personality_routine p = - (__personality_routine)(long)(frameInfo.handler); + _Unwind_Personality_Fn p = + (_Unwind_Personality_Fn)(long)(frameInfo.handler); _LIBUNWIND_TRACE_UNWINDING( "unwind_phase1(ex_ojb=%p): calling personality function %p", static_cast<void *>(exception_object), @@ -597,8 +597,8 @@ static _Unwind_Reason_Code unwind_phase2(unw_context_t *uc, unw_cursor_t *cursor // If there is a personality routine, tell it we are unwinding. if (frameInfo.handler != 0) { - __personality_routine p = - (__personality_routine)(long)(frameInfo.handler); + _Unwind_Personality_Fn p = + (_Unwind_Personality_Fn)(long)(frameInfo.handler); struct _Unwind_Context *context = (struct _Unwind_Context *)(cursor); // EHABI #7.2 exception_object->pr_cache.fnstart = frameInfo.start_ip; diff --git a/libunwind/src/Unwind-seh.cpp b/libunwind/src/Unwind-seh.cpp index 7647f2e0db0b..403ab2d77110 100644 --- a/libunwind/src/Unwind-seh.cpp +++ b/libunwind/src/Unwind-seh.cpp @@ -69,7 +69,7 @@ static void __unw_seh_set_disp_ctx(unw_cursor_t *cursor, /// b) Initiate a collided unwind to halt unwinding. _LIBUNWIND_EXPORT EXCEPTION_DISPOSITION _GCC_specific_handler(PEXCEPTION_RECORD ms_exc, PVOID frame, PCONTEXT ms_ctx, - DISPATCHER_CONTEXT *disp, __personality_routine pers) { + DISPATCHER_CONTEXT *disp, _Unwind_Personality_Fn pers) { unw_cursor_t cursor; _Unwind_Exception *exc; _Unwind_Action action; @@ -290,8 +290,8 @@ unwind_phase2_forced(unw_context_t *uc, // If there is a personality routine, tell it we are unwinding. if (frameInfo.handler != 0) { - __personality_routine p = - (__personality_routine)(intptr_t)(frameInfo.handler); + _Unwind_Personality_Fn p = + (_Unwind_Personality_Fn)(intptr_t)(frameInfo.handler); _LIBUNWIND_TRACE_UNWINDING( "unwind_phase2_forced(ex_ojb=%p): calling personality function %p", (void *)exception_object, (void *)(uintptr_t)p); diff --git a/libunwind/src/Unwind-sjlj.c b/libunwind/src/Unwind-sjlj.c index b8bb7c83bdff..85a4cc3c69d6 100644 --- a/libunwind/src/Unwind-sjlj.c +++ b/libunwind/src/Unwind-sjlj.c @@ -39,7 +39,7 @@ struct _Unwind_FunctionContext { uint32_t resumeParameters[4]; // set by calling function before registering - __personality_routine personality; // arm offset=24 + _Unwind_Personality_Fn personality; // arm offset=24 uintptr_t lsda; // arm offset=28 // variable length array, contains registers to restore @@ -268,7 +268,7 @@ unwind_phase2_forced(struct _Unwind_Exception *exception_object, // if there is a personality routine, tell it we are unwinding if (c->personality != NULL) { - __personality_routine p = (__personality_routine) c->personality; + _Unwind_Personality_Fn p = (_Unwind_Personality_Fn)c->personality; _LIBUNWIND_TRACE_UNWINDING("unwind_phase2_forced(ex_ojb=%p): " "calling personality function %p", (void *)exception_object, (void *)p); diff --git a/libunwind/src/UnwindLevel1-gcc-ext.c b/libunwind/src/UnwindLevel1-gcc-ext.c index 008df815665e..310b836d129e 100644 --- a/libunwind/src/UnwindLevel1-gcc-ext.c +++ b/libunwind/src/UnwindLevel1-gcc-ext.c @@ -149,7 +149,7 @@ _Unwind_Backtrace(_Unwind_Trace_Fn callback, void *ref) { struct _Unwind_Context *context = (struct _Unwind_Context *)&cursor; // Get and call the personality function to unwind the frame. - __personality_routine handler = (__personality_routine) frameInfo.handler; + _Unwind_Personality_Fn handler = (_Unwind_Personality_Fn)frameInfo.handler; if (handler == NULL) { return _URC_END_OF_STACK; } diff --git a/libunwind/src/UnwindLevel1.c b/libunwind/src/UnwindLevel1.c index bcb1a7fbec2a..3e75b5f13cd6 100644 --- a/libunwind/src/UnwindLevel1.c +++ b/libunwind/src/UnwindLevel1.c @@ -90,8 +90,8 @@ unwind_phase1(unw_context_t *uc, unw_cursor_t *cursor, _Unwind_Exception *except // If there is a personality routine, ask it if it will want to stop at // this frame. if (frameInfo.handler != 0) { - __personality_routine p = - (__personality_routine)(uintptr_t)(frameInfo.handler); + _Unwind_Personality_Fn p = + (_Unwind_Personality_Fn)(uintptr_t)(frameInfo.handler); _LIBUNWIND_TRACE_UNWINDING( "unwind_phase1(ex_ojb=%p): calling personality function %p", (void *)exception_object, (void *)(uintptr_t)p); @@ -188,8 +188,8 @@ unwind_phase2(unw_context_t *uc, unw_cursor_t *cursor, _Unwind_Exception *except // If there is a personality routine, tell it we are unwinding. if (frameInfo.handler != 0) { - __personality_routine p = - (__personality_routine)(uintptr_t)(frameInfo.handler); + _Unwind_Personality_Fn p = + (_Unwind_Personality_Fn)(uintptr_t)(frameInfo.handler); _Unwind_Action action = _UA_CLEANUP_PHASE; if (sp == exception_object->private_2) { // Tell personality this was the frame it marked in phase 1. @@ -294,8 +294,8 @@ unwind_phase2_forced(unw_context_t *uc, unw_cursor_t *cursor, // If there is a personality routine, tell it we are unwinding. if (frameInfo.handler != 0) { - __personality_routine p = - (__personality_routine)(intptr_t)(frameInfo.handler); + _Unwind_Personality_Fn p = + (_Unwind_Personality_Fn)(intptr_t)(frameInfo.handler); _LIBUNWIND_TRACE_UNWINDING( "unwind_phase2_forced(ex_ojb=%p): calling personality function %p", (void *)exception_object, (void *)(uintptr_t)p); |