summaryrefslogtreecommitdiff
path: root/arch/i386/bits/alltypes.h.sh
AgeCommit message (Collapse)AuthorLines
2011-06-07use __WCHAR_TYPE__ on i386 if it is definedRich Felker-0/+4
unfortunately traditional i386 practice was to use "long" rather than "int" for wchar_t, despite the latter being much more natural and logical. we followed this practice, but it seems some compilers (clang and maybe certain gcc builds or others too..?) have switched to using int, resulting in spurious pointer type mismatches when L"..." wide strings are used. the best solution I could find is to use the compiler's definition of wchar_t if it exists, and otherwise fallback to the traditional definition. there's no point in duplicating this approach on 64-bit archs, as their only 32-bit type is int.
2011-04-27use compiler builtins for variadic macros when availableRich Felker-0/+5
this slightly cuts down on the degree musl "fights with" gcc, but more importantly, it fixes a critical bug when gcc inlines a variadic function and optimizes out the variadic arguments due to noticing that they were "not used" (by __builtin_va_arg). we leave the old code in place if __GNUC__ >= 3 is false; it seems like it might be necessary at least for tinycc support and perhaps if anyone ever gets around to fixing gcc 2.95.3 enough to make it work..
2011-04-11more types cleanupRich Felker-3/+0
the basic idea is that the only things in alltypes.h should be types that either vary from system to system (in practice, not just in theoretical la-la land - this is the implementation so we choose what constraints we want to impose on ports) or which are needed by multiple system headers.
2011-04-11cleanup types stuff in headers, fix missing u_int*_t in sys/types.hRich Felker-11/+0
2011-04-01remove obsolete and useless useconds_t typeRich Felker-1/+0
2011-03-30avoid all malloc/free in timer creation/destructionRich Felker-1/+1
instead of allocating a userspace structure for signal-based timers, simply use the kernel timer id. we use the fact that thread pointers will always be zero in the low bit (actually more) to encode integer timerid values as pointers. also, this change ensures that the timer_destroy syscall has completed before the library timer_destroy function returns, in case it matters.
2011-03-29some preliminaries for adding POSIX timersRich Felker-1/+1
2011-03-11match dimensions so we can use all slots without invoking OOB-array-accessRich Felker-5/+5
2011-02-17reorganize pthread data structures and move the definitions to alltypes.hRich Felker-0/+15
this allows sys/types.h to provide the pthread types, as required by POSIX. this design also facilitates forcing ABI-compatible sizes in the arch-specific alltypes.h, while eliminating the need for developers changing the internals of the pthread types to poke around with arch-specific headers they may not be able to test.
2011-02-15fix some type leakage (timer_t) from x86_64 commitRich Felker-1/+1
2011-02-15preparing build system to handle ports - step 1Rich Felker-0/+116