diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2020-08-12 13:37:19 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2020-08-12 17:37:06 +0200 |
commit | 91c8a3f3e7d3c178952d7e78e24cd0d6ba2b165a (patch) | |
tree | 8305dafeab50d4fad6dbd150d750be9d21313ac5 /bridges | |
parent | 77128b8396e973606bb87b9795d28252f7892fc5 (diff) |
The __cxa_exception::reserve member has been backported to LLVM 10 libcxxabi
...so record that fact in our comments, to avoid confusion
Change-Id: I83a9c576a92d74c207c8c778df0d020daf5bf33d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100593
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'bridges')
5 files changed, 12 insertions, 12 deletions
diff --git a/bridges/source/cpp_uno/gcc3_linux_aarch64/abi.cxx b/bridges/source/cpp_uno/gcc3_linux_aarch64/abi.cxx index b0a35996784e..7164b4ecb51c 100644 --- a/bridges/source/cpp_uno/gcc3_linux_aarch64/abi.cxx +++ b/bridges/source/cpp_uno/gcc3_linux_aarch64/abi.cxx @@ -182,7 +182,7 @@ extern "C" void _GLIBCXX_CDTOR_CALLABI deleteException(void * exception) { // Later, libcxxabi, as used at least on macOS on arm64, added a // void *reserve at the start of the __cxa_exception in front of // the referenceCount. See - // https://github.com/llvm/llvm-project/commit/f2a436058fcbc11291e73badb44e243f61046183#diff-ba9cda1ceca630ba040b154fe198adbd + // https://github.com/llvm/llvm-project/commit/674ec1eb16678b8addc02a4b0534ab383d22fa77 if (header->exceptionDestructor != &deleteException) { header = reinterpret_cast<__cxxabiv1::__cxa_exception *>( diff --git a/bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx b/bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx index 25931671f7dc..981ddfe676f7 100644 --- a/bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx +++ b/bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx @@ -152,8 +152,8 @@ void fillUnoException(uno_Any * pUnoExc, uno_Mapping * pCpp2Uno) #if defined _LIBCPPABI_VERSION // detect libc++abi // Very bad HACK to find out whether we run against a libcxxabi that has a new - // __cxa_exception::reserved member at the start, introduced with LLVM 11 - // <https://github.com/llvm/llvm-project/commit/f2a436058fcbc11291e73badb44e243f61046183> + // __cxa_exception::reserved member at the start, introduced with LLVM 10 + // <https://github.com/llvm/llvm-project/commit/674ec1eb16678b8addc02a4b0534ab383d22fa77> // "[libcxxabi] Insert padding in __cxa_exception struct for compatibility". The layout of the // start of __cxa_exception is // diff --git a/bridges/source/cpp_uno/gcc3_linux_x86-64/share.hxx b/bridges/source/cpp_uno/gcc3_linux_x86-64/share.hxx index 53c8841fbbcb..edcb46d0da2a 100644 --- a/bridges/source/cpp_uno/gcc3_linux_x86-64/share.hxx +++ b/bridges/source/cpp_uno/gcc3_linux_x86-64/share.hxx @@ -109,8 +109,8 @@ struct __cxa_exception { #if defined _LIBCPPABI_VERSION // detect libc++abi #if defined __LP64__ || LIBCXXABI_ARM_EHABI #if 0 - // This is a new field added with LLVM 11 - // <https://github.com/llvm/llvm-project/commit/f2a436058fcbc11291e73badb44e243f61046183> + // This is a new field added with LLVM 10 + // <https://github.com/llvm/llvm-project/commit/674ec1eb16678b8addc02a4b0534ab383d22fa77> // "[libcxxabi] Insert padding in __cxa_exception struct for compatibility". The HACK in // fillUnoException (bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx) tries to find out at // runtime whether a __cxa_exception has this member. Once we can be sure that we only run diff --git a/bridges/source/cpp_uno/gcc3_macosx_x86-64/except.cxx b/bridges/source/cpp_uno/gcc3_macosx_x86-64/except.cxx index 36eeda41bca7..e0216ddf3824 100644 --- a/bridges/source/cpp_uno/gcc3_macosx_x86-64/except.cxx +++ b/bridges/source/cpp_uno/gcc3_macosx_x86-64/except.cxx @@ -275,10 +275,10 @@ static void deleteException( void * pExc ) // point to this function (the use of __cxa_exception in fillUnoException is // unaffected, as it only accesses members towards the start of the struct, // through a pointer known to actually point at the start). The libcxxabi commit - // <https://github.com/llvm/llvm-project/commit/f2a436058fcbc11291e73badb44e243f61046183> - // "[libcxxabi] Insert padding in __cxa_exception struct for compatibility" towards LLVM 11 + // <https://github.com/llvm/llvm-project/commit/674ec1eb16678b8addc02a4b0534ab383d22fa77> + // "[libcxxabi] Insert padding in __cxa_exception struct for compatibility" in LLVM 10 // removes the need for this hack, so it can be removed again once we can be sure that we only - // run against libcxxabi from LLVM >= 11: + // run against libcxxabi from LLVM >= 10: if (header->exceptionDestructor != &deleteException) { header = reinterpret_cast<__cxa_exception const *>( reinterpret_cast<char const *>(header) - 8); @@ -353,8 +353,8 @@ void fillUnoException(uno_Any * pUnoExc, uno_Mapping * pCpp2Uno) } // Very bad HACK to find out whether we run against a libcxxabi that has a new - // __cxa_exception::reserved member at the start, introduced with LLVM 11 - // <https://github.com/llvm/llvm-project/commit/f2a436058fcbc11291e73badb44e243f61046183> + // __cxa_exception::reserved member at the start, introduced with LLVM 10 + // <https://github.com/llvm/llvm-project/commit/674ec1eb16678b8addc02a4b0534ab383d22fa77> // "[libcxxabi] Insert padding in __cxa_exception struct for compatibility". The layout of the // start of __cxa_exception is // diff --git a/bridges/source/cpp_uno/gcc3_macosx_x86-64/share.hxx b/bridges/source/cpp_uno/gcc3_macosx_x86-64/share.hxx index 015cda1c00e5..dbfa5a309080 100644 --- a/bridges/source/cpp_uno/gcc3_macosx_x86-64/share.hxx +++ b/bridges/source/cpp_uno/gcc3_macosx_x86-64/share.hxx @@ -69,8 +69,8 @@ struct __cxa_exception { #if __LP64__ #if 0 - // This is a new field added with LLVM 11 - // <https://github.com/llvm/llvm-project/commit/f2a436058fcbc11291e73badb44e243f61046183> + // This is a new field added with LLVM 10 + // <https://github.com/llvm/llvm-project/commit/674ec1eb16678b8addc02a4b0534ab383d22fa77> // "[libcxxabi] Insert padding in __cxa_exception struct for compatibility". The HACK in // fillUnoException (bridges/source/cpp_uno/gcc3_macosx_x86-64/except.cxx) tries to find out at // runtime whether a __cxa_exception has this member. Once we can be sure that we only run |