musl/include/poll.h, branch master musl - an implementation of the standard library for Linux-based systems fix erroneous feature test macro check for ppoll 2024年02月09日T02:57:38+00:00 Rich Felker dalias@aerifal.cx 2024年02月08日T19:44:00+00:00 cf91e9b3937dc354b702c8ac1b6135bd818154ba commit f247462b0831cbf163e976ee9a909748c674b88b incorrectly hid ppoll in the presence of _GNU_SOURCE due to an oversight that defining _BSD_SOURCE does not implicitly define _GNU_SOURCE. at present, headers still have to explicitly check for each feature profile level; this may be changed at some point in the future via features.h, but has not been changed yet.
commit f247462b0831cbf163e976ee9a909748c674b88b incorrectly hid ppoll
in the presence of _GNU_SOURCE due to an oversight that defining
_BSD_SOURCE does not implicitly define _GNU_SOURCE. at present,
headers still have to explicitly check for each feature profile level;
this may be changed at some point in the future via features.h, but
has not been changed yet.
expose ppoll in default feature profile 2024年01月21日T22:22:50+00:00 Rich Felker dalias@aerifal.cx 2024年01月21日T22:22:50+00:00 f247462b0831cbf163e976ee9a909748c674b88b the ppoll function has been accepted as a future part of the standard as the outcome of Austin Group tracker issue 1263. at some point it should be exposed unconditionally, but for now, expose it in the default feature profile.
the ppoll function has been accepted as a future part of the standard
as the outcome of Austin Group tracker issue 1263. at some point it
should be exposed unconditionally, but for now, expose it in the
default feature profile.
add time64 symbol name redirects to public headers, under arch control 2019年10月28日T23:26:52+00:00 Rich Felker dalias@aerifal.cx 2019年07月31日T19:24:58+00:00 1febd21d3fb7b78f6fc13e48b3ff2a396a607a15 a _REDIR_TIME64 macro is introduced, which the arch's alltypes.h is expected to define, to control redirection of symbol names for interfaces that involve time_t and derived types. this ensures that object files will only be linked to libc interfaces matching the ABI whose headers they were compiled against. along with time32 compat shims, which will be introduced separately, the redirection also makes it possible for a single libc (static or shared) to be used with object files produced with either the old (32-bit time_t) headers or the new ones after 64-bit time_t switchover takes place. mixing of such object files (or shared libraries) in the same program will also be possible, but must be done with care; ABI between libc and a consumer of the libc interfaces is guaranteed to match by the the symbol name redirection, but pairwise ABI between consumers of libc that define interfaces between each other in terms of time_t is not guaranteed to match. this change adds a dependency on an additional "GNU C" feature to the public headers for existing 32-bit archs, which is generally undesirable; however, the feature is one which glibc has depended on for a long time, and thus which any viable alternative compiler is going to need to provide. 64-bit archs are not affected, nor will future 32-bit archs be, regardless of whether they are "new" on the kernel side (e.g. riscv32) or just newly-added (e.g. a new sparc or xtensa port). the same applies to newly-added ABIs for existing machine-level archs.
a _REDIR_TIME64 macro is introduced, which the arch's alltypes.h is
expected to define, to control redirection of symbol names for
interfaces that involve time_t and derived types. this ensures that
object files will only be linked to libc interfaces matching the ABI
whose headers they were compiled against.
along with time32 compat shims, which will be introduced separately,
the redirection also makes it possible for a single libc (static or
shared) to be used with object files produced with either the old
(32-bit time_t) headers or the new ones after 64-bit time_t switchover
takes place. mixing of such object files (or shared libraries) in the
same program will also be possible, but must be done with care; ABI
between libc and a consumer of the libc interfaces is guaranteed to
match by the the symbol name redirection, but pairwise ABI between
consumers of libc that define interfaces between each other in terms
of time_t is not guaranteed to match.
this change adds a dependency on an additional "GNU C" feature to the
public headers for existing 32-bit archs, which is generally
undesirable; however, the feature is one which glibc has depended on
for a long time, and thus which any viable alternative compiler is
going to need to provide. 64-bit archs are not affected, nor will
future 32-bit archs be, regardless of whether they are "new" on the
kernel side (e.g. riscv32) or just newly-added (e.g. a new sparc or
xtensa port). the same applies to newly-added ABIs for existing
machine-level archs.
make brace placement in public header struct definitions consistent 2016年07月03日T19:02:25+00:00 Rich Felker dalias@aerifal.cx 2016年07月03日T18:40:11+00:00 befa5866ee30d09c0c96e88af2eabff5911342ea placing the opening brace on the same line as the struct keyword/tag is the style I prefer and seems to be the prevailing practice in more recent additions. these changes were generated by the command: find include/ arch/*/bits -name '*.h' \ -exec sed -i '/^struct [^;{]*$/{N;s/\n/ /;}' {} + and subsequently checked by hand to ensure that the regex did not pick up any false positives.
placing the opening brace on the same line as the struct keyword/tag
is the style I prefer and seems to be the prevailing practice in more
recent additions.
these changes were generated by the command:
find include/ arch/*/bits -name '*.h' \
-exec sed -i '/^struct [^;{]*$/{N;s/\n/ /;}' {} +
and subsequently checked by hand to ensure that the regex did not pick
up any false positives.
fix preprocessor error introduced in poll.h in last commit 2015年03月04日T19:15:44+00:00 Rich Felker dalias@aerifal.cx 2015年03月04日T19:15:44+00:00 91a3bd743e91604bde83e9ce1ad3a2e2d4ff0f0f
fix POLLWRNORM and POLLWRBAND on mips 2015年03月04日T17:09:37+00:00 Trutz Behn me@trutz.be 2015年02月13日T17:10:52+00:00 f5011c62c3329f15652a60b6b2300d7e3f570977 these macros have the same distinct definition on blackfin, frv, m68k, mips, sparc and xtensa kernels. POLLMSG and POLLRDHUP additionally differ on sparc.
these macros have the same distinct definition on blackfin, frv, m68k,
mips, sparc and xtensa kernels. POLLMSG and POLLRDHUP additionally
differ on sparc.
add linux extension POLLRDHUP to poll.h 2012年12月26日T21:55:49+00:00 Rich Felker dalias@aerifal.cx 2012年12月26日T21:55:49+00:00 8442358d9dfc78261a5eab1f2cb13861c6e13207 the POLL prefix is in the reserved namespace for poll.h, so no feature test macro checks are needed.
the POLL prefix is in the reserved namespace for poll.h, so no feature
test macro checks are needed.
fix typo introduced in poll.h 2012年09月09日T20:27:26+00:00 Rich Felker dalias@aerifal.cx 2012年09月09日T20:27:26+00:00 743546a9339d3da4304fd63f74872e90ac792f63
add linux ppoll syscall wrapper 2012年09月09日T20:09:29+00:00 Rich Felker dalias@aerifal.cx 2012年09月09日T20:09:29+00:00 141138c41b5b1cbb74c61690c9b6dbacce4e1983
fix wrong type for poll.h nfds_t 2012年09月01日T04:20:24+00:00 Rich Felker dalias@aerifal.cx 2012年09月01日T04:20:24+00:00 3f62f76cab46fbd28248ed251a88278c6ea1be3a this should not break anything since the type should never be used except as the argument type for poll.
this should not break anything since the type should never be used
except as the argument type for poll.

AltStyle によって変換されたページ (->オリジナル) /