about summary refs log tree commit diff
path: root/arch/i386/bits/alltypes.h.sh
Commit message (Collapse)AuthorAgeFilesLines
* use __WCHAR_TYPE__ on i386 if it is definedRich Felker2011-06-071-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.
* use compiler builtins for variadic macros when availableRich Felker2011-04-271-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..
* more types cleanupRich Felker2011-04-111-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.
* cleanup types stuff in headers, fix missing u_int*_t in sys/types.hRich Felker2011-04-111-11/+0
|
* remove obsolete and useless useconds_t typeRich Felker2011-04-011-1/+0
|
* avoid all malloc/free in timer creation/destructionRich Felker2011-03-301-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.
* some preliminaries for adding POSIX timersRich Felker2011-03-291-1/+1
|
* match dimensions so we can use all slots without invoking OOB-array-accessRich Felker2011-03-111-5/+5
|
* reorganize pthread data structures and move the definitions to alltypes.hRich Felker2011-02-171-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.
* fix some type leakage (timer_t) from x86_64 commitRich Felker2011-02-151-1/+1
|
* preparing build system to handle ports - step 1Rich Felker2011-02-151-0/+116