#
eb81c54b |
|
27-Sep-2017 |
George Kulakowski <kulakowski@google.com> |
[musl][bits] Remove some needless conditional definitions First, these are the same on all architechures we support. Second, the names don't mean much. We aren't interested in the fact that nlink_t and register_t happen to be the same, for instance. Change-Id: I74be44c27aea175b6fc47b9640e662f65bfdae63
|
#
1793969d |
|
14-Aug-2017 |
George Kulakowski <kulakowski@google.com> |
[musl][threading] Make C11 call_once the point of truth Change-Id: Iec84c31434272c613da0d01749a1510b6224ab29
|
#
df7695e7 |
|
18-Apr-2017 |
George Kulakowski <kulakowski@google.com> |
[musl] Remove some now-unused LP64 conditions on type definitions We've been 64 bit only long enough now. Change-Id: I81ed4b8129514cdb372e7cbd2d628b6ce396a6a5
|
#
57eec9c3 |
|
10-Apr-2017 |
George Kulakowski <kulakowski@google.com> |
[musl][pthreads] Remove unused process-shared pthread barrier code The process-shared parts of this have been dead for a while. This change also simplifies the logic around the _b_limit member, by not overloading a bit of it to represent the process shared-or-local state. Change-Id: I40625c30be60bca3864e707045cfd8a1e3b5a0e5
|
#
4239e953 |
|
27-Mar-2017 |
Travis Geiselbrecht <travisg@google.com> |
[arch][x86] remove kernel x86-32 code and some top level defines in user space Change-Id: Ib557acd8ca3dea4e7e8b60a29d1ced9d2343cbc8
|
#
a0c6fe52 |
|
21-Feb-2017 |
Roland McGrath <mcgrathr@google.com> |
[ulib][musl] Revamp stack allocation Allocate a separate block for the thread descriptor and TLS area. Allocate separate safe and unsafe stacks. Use the same allocation code for new threads and for the initial thread. The initial stack allocated by the process creator is now used only for dynamic linker startup and to hold the processargs data. The initial thread switches to its newly-allocated safe stack before it starts running application code. The dynamic linker is now responsible for noticing a PT_GNU_STACK program header and obeying its requested size for the initial thread's stack. Change-Id: I4b5952adadb592213fbcb2456140cf455e4f5102
|
#
15f3d684 |
|
16-Feb-2017 |
George Kulakowski <kulakowski@google.com> |
[musl] Clang format Change-Id: Ib80026c68fb9347fb070fcb1672d0d0581e98516
|
#
a2365daa |
|
15-Feb-2017 |
George Kulakowski <kulakowski@google.com> |
[musl][atomics] Use C11 atomics in public types Change-Id: Ie684384c127d881fbeccb1290adce622d368d136
|
#
ab434f7f |
|
15-Feb-2017 |
James Robinson <jamesr@google.com> |
Revert "[musl][atomics] Use C11 atomics in public types" This reverts commits f2373edae22bc921a41286318243b3985102b510 and c97bbfb0755f81841769a12a12ba5fbe86144a6b This breaks libc++ builds: FAILED: src/CMakeFiles/unwind_objects.dir/libunwind.cpp.o /b/swarm_slave/w/irzvTVgH/kitchen-workdir/buildtools/toolchain/clang+llvm-x86_64-linux/bin/clang++ -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/b/swarm_slave/w/irzvTVgH/kitchen-workdir/third_party/llvm/runtimes/libunwind/include -I/b/swarm_slave/w/irzvTVgH/kitchen-workdir/third_party/llvm/runtimes/libcxx/include -stdlib=libc++ -fvisibility-inlines-hidden -Werror=date-time -std=c++11 -fcolor-diagnostics -target x86_64-fuchsia --sysroot=/b/swarm_slave/w/irzvTVgH/kitchen-workdir/out/sysroot/x86_64-fuchsia -std=c++11 -g -Werror=return-type -W -Wall -Wchar-subscripts -Wconversion -Wmismatched-tags -Wmissing-braces -Wnewline-eof -Wno-unused-function -Wshadow -Wshorten-64-to-32 -Wsign-compare -Wsign-conversion -Wstrict-aliasing=2 -Wstrict-overflow=4 -Wunused-parameter -Wunused-variable -Wwrite-strings -Wundef -Wno-error -pedantic -D_DEBUG -D_LIBUNWIND_IS_NATIVE_ONLY -fPIC -fno-exceptions -funwind-tables -I/b/swarm_slave/w/irzvTVgH/kitchen-workdir/third_party/llvm/runtimes/libcxx/include -stdlib=libc++ -fvisibility-inlines-hidden -Werror=date-time -std=c++11 -fcolor-diagnostics -target x86_64-fuchsia --sysroot=/b/swarm_slave/w/irzvTVgH/kitchen-workdir/out/sysroot/x86_64-fuchsia -std=c++11 -fstrict-aliasing -fno-rtti -MD -MT src/CMakeFiles/unwind_objects.dir/libunwind.cpp.o -MF src/CMakeFiles/unwind_objects.dir/libunwind.cpp.o.d -o src/CMakeFiles/unwind_objects.dir/libunwind.cpp.o -c /b/swarm_slave/w/irzvTVgH/kitchen-workdir/third_party/llvm/runtimes/libunwind/src/libunwind.cpp In file included from /b/swarm_slave/w/irzvTVgH/kitchen-workdir/third_party/llvm/runtimes/libunwind/src/libunwind.cpp:19: In file included from /b/swarm_slave/w/irzvTVgH/kitchen-workdir/third_party/llvm/runtimes/libcxx/include/algorithm:640: In file included from /b/swarm_slave/w/irzvTVgH/kitchen-workdir/third_party/llvm/runtimes/libcxx/include/memory:643: /b/swarm_slave/w/irzvTVgH/kitchen-workdir/third_party/llvm/runtimes/libcxx/include/atomic:1713:17: error: address argument to atomic operation must be a pointer to _Atomic type ('volatile bool *' invalid) {return __c11_atomic_exchange(&__a_, true, __m);} ^ ~~~~~ /b/swarm_slave/w/irzvTVgH/kitchen-workdir/third_party/llvm/runtimes/libcxx/include/atomic:1716:17: error: address argument to atomic operation must be a pointer to _Atomic type ('bool *' invalid) {return __c11_atomic_exchange(&__a_, true, __m);} ^ ~~~~~ /b/swarm_slave/w/irzvTVgH/kitchen-workdir/third_party/llvm/runtimes/libcxx/include/atomic:1719:10: error: address argument to atomic operation must be a pointer to _Atomic type ('volatile bool *' invalid) {__c11_atomic_store(&__a_, false, __m);} ^ ~~~~~ /b/swarm_slave/w/irzvTVgH/kitchen-workdir/third_party/llvm/runtimes/libcxx/include/atomic:1722:10: error: address argument to atomic operation must be a pointer to _Atomic type ('bool *' invalid) {__c11_atomic_store(&__a_, false, __m);} Change-Id: I2fba5de2b1abc16f6e2ab3ae11f4b6ee1e70f135
|
#
f2373eda |
|
10-Feb-2017 |
George Kulakowski <kulakowski@google.com> |
[musl][atomics] Use C11 atomics in public types For now, use a shim around compare and swap. Followup patches will rewrite them directly into the C11 style, but for now minimize noise. Change-Id: Idf3626fea6318b8508d6e65f2634a71e93cf866c
|
#
c3b19e6b |
|
10-Feb-2017 |
George Kulakowski <kulakowski@google.com> |
[musl][sem] Make sem_t definition consistent with other sync primitives in libc Change-Id: Ie266f6c764397f09fd8e1d81165d8c08ba47ae67
|
#
4272cc22 |
|
26-Jan-2017 |
George Kulakowski <kulakowski@google.com> |
[musl] Remove arm32 target from libc Change-Id: I3a1fb40b6a3abe4522fd0799f1319ac2d974aefe
|
#
b3d2a1b0 |
|
18-Jan-2017 |
James Robinson <jamesr@google.com> |
[musl] Add clang thread capability("mutex") annotation to libc mtx_t type This adds the annotation __attribute__((capability("mutex"))) to the C11 standard library type mtx_t so code using clang's -Wthread-safety annotations can annotate its manipluation of mtx_t types directly. This is analogous to the annotations for libc++'s <mutex> types: https://fuchsia.googlesource.com/third_party/libcxx/+/master/include/__mutex_base and should be no-ops for code that is not using clang or not using thread-safety annotations. Even for code that is using clang and thread-safety annotations, this annotation by itself should not cause issues. Having the annotation on mtx_t allows adding other annotations to other code that wants to use mtx_t but does not impact code that uses mtx_t without annotations. libc++'s annotations are guarded by a _LIBCPP_HAS_THREAD_SAFETY_ANNOTATIONS feature guard. The annotations in this patch aren't guarded, but we could introduce a guard if decided. The main risk of incompatibility is that we write code that expects mtx_t to be annotated and then use that code with a libc lacking the annotations. This code would likely fail to compile with -Wthread-safety enabled unless the annotations referencing mtx_t were guarded. Without this annotation, mxtl's AutoLock implementation in the #defined(_KERNEL) case fails to compile. Change-Id: I16d5819818f512889a46f88876778763d96cc15d
|
#
053d037e |
|
11-Nov-2016 |
Roland McGrath <mcgrathr@google.com> |
[build] Support Clang for arm32 build Change-Id: I2fad3f8ff75d8e72f02fd838ae605bc1df503d4b
|
#
c751172f |
|
13-Oct-2016 |
George Kulakowski <kulakowski@google.com> |
[musl] Use a single proper struct definition for pthread types There is one slight change in layout here made for simplicity's sake. Upstream's pthread_barrier_t overlays the _b_count and _b_inst fields in the 32 bit case. Since this is so rarely used (in Fuchsia outside of libc I pretty much only see tsan, gdb etc. test cases), just do the simple thing. Change-Id: If8fe1502ed9d1cbfad95b6d641e69a502fb4c9fa
|
#
6a2b43d8 |
|
13-Oct-2016 |
George Kulakowski <kulakowski@google.com> |
[musl] Share the definitions of pthread types (per LP64 or not) in alltypes.h Change-Id: I91fb2060699b0d060d570ebe4459d973ce46300b
|
#
c0598112 |
|
13-Oct-2016 |
George Kulakowski <kulakowski@google.com> |
[musl] Share definitions of float_t and double_t in alltypes.h Change-Id: I8427469f2735741160974cc3cb1ebb58f261a036
|
#
5e268aea |
|
13-Oct-2016 |
George Kulakowski <kulakowski@google.com> |
[musl] Share the definition of ssize_t in alltypes.h Change-Id: I6b9db44d374e3c11490a71d98c3250cc0d19d4a9
|
#
8dab2589 |
|
13-Oct-2016 |
George Kulakowski <kulakowski@google.com> |
[musl] Move more common types into alltypes.h Note that, due to the way upstream generates these headers from a script, there are duplicate definitions of nlink_t and blksize_t for aarch64, and this commit folds that away. Change-Id: I1b6dbfd97e24830b4e381083d614123cb2a38fc2
|
#
f0fdb99b |
|
13-Oct-2016 |
George Kulakowski <kulakowski@google.com> |
[musl] Clang format musl Change-Id: I36438df9b3065229e365b70a4b9219de869e3acd
|
#
3836cb94 |
|
12-Oct-2016 |
George Kulakowski <kulakowski@google.com> |
[musl] Pull some more shared types into common alltypes.h Change-Id: I95a1c9a96f3e23f2b9f7fffd1caf9565bd5d5767
|
#
584dd1c9 |
|
10-Oct-2016 |
George Kulakowski <kulakowski@google.com> |
[musl] Fix userspace int types and format specifiers This also fixes two bugs in the kernel libc equivalents. In addition, remove a number of unneeded inclusions of <sys/types.h> throughout system, and fix some format specifiers. Also add a test of these things (which found the bugs mentioned above). Change-Id: I4051394276340b00673510494eb9b8942dc55561
|
#
7be1da13 |
|
17-Jun-2016 |
George Kulakowski <kulakowski@google.com> |
[musl] Move bits headers into public include This makes the internal include paths much nicer (no .. paths). Change-Id: Ida7a36c014a9408817010bdd1bf6285755143f25
|
#
53b9e1c8 |
|
15-Jun-2016 |
The Fuchsia Authors <authors@fuchsia.local> |
[magenta] Initial commit
|