- 02 4月, 2013 2 次提交
-
-
由 Szabolcs Nagy 提交于
and remove syscall todos from microblaze
- 24 3月, 2013 1 次提交
-
-
由 Rich Felker 提交于
reportedly some programs (e.g. showkeys in the kbd package) use it.
-
- 05 3月, 2013 1 次提交
-
-
由 Rich Felker 提交于
wctype_t was incorrectly "int" rather than "long" on x86_64. not only is this an ABI incompatibility; it's also a major design flaw if we ever wanted wctype_t to be implemented as a pointer, which would be necessary if locales support custom character classes, since int is too small to store a converted pointer. this commit fixes wctype_t to be unsigned long on all archs, matching the LSB ABI; this change does not matter for C code, but for C++ it affects mangling. the same issue applied to wctrans_t. glibc/LSB defines this type as const __int32_t *, but since no such definition is visible, I've just expanded the definition, int, everywhere. it would be nice if these types (which don't vary by arch) could be in wctype.h, but the OB XSI requirement in POSIX that wchar.h expose some types and functions from wctype.h precludes doing so. glibc works around this with some hideous hacks, but trying to duplicate that would go against the intent of musl's headers.
-
- 13 1月, 2013 4 次提交
-
-
由 Szabolcs Nagy 提交于
-
由 Szabolcs Nagy 提交于
mips and powerpc already had this termios flag defined
-
由 Szabolcs Nagy 提交于
-
由 Szabolcs Nagy 提交于
it was already defined for mips, but was missing from other archs
-
- 06 12月, 2012 3 次提交
- 04 12月, 2012 1 次提交
-
-
由 Rich Felker 提交于
-
- 26 11月, 2012 2 次提交
-
-
由 Rich Felker 提交于
-
由 Rich Felker 提交于
these structures are purely for use by trace/debug tools and tools working with core files. the definition of fpregset_t, which was previously here, has been removed because it was wrong; fpregset_t should be the type used in mcontext_t, not the type used in ptrace/core stuff.
-
- 24 11月, 2012 3 次提交
-
-
由 Rich Felker 提交于
aside from microblaze, these should be roughly correct for all archs now. some misc junk macros and typedefs are missing, which should probably be added for max compatibility with trace/debug tools.
-
由 Rich Felker 提交于
with these changes, the members/types of mcontext_t and related stuff should closely match the glibc definitions. unlike glibc, however, the definitions here avoid using typedefs as much as possible and work directly with the underlying types, to minimize namespace pollution from signal.h in the default (_BSD_SOURCE) profile. this is a first step in improving compatibility with applications which poke at context/register information -- mainly debuggers, trace utilities, etc. additional definitions in ucontext.h and other headers may be needed later. if feature test macros are used to request a conforming namespace, mcontext_t is replaced with an opaque structure of the equivalent size and alignment; conforming programs cannot examine its contents anyway.
-
由 Rich Felker 提交于
-
- 22 11月, 2012 1 次提交
-
-
由 Rich Felker 提交于
unlike the previous definition, NSIG/_NSIG is supposed to be one more than the highest signal number. adding this will allow simplifying libc-internal code that makes signal-related syscalls, which can be done as a later step. some apps might use it too; while this usage is questionable, it's at least not insane.
-
- 19 11月, 2012 1 次提交
-
-
由 Rich Felker 提交于
apparently some other archs have sys/io.h and should not break just because they don't have the x86 port io functions. provide a blank bits/io.h everywhere for now.
-
- 18 11月, 2012 1 次提交
-
-
由 rofl0r 提交于
put some macros that do not differ between architectures in the main header and remove from bits. restructure mips header so it has the same structure as the others.
-
- 19 10月, 2012 1 次提交
-
-
由 Rich Felker 提交于
these macros are supported by more compilers
-
- 22 9月, 2012 1 次提交
-
-
由 Rich Felker 提交于
not tested on mips and arm; they may still be broken. x86_64 should be ok now.
-
- 16 9月, 2012 1 次提交
-
-
由 Rich Felker 提交于
the linux O_PATH mode provides the necessary semantics for both the O_SEARCH and O_EXEC modes defined and required by POSIX 2008.
-
- 14 9月, 2012 1 次提交
-
-
由 Rich Felker 提交于
I'm not 100% sure that Linux's O_PATH meets the POSIX requirements for O_SEARCH, but it seems very close if not perfect. and old kernels ignore it, so O_SEARCH will still work as desired as long as the caller has read permissions to the directory.
-
- 09 9月, 2012 1 次提交
-
-
由 Rich Felker 提交于
now public syscall.h only exposes __NR_* and SYS_* constants and the variadic syscall function. no macros or inline functions, no __syscall_ret or other internal details, no 16-/32-bit legacy syscall renaming, etc. this logic has all been moved to src/internal/syscall.h with the arch-specific parts in arch/$(ARCH)/syscall_arch.h, and the amount of arch-specific stuff has been reduced to a minimum. changes still need to be reviewed/double-checked. minimal testing on i386 and mips has already been performed.
-
- 03 9月, 2012 1 次提交
-
-
由 Rich Felker 提交于
while musl itself requires a c99 compiler, some applications insist on being compiled with c89 compilers, and use of "inline" in the headers was breaking them. much of this had been avoided already by just skipping the inline keyword in pre-c99 compilers or modes, but this new unified solution is cleaner and may/should result in better code generation in the default gcc configuration.
-
- 11 8月, 2012 1 次提交
-
-
由 Rich Felker 提交于
this is needed to match the underlying "ABI" standards. it's not really an ABI issue since the binary representations are the same, but having the wrong type can lead to errors when the type arising from a difference-of-pointers expression does not match the defined type of ptrdiff_t. most of the problems affect C++, not C.
-
- 10 8月, 2012 1 次提交
-
-
由 Rich Felker 提交于
yet another gratuitous mips incompatibility...
-
- 13 7月, 2012 1 次提交
-
-
由 Rich Felker 提交于
the kernel wrongly expects the cmsg length field to be size_t instead of socklen_t. in order to work around the issue, we have to impose a length limit and copy to a local buffer. the length limit should be more than sufficient for any real-world use; these headers are only used for passing file descriptors and permissions between processes over unix sockets.
-
- 09 7月, 2012 1 次提交
-
-
由 Rich Felker 提交于
no need to pass zero for unused arguments; just omit them.
-
- 04 7月, 2012 1 次提交
-
-
由 Rich Felker 提交于
on arm, the location of the saved-signal-mask flag and mask were off by one between sigsetjmp and siglongjmp, causing incorrect behavior restoring the signal mask. this is because the siglongjmp code assumed an extra slot was in the non-sig jmp_buf for the flag, but arm did not have this. now, the extra slot is removed for all archs since it was useless. also, arm eabi requires jmp_buf to have 8-byte alignment. we achieve that using long long as the type rather than with non-portable gcc attribute tags.
-
- 24 6月, 2012 1 次提交
-
-
由 Rich Felker 提交于
patch submitted by Kristian L. <email@thexception.net>
-
- 21 6月, 2012 1 次提交
-
-
由 Rich Felker 提交于
on old kernels, there's no way to detect errors; we must assume negative syscall return values are pgrp ids. but if the F_GETOWN_EX fcntl works, we can get a reliable answer.
-
- 25 5月, 2012 1 次提交
-
-
由 Rich Felker 提交于
-
- 23 5月, 2012 1 次提交
-
-
由 Rich Felker 提交于
this is actually rather ugly, and would get even uglier if we ever want to support further feature test macros. at some point i may factor the bits headers into separate files for C base, POSIX base, and nonstandard extensions (the only distinctions that seem to matter now) and then the logic for which to include can go in the main header rather than being duplicated for each arch. the downside of this is that it would result in more files having to be opened during compilation, so as long as the ugliness does not grow, i'm inclined to leave it alone for now.
-
- 25 4月, 2012 1 次提交
-
-
由 Rich Felker 提交于
otherwise this BADLY breaks if -funsigned-char is passed to gcc
-
- 16 4月, 2012 2 次提交
-
-
由 Rich Felker 提交于
fcntl values 1024 and up are universal, arch-independent. later I'll add some of the other linux-specific ones for notify, leases, pipe size, etc. here too.
-
由 Rich Felker 提交于
F_* is in the reserved namespace so no feature test is needed
-
- 22 3月, 2012 1 次提交
-
-
由 Rich Felker 提交于
DECIMAL_DIG is not the same as LDBL_DIG type_DIG is the maximimum number of decimal digits that can survive a round trip from decimal to type and back to decimal. DECIMAL_DIG is the minimum number of decimal digits required in order for any floating point type to survive the round trip to decimal and back, and it is generally larger than LDBL_DIG. since the exact formula is non-trivial, and defining it larger than necessary may be legal but wasteful, just define the right value in bits/float.h.
-
- 16 2月, 2012 1 次提交
-
-
由 Rich Felker 提交于
-