History log of /fuchsia/zircon/third_party/ulib/musl/include/bits/alltypes.h
Revision Date Author Comments
# 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