summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-06-09cxa_guard: avoid sys/syscall.h and SYS_gettid am: 45ad00158c am: f73a312a36android-t-preview-2android-t-preview-1android-t-beta-3android-s-v2-preview-2android-s-v2-preview-1android-s-v2-beta-3android-s-v2-beta-2android-s-qpr3-beta-1android-t-preview-1android-s-v2-preview-1android-s-v2-beta-3android-s-qpr3-beta-1Ryan Prichard
Original change: https://android-review.googlesource.com/c/platform/external/libcxxabi/+/1729852 Change-Id: Ifda871b94c1f488945b415701293c3f247115027
2021-06-09Add Apache 2.0 to license_kinds am: 11d2f02ebc am: adef728daaRyan Prichard
Original change: https://android-review.googlesource.com/c/platform/external/libcxxabi/+/1727438 Change-Id: I806e10db657c5c17e53fb4d3878f5a4ac5f85b8b
2021-06-09[libcxxabi] __cxa_guard_require: test guard byte with != 0 instead of == 1 ↵Fangrui Song
am: 6f1796448f am: bda6af8573 Original change: https://android-review.googlesource.com/c/platform/external/libcxxabi/+/1727437 Change-Id: I545308a3eed105c4e198d5b522c31603589f1355
2021-06-09Fix compilation error with -DLIBCXXABI_ENABLE_THREADS=OFF am: f22e6f75eb am: ↵Michael Platings
c23177e65e Original change: https://android-review.googlesource.com/c/platform/external/libcxxabi/+/1727414 Change-Id: I289e8d8df97af77216e7f445e14282e5f9baa62f
2021-06-09Cleanup new cxa guard implementation. am: 6eae8a4e93 am: e205f7693aEric Fiselier
Original change: https://android-review.googlesource.com/c/platform/external/libcxxabi/+/1727436 Change-Id: I7146383f7de0e66fb03ebc0aca61a96ad4bc94b2
2021-06-09Rewrite cxa guard implementation. am: 867c4b05d5 am: 4b664e515aEric Fiselier
Original change: https://android-review.googlesource.com/c/platform/external/libcxxabi/+/1727435 Change-Id: Ib2be96dec0547d4b9e58a14892c5fe12aae2fffc
2021-06-09[libc++abi] Create a macro for the 32 bit guard setting on ARM platforms am: ↵Louis Dionne
c1d35c578d am: ad17909428 Original change: https://android-review.googlesource.com/c/platform/external/libcxxabi/+/1727434 Change-Id: Id7888f12c783172757068fb092f44ef893658bc7
2021-06-09Fix incorrect change during refactoring. am: 50fb795a0e am: 97fbb69de4Eric Fiselier
Original change: https://android-review.googlesource.com/c/platform/external/libcxxabi/+/1727433 Change-Id: I7564b6a29998b553f4b92fc5d9109a9b9306bd17
2021-06-09Further refactor cxa_guard.cpp am: 9cbec86496 am: 14ef6a7e0eEric Fiselier
Original change: https://android-review.googlesource.com/c/platform/external/libcxxabi/+/1727432 Change-Id: I07eaec7bdc01cd33bfff42a1a3740b98ecfc0166
2021-06-09Create RAII lock guard for global initialization lock. am: f0dede204c am: ↵Eric Fiselier
37f4e675ec Original change: https://android-review.googlesource.com/c/platform/external/libcxxabi/+/1727431 Change-Id: Id4a536d11ffc640f0dc5f0cba76f56db3593721f
2021-06-09Always use is_initialized and set_initialized in cxa_guard.cpp am: ↵Eric Fiselier
882e889fa0 am: 80a101127b Original change: https://android-review.googlesource.com/c/platform/external/libcxxabi/+/1727430 Change-Id: I789fdd3037ae6615b91dc1b9ffe26843fe98ddb1
2021-06-09cxa_guard: avoid sys/syscall.h and SYS_gettid am: 45ad00158candroid-s-beta-5android-s-beta-4android-s-beta-3android-s-beta-5android-s-beta-4Ryan Prichard
Original change: https://android-review.googlesource.com/c/platform/external/libcxxabi/+/1729852 Change-Id: I92ec45841ef5323667ac2cb8d1399887f65d57e4
2021-06-09Add Apache 2.0 to license_kinds am: 11d2f02ebcRyan Prichard
Original change: https://android-review.googlesource.com/c/platform/external/libcxxabi/+/1727438 Change-Id: Ia602dc3ef98bc10318aadd4f075033840c67417b
2021-06-09[libcxxabi] __cxa_guard_require: test guard byte with != 0 instead of == 1 ↵Fangrui Song
am: 6f1796448f Original change: https://android-review.googlesource.com/c/platform/external/libcxxabi/+/1727437 Change-Id: I3fb89a60b183c94b1831962041f62d9ef66a4e62
2021-06-09Fix compilation error with -DLIBCXXABI_ENABLE_THREADS=OFF am: f22e6f75ebMichael Platings
Original change: https://android-review.googlesource.com/c/platform/external/libcxxabi/+/1727414 Change-Id: Icf807c38c74d3ac4019b9bbc40511f4c00e794b2
2021-06-09Cleanup new cxa guard implementation. am: 6eae8a4e93Eric Fiselier
Original change: https://android-review.googlesource.com/c/platform/external/libcxxabi/+/1727436 Change-Id: I7a98d64d219181efd2c258d43c358f8c7c42ee32
2021-06-09Rewrite cxa guard implementation. am: 867c4b05d5Eric Fiselier
Original change: https://android-review.googlesource.com/c/platform/external/libcxxabi/+/1727435 Change-Id: I02a33247a3796779a3e07c45a584e70df4787968
2021-06-09[libc++abi] Create a macro for the 32 bit guard setting on ARM platforms am: ↵Louis Dionne
c1d35c578d Original change: https://android-review.googlesource.com/c/platform/external/libcxxabi/+/1727434 Change-Id: I2d9915c8bc60c15d32985fc6f640fe29eb27f5f9
2021-06-09Fix incorrect change during refactoring. am: 50fb795a0eEric Fiselier
Original change: https://android-review.googlesource.com/c/platform/external/libcxxabi/+/1727433 Change-Id: Idd2da8707b436f40f628b5a06329a4897aa46af7
2021-06-09Further refactor cxa_guard.cpp am: 9cbec86496Eric Fiselier
Original change: https://android-review.googlesource.com/c/platform/external/libcxxabi/+/1727432 Change-Id: I12bb6dc19676b35f6d04b10b072ccad16a683329
2021-06-09Create RAII lock guard for global initialization lock. am: f0dede204cEric Fiselier
Original change: https://android-review.googlesource.com/c/platform/external/libcxxabi/+/1727431 Change-Id: I326c8dd964fcd46878cacaeae12de0354b8fda19
2021-06-09Always use is_initialized and set_initialized in cxa_guard.cpp am: 882e889fa0Eric Fiselier
Original change: https://android-review.googlesource.com/c/platform/external/libcxxabi/+/1727430 Change-Id: Ic4ad79aff759e5acc92f4e6e2087053fff7aa3d6
2021-06-07cxa_guard: avoid sys/syscall.h and SYS_gettidRyan Prichard
Avoid including sys/syscall.h on Android Trusty, because sys/syscall.h tries to include bits/syscall.h, which doesn't exist. Detect this situation using _LIBCXXABI_HAS_NO_THREADS, which Trust seems to define, and if there are no threads, then SYS_gettid isn't needed. Disable the SYS_gettid call for Bionic, because some Android processes have a seccomp filter blocking gettid. Bug: http://b/189279320 Test: treehugger Change-Id: I542d649d11f10f07ce702521f9d18736e67602c1
2021-06-03Add Apache 2.0 to license_kindsRyan Prichard
The __cxa_guard rewrite added some files with the new LLVM Apache license. Bug: http://b/189279320 Test: treehugger Change-Id: Ibe1d5b2a367bb859eb41336050f6a8d85ac14a5e
2021-06-03[libcxxabi] __cxa_guard_require: test guard byte with != 0 instead of == 1Fangrui Song
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@369109 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit ab4302de162a1de64cdd8d51351858834cc926be) Bug: http://b/189279320 Test: treehugger Change-Id: Ia47ad2f2f95d343adb30eb46c0043c76f5885195
2021-06-03Fix compilation error with -DLIBCXXABI_ENABLE_THREADS=OFFMichael Platings
The error is: libcxxabi/src/cxa_guard_impl.h: In instantiation of ‘__cxxabiv1::{anonymous}::LibcppMutex __cxxabiv1::{anonymous}::GlobalStatic<__cxxabiv1::{anonymous}::LibcppMutex>::instance’: libcxxabi/src/cxa_guard_impl.h:529:62: required from here libcxxabi/src/cxa_guard_impl.h:510:23: error: ‘__cxxabiv1::{anonymous}::LibcppMutex __cxxabiv1::{anonymous}::GlobalStatic<__cxxabiv1::{anonymous}::LibcppMutex>::instance’ has incomplete type _LIBCPP_SAFE_STATIC T GlobalStatic<T>::instance = {}; ^ git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@359175 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit f98261d3290e2b05e7714ba125d9315d87e9d62e) Bug: http://b/189279320 Test: treehugger Change-Id: Idf967a477590de8baf88541aff3aff08ff15e187
2021-06-03Cleanup new cxa guard implementation.Eric Fiselier
* Add TSAN annotations around the futex syscalls. * Test that the futex syscall wrappers actually work. * Fix bad names. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@359069 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit 11fe87d836527d01c0df6f8ad25d575c9baba7cc) Bug: http://b/189279320 Test: treehugger Change-Id: I73ce984b425d40addd9b951370ec7d36fccfe010
2021-06-03Rewrite cxa guard implementation.Eric Fiselier
This patch does three main things: (1) It re-writes the cxa guard implementation to make it testable. (2) Adds support for recursive init detection on non-apple platforms. (3) It adds a futex based implementation. The futex based implementation locks and notifies on a per-object basis, unlike the current implementation which uses a global lock for all objects. Once this patch settles I'll turn it on by default when supported. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@359060 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit 57e82af58dd4515ab4885f32273268f34f757101) Bug: http://b/189279320 Test: treehugger Change-Id: Id518751bb508319b8491929092ddac1d0ccb73ad
2021-06-03[libc++abi] Create a macro for the 32 bit guard setting on ARM platformsLouis Dionne
Summary: The goal is to use a descriptive name for this feature, instead of just using __arm__. Reviewers: EricWF Subscribers: javed.absar, kristof.beyls, christof, jkorous, dexonsmith, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D60520 git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@358106 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit 1dc2c61c2a77bf864c7c627af72f1130a3e318ec) Bug: http://b/189279320 Test: treehugger Change-Id: I0360c4a2cd4f9f6e90dd176c4fa37fdfb817832b
2021-06-03Fix incorrect change during refactoring.Eric Fiselier
cxa_guard_abort should still broadcast on exit. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@357956 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit cb31f3d9f6ff64c044921996d2bb2efc4c028765) Bug: http://b/189279320 Test: treehugger Change-Id: Ie916355d58cb03da1f0d006b3da2a284f93becf3
2021-06-03Further refactor cxa_guard.cppEric Fiselier
This patch is a part of a series of patches to cleanup our implementation of __cxa_acquire et al. No functionality change was intended. This patch does two primary things. It introduces the GuardObject class to abstract the reading and writing to the guard object. In future, it will be used to ensure atomic accesses are used when needed. It also introduces the GuardValue class used to represent values of the guard object. It is an abstraction to access and write to the various different bits of a guard. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@357804 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit 45dccfe519d6ff73a41212f4f673ebafb196d688) Bug: http://b/189279320 Test: treehugger Change-Id: Ida958365f627587e353ab74dd0c8d74c8f36deaf
2021-06-03Create RAII lock guard for global initialization lock.Eric Fiselier
This patch is a part of a series of cleanups to cxa_guard.cpp. It should introduce no functionality change. This patch refactors the use of the global mutex and condvar into a RAII lock guard class. This improves correctness (since unlocks can't be forgotten). It also allows the unification of the non-threading and threading implementations. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@357669 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit 43cb674684655c8ca907f814e90c65b3ea5b9106) Bug: http://b/189279320 Test: treehugger Change-Id: Ied307fc69e1ba563e5cb76e454084f9c5827e2d3
2021-06-03Always use is_initialized and set_initialized in cxa_guard.cppEric Fiselier
This patch is part of a series of cleanups to cxa_guard.cpp. It should have no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@357668 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit 40b41ca3d8fb69f5bec2ce65f0cb7490c3b048a6) Bug: http://b/189279320 Test: treehugger Change-Id: I7b0d0db251a3ac960349321daca3fbc97f673b5b
2021-04-05libc++abi: use LLVM unwinder on all archs am: 64b9839122 am: a07a6e34d0 am: ↵android-12.1.0_r9android-12.1.0_r8android-12.1.0_r7android-12.1.0_r26android-12.1.0_r25android-12.1.0_r24android-12.1.0_r23android-12.1.0_r22android-12.1.0_r21android-12.1.0_r20android-12.1.0_r19android-12.1.0_r18android-12.1.0_r17android-12.1.0_r16android-12.1.0_r15android-12.1.0_r14android-12.1.0_r13android-12.1.0_r12android-12.1.0_r11android-12.1.0_r10android-12.0.0_r32android-12.0.0_r29android-12.0.0_r28android-12.0.0_r27android-12.0.0_r26android-12.0.0_r21android-12.0.0_r20android-12.0.0_r19android-12.0.0_r18android-12.0.0_r16android12L-devandroid12L-d2-s8-releaseandroid12L-d2-s7-releaseandroid12L-d2-s6-releaseandroid12L-d2-s5-releaseandroid12L-d2-s4-releaseandroid12L-d2-s3-releaseandroid12L-d2-s2-releaseandroid12L-d2-s1-releaseandroid12L-d2-releaseandroid12-qpr3-s7-releaseandroid12-qpr3-s6-releaseandroid12-qpr3-s5-releaseandroid12-qpr3-s4-releaseandroid12-qpr3-s3-releaseandroid12-qpr3-s2-releaseandroid12-qpr3-s1-releaseandroid12-qpr3-releaseandroid12-qpr1-releaseandroid12-qpr1-d-s3-releaseandroid12-qpr1-d-s2-releaseandroid12-qpr1-d-s1-releaseandroid12-qpr1-d-releaseandroid12-devRyan Prichard
6cdf71d880 Original change: https://android-review.googlesource.com/c/platform/external/libcxxabi/+/1662264 Change-Id: I75b074a81467d10def21a6831e6c5b326ee7b2cc
2021-04-05libc++abi: use LLVM unwinder on all archs am: 64b9839122 am: a07a6e34d0Ryan Prichard
Original change: https://android-review.googlesource.com/c/platform/external/libcxxabi/+/1662264 Change-Id: I7b21719bcdcef25464966f6cdc3d90525d2d6d9f
2021-04-05libc++abi: use LLVM unwinder on all archs am: 64b9839122Ryan Prichard
Original change: https://android-review.googlesource.com/c/platform/external/libcxxabi/+/1662264 Change-Id: Id657726d86fc4e0ef1c03752cfc7f6f47400ea97
2021-04-02libc++abi: use LLVM unwinder on all archsandroid-s-beta-2android-s-beta-1Ryan Prichard
Set LIBCXXABI_USE_LLVM_UNWINDER=1 now that the LLVM unwinder is used on all architectures. This macro only actually affects libc++abi on arm32. Stop including external/libunwind_llvm/include -- the unwind.h in the Clang resource directory is sufficient. Bug: http://b/153025717 Test: treehugger Change-Id: I067b68f999fb6d50493413365a7b90aabf310b72
2021-02-20[automerger skipped] Mark ab/7061308 as merged in stage. am: 1c04800463 -s ↵Xin Li
ours am: 7aabc40fb2 -s ours am skip reason: Change-Id I5f88da2249c3f2f90860eaab01ea2c0063d4d549 with SHA-1 b075927007 is in history Original change: undetermined MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: Iafa1e8aba5c99e93cf3e63a97947cb919214e3e1
2021-02-20[automerger skipped] Mark ab/7061308 as merged in stage. am: 1c04800463 -s oursXin Li
am skip reason: Change-Id I5f88da2249c3f2f90860eaab01ea2c0063d4d549 with SHA-1 b075927007 is in history Original change: undetermined MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I610a93ad46969a00cccbad2b0f890224ddb7ddc2
2021-02-20Mark ab/7061308 as merged in stage.Xin Li
Bug: 180401296 Merged-In: I5f88da2249c3f2f90860eaab01ea2c0063d4d549 Change-Id: Ida8476190c62545517b5046edcff2e01a4dd36d5
2021-02-16[LSC] Add LOCAL_LICENSE_KINDS to external/libcxxabi am: 98c858f4b1 am: ↵Bob Badour
7f7b8f5e1b am: 666b62507a Original change: https://android-review.googlesource.com/c/platform/external/libcxxabi/+/1588902 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: Ic971b7b2bbc58d85e54a0d33a497239ee282f207
2021-02-16[LSC] Add LOCAL_LICENSE_KINDS to external/libcxxabi am: 98c858f4b1 am: ↵Bob Badour
7f7b8f5e1b Original change: https://android-review.googlesource.com/c/platform/external/libcxxabi/+/1588902 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I11ad4e599e1cd2bce71e74c6d4357706b97feeb8
2021-02-16[LSC] Add LOCAL_LICENSE_KINDS to external/libcxxabi am: 98c858f4b1Bob Badour
Original change: https://android-review.googlesource.com/c/platform/external/libcxxabi/+/1588902 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I82e8e34b8bbc99cba26593ce51594526edf28ca7
2021-02-12[LSC] Add LOCAL_LICENSE_KINDS to external/libcxxabiandroid-s-preview-1Bob Badour
Added SPDX-license-identifier-BSD SPDX-license-identifier-MIT SPDX-license-identifier-NCSA to: Android.bp Bug: 68860345 Bug: 151177513 Bug: 151953481 Test: m all Exempt-From-Owner-Approval: janitorial work Change-Id: Ie8569e4ca418ec2b58c7063835d6a898cb02c462
2020-11-24Mark ab/6881855 as merged am: 4b3634b5f8 am: b075927007Xin Li
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/libcxxabi/+/13109960 Change-Id: Id2eba45d0ef12572e3360bcba3d784659112a146
2020-11-24Mark ab/6881855 as merged am: 4b3634b5f8Xin Li
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/libcxxabi/+/13109960 Change-Id: I5f88da2249c3f2f90860eaab01ea2c0063d4d549
2020-11-23Mark ab/6881855 as mergedXin Li
Bug: 172690556 Change-Id: Ibdbe4c4de2049a9c6d1d7974e6f8e032c4505f2c
2020-11-13Add "product_available" to product available modules am: f4aa217fec am: ↵Justin Yun
09aa8c08be am: 3e285cbd9f am: 0dc4bfb5da Original change: https://android-review.googlesource.com/c/platform/external/libcxxabi/+/1495797 Change-Id: I9536c79eb4ee4d7f9a258f0f922351a858a4e33f
2020-11-13Add "product_available" to product available modules am: f4aa217fec am: ↵Justin Yun
09aa8c08be am: 3e285cbd9f Original change: https://android-review.googlesource.com/c/platform/external/libcxxabi/+/1495797 Change-Id: I35ad90c32362e51b147de5d22d8d4bd4acb26d10
2020-11-13Add "product_available" to product available modules am: f4aa217fec am: ↵Justin Yun
09aa8c08be Original change: https://android-review.googlesource.com/c/platform/external/libcxxabi/+/1495797 Change-Id: I5c22405a4b28ee8b81c040076b0ae8b964c1df3c