116c66e0fd83a166a969d4759d98765ab1207759 |
|
10-Mar-2014 |
WenHan Gu <Wenhan.gu@mediatek.com> |
Expose personality routine symbol. This is necessary for unknown arch testing. For example, if executable A needs libB.so, and libB uses libgabi++_static.a, the problem is libB.so has __gxx_personality_v0, but it is hidden, so executable A cannot link to final result since it has undefined reference. Change-Id: I0233efc8626799e57ab7c1b3ffb7adde551d49e8
|
2319d708f6756fde7f18e0bf276715f001521c5a |
|
30-Oct-2013 |
David 'Digit' Turner <digit@android.com> |
gabi++: Add std::get_new_handler() and __cxa_deleted_virtual() This patch adds two missing functions to GAbi++: - std::get_new_handler() is used to retrieve the current std::new_handler - __cxa_deleted_virtual() is used in C++11 vtables to point to 'deleted methods'. + Add missing _GABIXX_NOEXCEPT and _GABIXX_NORETURN declarations. + Change throw() declarations into _GABIXX_NOEXCEPT, when compiling C++11, this translates into the allegedly more efficient 'noexcept' statement. Change-Id: Ia5beaba8b6926372b96fa154b23bb118ab064f3e
|
ce2be28ffd56784d084ece009d26a37f829cff00 |
|
29-Jul-2013 |
David 'Digit' Turner <digit@android.com> |
gabi++: Introduced _GABIXX_HIDDEN macro. This patch introduces a new GAbi++ macro used to declare functions that are internal to the library, and should never be exposed to client code. This doesn't affect the visibility of other symbols. Change-Id: I1e4b8e9796fabcfefe4a6f98a47599dc0898fe85
|
7a9c37698a1e2cdd865b5db7b14f9781cb696da6 |
|
28-Jul-2013 |
David 'Digit' Turner <digit@android.com> |
gabi++: Fix terminate / unexpected thread-safety. This patch makes all operations on terminate and unexpected handlers properly thread-safe. This also marks the appropriate functions as "noreturn". + Move internal <cxxabi.h> declarations to internal header src/cxxabi_defines.h + Add new <gabixx_config.h> header. + Move some exception-specific code to src/exception.cc + Rename __cxxabiv1::fatalError() to __gabixx::__fatal_error() in src/fatal_error.cc + Get rid of __cxa_thread_info. Change-Id: If79bf0263cc5f0be1bbf782a7874125fd4923d17
|
fdf89810ae76eac8def019716322018499531410 |
|
04-Mar-2013 |
Albert J. Wong <ajwong@google.com> |
Make Hello World run with libcxx and gabi++. This change does 2 things: (1) Modifies gabi++ source compatible with libcxx. (2) Adds stubs for missing libc functions needed by libcxx. It introduces a new macro, GXXABI_LIBCXX, into gabi++ which conditionally enables and disables functions in gabi++ to make the exported API behave like libcxxabi's. Existing gabi++ code is also refactored to remove symbols + APIs that shouldn't really be in namespace std. Locale handling code has been patched to hobble along in the c-abi, but there are TODOs. The exception handling logic in gabi++ isn't complete, nor are the libc stubs. Where incomplete functionality is introduced a preprocess warning is left to indicate lack of functionality. After this CL, it is possible to make a running Hello World using libcxx on Android. Change-Id: Iceafd6f8d6dead6b64320b0c0f852d579cceb34c
|
7ae983a6ba4bf8ed27a64c492ed5a7178e389bc8 |
|
21-Nov-2012 |
David 'Digit' Turner <digit@android.com> |
GAbi++: Improve fatal error handling. This patch does two things to improve fatal error handling in GAbi++: - Change the default std::terminate() implementation to crash the current process instead of calling abort(), in order to improve debugging. See source code comments for details. - Introduce a new internal fatalError() function that is used to report errors to stderr and/or the log, then call std::terminate(). + Add missing 'exceptions' tags to LOCAL_CPP_FEATURES. Change-Id: I7e95ddc445ec85524a5091df464802e2f0be83ff
|
419afd910dc325e65df10b53e99e49c1eded6d26 |
|
19-Nov-2012 |
WenHan Gu <Wenhan.gu@mediatek.com> |
Make gabi++ support C++ exception handling. After applying this patch, we can make gabi++ support full features on C++ exception handling. This CL has run through tests in both ndk and GCC testsuites (196 tests total) that are related to exception handling. It achieves the same pass rate as gnustl library does! NDK documentation states that upstream might support exception in gabi++. Therefore, I did this patch to achieve the goal. Change-Id: I59a448364b35054fcd9ba6ee33ca87380090d675
|