- 03 11月, 2019 3 次提交
-
-
由 Rich Felker 提交于
now that all 32-bit archs have 64-bit time types, the values for the time-related socket option macros can be treated as universal for 32-bit archs. the sys/socket.h mechanism for this predates arch/generic and is instead in the top-level header. x32, which does not use the new time64 values of the macros, already has its own overrides, so this commit does not affect it.
-
由 Rich Felker 提交于
this commit preserves ABI fully for existing interface boundaries between libc and libc consumers (applications or libraries), by retaining existing symbol names for the legacy 32-bit interfaces and redirecting sources compiled against the new headers to alternate symbol names. this does not necessarily, however, preserve the pairwise ABI of libc consumers with one another; where they use time_t-derived types in their interfaces with one another, it may be necessary to synchronize updates with each other. the intent is that ABI resulting from this commit already be stable and permanent, but it will not be officially so until a release is made. changes to some header-defined types that do not play any role in the ABI between libc and its consumers may still be subject to change. mechanically, the changes made by this commit for each 32-bit arch are as follows: - _REDIR_TIME64 is defined to activate the symbol redirections in public headers - COMPAT_SRC_DIRS is defined in arch.mak to activate build of ABI compat shims to serve as definitions for the original symbol names - time_t and suseconds_t definitions are changed to long long (64-bit) - IPC_STAT definition is changed to add the IPC_TIME64 bit (0x100), triggering conversion of semid_ds, shmid_ds, and msqid_ds split low/high time bits into new time_t members - structs semid_ds, shmid_ds, msqid_ds, and stat are modified to add new 64-bit time_t/timespec members at the end, maintaining existing layout of other members. - socket options (SO_*) and ioctl (sockios) command macros are redefined to use the kernel's "_NEW" values. in addition, on archs where vdso clock_gettime is used, the VDSO_CGT_SYM macro definition in syscall_arch.h is changed to use a new time64 vdso function if available, and a new VDSO_CGT32_SYM macro is added for use as fallback on kernels lacking time64.
-
由 Rich Felker 提交于
these structures can now be defined generically in terms of endianness and long size. previously, the 32-bit archs all shared a common definition from the generic bits header, and each 64-bit arch had to repeat the 64-bit version, with endian conditionals if the arch had variants of each endianness. I would prefer getting rid of the preprocessor conditionals for padding and instead using unnamed bitfield members, like commit 9b2921be did for struct timespec. however, at present sendmsg, recvmsg, and recvmmsg need access to the padding members by name to zero them. this could perhaps be cleaned up in the future.
-
- 27 6月, 2018 1 次提交
-
-
由 Rich Felker 提交于
adapted from patch by Matthias Schiffer.
-
- 18 4月, 2016 1 次提交
-
-
由 Rich Felker 提交于
based on patch submitted by Jaydeep Patil, with minor changes.
-
- 22 7月, 2015 2 次提交
-
-
由 Roman Yeryomin 提交于
....to be somewhat consistent and easily comparable with asm/socket.h Signed-off-by: NRoman Yeryomin <roman@ubnt.com>
-
由 Roman Yeryomin 提交于
Signed-off-by: NRoman Yeryomin <roman@ubnt.com>
-
- 01 5月, 2014 1 次提交
-
-
由 Rich Felker 提交于
-
- 02 4月, 2013 1 次提交
-
-
由 Szabolcs Nagy 提交于
SO_REUSEPORT implementation was merged in the linux kernel commit c617f398edd4db2b8567a28e899a88f8f574798d 2013-01-23
-
- 16 11月, 2012 1 次提交
-
-
由 Rich Felker 提交于
although a number is reserved for it, this option is not implemented on Linux and does not work. defining it causes some applications to use it, and subsequently break due to its failure.
-
- 06 11月, 2012 1 次提交
-
-
由 Rich Felker 提交于
-
- 06 8月, 2012 1 次提交
-
-
由 Rich Felker 提交于
why does mips have to be gratuitously incompatible in every possible imaginable way?
-
- 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.
-
- 11 7月, 2012 1 次提交
-
-
由 Rich Felker 提交于
basically, this version of the code was obtained by starting with rdp's work from his ellcc source tree, adapting it to musl's build system and coding style, auditing the bits headers for discrepencies with kernel definitions or glibc/LSB ABI or large file issues, fixing up incompatibility with the old binutils from aboriginal linux, and adding some new special cases to deal with the oddities of sigaction and pipe syscall interfaces on mips. at present, minimal test programs work, but some interfaces are broken or missing. threaded programs probably will not link.
-
- 19 9月, 2011 2 次提交
-
-
由 Rich Felker 提交于
this port assumes eabi calling conventions, eabi linux syscall convention, and presence of the kernel helpers at 0xffff0f?0 needed for threads support. otherwise it makes very few assumptions, and the code should work even on armv4 without thumb support, as well as on systems with thumb interworking. the bits headers declare this a little endian system, but as far as i can tell the code should work equally well on big endian. some small details are probably broken; so far, testing has been limited to qemu/aboriginal linux.
-
由 Rich Felker 提交于
-
- 22 7月, 2011 1 次提交
-
-
由 Rich Felker 提交于
some program was undefining AF_NETLINK and thereby breaking AF_ROUTE...
-
- 20 2月, 2011 1 次提交
-
-
由 Rich Felker 提交于
after re-reading 2.2.2 of POSIX 2008, all of these are in the correct reserved namespaces and do not need protection.
-
- 15 2月, 2011 3 次提交
-
-
由 Rich Felker 提交于
-
由 Rich Felker 提交于
based on patch by nik
-
由 Rich Felker 提交于
thanks to Peter Mazinger (psm) for pointing many of these issues out and submitting a patch on which this commit is loosely based
-
- 12 2月, 2011 1 次提交
-
-
由 Rich Felker 提交于
-