summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-08-29Make _Unwind_Backtrace() work on ARM.android-cts-5.1_r9android-cts-5.1_r8android-cts-5.1_r7android-cts-5.1_r6android-cts-5.1_r5android-cts-5.1_r4android-cts-5.1_r3android-cts-5.1_r28android-cts-5.1_r27android-cts-5.1_r26android-cts-5.1_r25android-cts-5.1_r24android-cts-5.1_r23android-cts-5.1_r22android-cts-5.1_r21android-cts-5.1_r20android-cts-5.1_r2android-cts-5.1_r19android-cts-5.1_r18android-cts-5.1_r17android-cts-5.1_r16android-cts-5.1_r15android-cts-5.1_r14android-cts-5.1_r13android-cts-5.1_r10android-cts-5.1_r1android-cts-5.0_r9android-cts-5.0_r8android-cts-5.0_r7android-cts-5.0_r6android-cts-5.0_r5android-cts-5.0_r4android-cts-5.0_r3android-5.1.1_r9android-5.1.1_r8android-5.1.1_r7android-5.1.1_r6android-5.1.1_r5android-5.1.1_r4android-5.1.1_r38android-5.1.1_r37android-5.1.1_r36android-5.1.1_r35android-5.1.1_r34android-5.1.1_r33android-5.1.1_r30android-5.1.1_r3android-5.1.1_r29android-5.1.1_r28android-5.1.1_r26android-5.1.1_r25android-5.1.1_r24android-5.1.1_r23android-5.1.1_r22android-5.1.1_r20android-5.1.1_r2android-5.1.1_r19android-5.1.1_r18android-5.1.1_r17android-5.1.1_r16android-5.1.1_r15android-5.1.1_r14android-5.1.1_r13android-5.1.1_r12android-5.1.1_r10android-5.1.1_r1android-5.1.0_r5android-5.1.0_r4android-5.1.0_r3android-5.1.0_r1android-5.0.2_r3android-5.0.2_r1android-5.0.1_r1android-5.0.0_r7android-5.0.0_r6android-5.0.0_r5.1android-5.0.0_r5android-5.0.0_r4android-5.0.0_r3android-5.0.0_r2android-5.0.0_r1lollipop-releaselollipop-mr1-wfc-releaselollipop-mr1-releaselollipop-mr1-fi-releaselollipop-mr1-devlollipop-mr1-cts-releaselollipop-devlollipop-cts-releaseDan Albert
Summary: Since the personality functions do the actual unwinding on ARM, and will also stop unwinding when they encounter a handler, we invoke _Unwind_VRS_Interpret() directly form _Unwind_Backtrace(). To simplify, the logic for decoding an EHT is moved out of unwindOneFrame() and into its own function, decode_eht_entry(). Unlike unwindOneFrame(), which could only handle ARM's compact personality function entries (section 6.3) decode_eht_entry() can handle the generic entries (section 6.2). Reviewers: jroelofs Reviewed By: jroelofs Subscribers: piman, aemerson, cfe-commits Differential Revision: http://reviews.llvm.org/D5112 git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@216730 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit 14690900fcd84fbf82767890f4d7a5673654fe38) Bug: 16874447 Change-Id: Ia52c7e2a0b7167863fea29cbf4b2d3c5d58053b2
2014-08-29Revert "Fix _Unwind_Backtrace for arm."Dan Albert
Reverting because there is a more complete fix available upstream (one that can fully unwind in the presence of generic EHT entries). This reverts commit 0edf7c5360403441c060618014887e9a723fe423. Bug: 16874447 Change-Id: I5aa38183237865187156a8d8a050fd09a04ef109
2014-08-26Remove test code.Christopher Ferris
I accidentally included some test code that I if'd 0 out. Remove it. Bug: 16874447 Change-Id: I2ffd8120e2bb088def001125c023173a2cce1e08
2014-08-26Fix _Unwind_Backtrace for arm.Christopher Ferris
The unwind code does not properly update the IP when on arm. There is still a bug in this unwinding code, it stops unwinding at the first catch it finds. Bug: 16874447 Change-Id: I40a4d8990246dccad18612c7291d00293266d9bc
2014-08-19Improve logging of aborts for Android.Dan Albert
In Android, stderr only goes to the console, and as such will only ever be seen by adb shell users. Since very few developers will ever actually see that, also send the abort message to logcat and the tombstone. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@215983 91177308-0d34-0410-b5e6-96231b3b80d8 Bug: 17059126 Change-Id: I67055243d0750b1ea3cf5c77e911353cc9905878 (cherry picked from commit f02f3d37e0309314ce69f9bf49f17f54bed2c109)
2014-08-07Exclude only modules with prebuilt in prebuilts/sdk.Ying Wang
So we can do tapas build in the full platform source tree. Change-Id: Ia924f5d4a0159e5773dadf7516e509061fba8b1c (cherry picked from commit 9ed4d5de04a63f2445a56f63d07a15e6eb64d4d4)
2014-07-02Add support for the ARM EHABI unwinder.Dan Albert
Only use the LLVM unwinder for ARM. The LLVM unwinder now supports ARM EHABI, so we can finally use that for exception handling on ARM. The unwinder doesn't work for other architectures though (aside from on Darwin), so use libunwind for now. Change-Id: Ife8b0b33dbfe96c10eab102cd36d30149d68ace9
2014-07-02Merge to upstream r212232.Dan Albert
Includes ARM EHABI unwinder. Change-Id: I7e40c761abc0a4c67f11b8e9f85efefa6ba292ba
2014-06-19Fixes incorrect #ifs for SJ/LJ exceptionsDan Albert
The was working because, given __APPLE__, _LIBUNWIND_BUILD_SJLJ_APIS was set to __arm__, but other ARM targets not using SJ/LJ will fail to compile. Change-Id: Id774f1c6aa20661e289dbe18145532dbba6791d7 git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@206941 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-11Using arch-specific variablesYing Wang
Use arch-specific variables instead of checking TARGET_ARCH, which doesn't work in multlib build. Change-Id: If05af37c2df9d9f9bc756792a19fd34e8fe72316
2014-06-10Make host multilib for multilib dependencies.Ian Rogers
Change-Id: Id3ee2e6b6153c355441016b479b75351030f6217
2014-05-10am d5cc515c: Add LOCAL_ADDITIONAL_DEPENDENCIES on Android.mkBrian Carlstrom
* commit 'd5cc515c98421408b082fb82bbb3e947f2583e6f': Add LOCAL_ADDITIONAL_DEPENDENCIES on Android.mk
2014-05-09Add LOCAL_ADDITIONAL_DEPENDENCIES on Android.mkBrian Carlstrom
Change-Id: Ic74564ccf6e0525e667a6d9e8b0bb283fffd0a32
2014-05-09am 873f8586: Switch to static libsDan Albert
* commit '873f8586ee0ba081b0537f84dc827a400d0bc73d': Switch to static libs
2014-05-09Switch to static libsDan Albert
Change-Id: I6009c3e13f81cfe7743b9675292b7c7eb5082e48
2014-05-06am ab22a8fc: Changes so name to match cmake targetDan Albert
* commit 'ab22a8fc0e1fd348c19b99efa183ffd8c00af815': Changes so name to match cmake target
2014-05-05Changes so name to match cmake targetDan Albert
Change-Id: I6489f371d3ad19f2b7e850ed15fcf60a0d98807e
2014-05-05am 6b885241: Removes libstdc++ dependency from host buildsDan Albert
* commit '6b8852417f55cd373059531acae36fc3b052e88b': Removes libstdc++ dependency from host builds
2014-05-05am 45b27bb2: Replaces strlcpy() with strncpy() equivalentDan Albert
* commit '45b27bb2d849cde9dcbb9ee702373150a060c480': Replaces strlcpy() with strncpy() equivalent
2014-05-05Removes libstdc++ dependency from host buildsidea133-weekly-releaseDan Albert
Change-Id: I00d2ab87bb8f34c2787afc4766d7413b2655bffe
2014-05-05Replaces strlcpy() with strncpy() equivalentDan Albert
This is necessary for building libc++abi in non-BSD environments. Change-Id: Ia550a40b6f520a69bef963268eb2fb3c3c9c4401
2014-04-30am d71a0e61: Enable MIPS builds.Stephen Hines
* commit 'd71a0e613da222c193732a46056e8d9881040f98': Enable MIPS builds.
2014-04-30Enable MIPS builds.Stephen Hines
Change-Id: I47fb51d32bfa5fa175ff066b477dfb0597625873
2014-04-29am 285d67f3: Don\'t build libcxx_abi for unbundled projects.Stephen Hines
* commit '285d67f35f6044cf733091e36248405ca967c62c': Don't build libcxx_abi for unbundled projects.
2014-04-29am 09437217: Add Apple-specific files for libunwind.Tim Murray
* commit '09437217701ee0d16962250b375698ceece839e8': Add Apple-specific files for libunwind.
2014-04-29am b21e7e40: Fixes build on arm64Dan Albert
* commit 'b21e7e40b9f751f956cdc437b6546c3052d6b604': Fixes build on arm64
2014-04-29am 39c04b7e: Disables building of libcxxabi on mips targetsDan Albert
* commit '39c04b7ea5f24565206478880df2cdc26fc8214d': Disables building of libcxxabi on mips targets
2014-04-29am ddd1d803: Merge "Gets libcxxabi building for Android"Dan Albert
* commit 'ddd1d803cc32902bb545fce2b19077375964f5dc': Gets libcxxabi building for Android
2014-04-29am 685b6863: Revert "Gets libcxxabi building for Android"Dan Albert
* commit '685b686397762543524a8496c4901332588e7349': Revert "Gets libcxxabi building for Android"
2014-04-29am fa220390: Gets libcxxabi building for AndroidDan Albert
* commit 'fa2203904bdca85115bf2fcb9bd70150dffa9bbe': Gets libcxxabi building for Android
2014-04-29am 426b4a20: Add module notice.Tim Murray
* commit '426b4a2074546a3be819110978876163a8f1704c': Add module notice.
2014-04-29am d998eb96: Merge remote-tracking branch \'upstream/master\' into libcxxabiTim Murray
* commit 'd998eb96ae9865bbd7b1711abcf4c9c6f4ff2304': (257 commits) Initial empty repository Simplify. Fix DW_CFA_GNU_args_size handling. The primary architecture using this opcode is VAX. A function call pushes the number of arguments given onto the stack and "ret" will pop it automatically. The FDE of the caller contains the amount of stack space used for arguments (and possibly extra padding), so unwinding has to compensate for this when "returning" from a function. This is exactly the case when step() is done. The existing handling in unw_set_reg no longer makes sense. 0 is a valid LSDA encoding and can be seen in statically linked programs. Initialize lsdaEncoding to DW_EH_PE_omit and check for that value to decide whether a value should be decoded. Demangle Dc to decltype(auto) as per the Itanium C++ ABI spec. [libcxxabi] Fix broken codesourcery.com links in comments Fix PR17221 - can't catch virtual base classes when throwing derived NULL pointers. Specifically, libc++abi would crash when you tried it. Fix PR17222 - catching derived classes from thrown null pointer. Adds tests, too [libunwind] remove stray conditional Use .p2align instead of .align Add missing alignment directives in assembly Don't redefine static_assert() Fix unwinder to build for iOS Implement demangling for user-defined operators. Update the copyright credits -- Happy new year 2014! Add a first cut at a Registers_arm class, to be used for 32bit arm EHABI unwinding. Add mangling macros for Unwind's inline assembly. Fix demangling crasher. The crasher involved nested <encoding> involving parameter packs, which exposed a logic bug causing an empty vector<string> to be accessed with back(). In addition to fixing the bug, I've inserted numerous preemptive checks for similar bugs in the hopes that if another bug is uncovered, the bug results in an invalid mangled string instead of a demangler crash. Test suite updated with string that was causing the crash. Rename UnwindRegisters*.s files to UnwindRegisters*.S, step 2 of 2 Rename UnwindRegisters*.s files to UnwindRegisters*.S, step 1 of 2 ...
2014-04-25Don't build libcxx_abi for unbundled projects.Stephen Hines
It is preinstalled from prebuilts/sdk instead. Change-Id: Ife0cec3a944fb3c4f7d77b4397decae58ff14529
2014-04-23Add Apple-specific files for libunwind.Tim Murray
Change-Id: I133910cc56fccb7f6ad094b355261890c53dace5
2014-04-16Fixes build on arm64Dan Albert
Change-Id: I2116e33691e3f4e99cccc6819f7b85783069c790
2014-04-16Disables building of libcxxabi on mips targetsDan Albert
Change-Id: I435898547be3aa5e20c455c373c17ad10bfdfe10
2014-04-15Merge "Gets libcxxabi building for Android"Dan Albert
2014-04-15Gets libcxxabi building for AndroidDan Albert
Fixes a few configuration issues in libcxxabi and adds an Android makefile. Change-Id: I247372d87caabe0310bedc4540b68ab2ed1986c1
2014-04-14Revert "Gets libcxxabi building for Android"Dan Albert
This reverts commit fa2203904bdca85115bf2fcb9bd70150dffa9bbe. Change-Id: Ifbe705df19347ea11b858ec5e0a4b61bc2f922c5
2014-04-11Gets libcxxabi building for AndroidDan Albert
Fixes a few configuration issues in libcxxabi and adds an Android makefile. Change-Id: I7b55f9ff0d7025cb316695fcb6c592db9ab7dd38
2014-04-03Add module notice.Tim Murray
Change-Id: I0d8ad33f38e5ca6addbb3da01275cf0c87ed7195
2014-04-03Merge remote-tracking branch 'upstream/master' into libcxxabiTim Murray
2014-04-03Initial empty repositoryBill Yi
2014-03-25Initial empty repositoryQiwen Zhao
2014-03-20Simplify.Joerg Sonnenberger
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@204292 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-20Fix DW_CFA_GNU_args_size handling. The primary architecture using thisJoerg Sonnenberger
opcode is VAX. A function call pushes the number of arguments given onto the stack and "ret" will pop it automatically. The FDE of the caller contains the amount of stack space used for arguments (and possibly extra padding), so unwinding has to compensate for this when "returning" from a function. This is exactly the case when step() is done. The existing handling in unw_set_reg no longer makes sense. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@204290 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-110 is a valid LSDA encoding and can be seen in statically linkedJoerg Sonnenberger
programs. Initialize lsdaEncoding to DW_EH_PE_omit and check for that value to decide whether a value should be decoded. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@203626 91177308-0d34-0410-b5e6-96231b3b80d8
2014-02-17Demangle Dc to decltype(auto) as per the Itanium C++ ABI spec.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@201533 91177308-0d34-0410-b5e6-96231b3b80d8
2014-02-12[libcxxabi] Fix broken codesourcery.com links in commentsJonathan Roelofs
review: http://llvm-reviews.chandlerc.com/D2718 git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@201208 91177308-0d34-0410-b5e6-96231b3b80d8
2014-02-06Fix PR17221 - can't catch virtual base classes when throwing derived NULL ↵Marshall Clow
pointers. Specifically, libc++abi would crash when you tried it. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@200904 91177308-0d34-0410-b5e6-96231b3b80d8