musl/include/sys/ipc.h, branch master musl - an implementation of the standard library for Linux-based systems move IPC_STAT definition to a new bits/ipcstat.h file 2019年08月02日T04:08:23+00:00 Rich Felker dalias@aerifal.cx 2019年08月01日T00:35:37+00:00 006a75a99789f383713e4f47affd7c90e39cc827 otherwise, 32-bit archs that could otherwise share the generic bits/ipc.h would need to duplicate the struct ipc_perm definition, obscuring the fact that it's the same. sysvipc is not widely used and these headers are not commonly included, so there is no performance gain to be had by limiting the number of indirectly included files here. files with the existing time32 definition of IPC_STAT are added to all current 32-bit archs now, so that when it's changed the change will show up as a change rather than addition of a new file where it's less obvious that the value is changing vs the generic one that was used before.
otherwise, 32-bit archs that could otherwise share the generic
bits/ipc.h would need to duplicate the struct ipc_perm definition,
obscuring the fact that it's the same. sysvipc is not widely used and
these headers are not commonly included, so there is no performance
gain to be had by limiting the number of indirectly included files
here.
files with the existing time32 definition of IPC_STAT are added to all
current 32-bit archs now, so that when it's changed the change will
show up as a change rather than addition of a new file where it's less
obvious that the value is changing vs the generic one that was used
before.
allow archs to define IPC_STAT, propagate time64 bit to other macros 2019年08月02日T04:08:23+00:00 Rich Felker dalias@aerifal.cx 2019年07月31日T05:17:53+00:00 3c02bacf0f6bed54979e67d22c43745df9add4a0 to make use of {sem,shm,msg}ctl IPC_STAT functionality to provide 64-bit time_t on 32-bit archs, IPC_STAT and related macros must be defined with bit 8 (0x100) set. allow archs to define IPC_STAT in bits/ipc.h, and define the other macros in terms of it so that they all get the same value of the time64 bit.
to make use of {sem,shm,msg}ctl IPC_STAT functionality to provide
64-bit time_t on 32-bit archs, IPC_STAT and related macros must be
defined with bit 8 (0x100) set. allow archs to define IPC_STAT in
bits/ipc.h, and define the other macros in terms of it so that they
all get the same value of the time64 bit.
fix regressions in app compatibility from previous sys/ipc.h changes 2012年12月11日T02:36:12+00:00 Rich Felker dalias@aerifal.cx 2012年12月11日T02:36:12+00:00 490d4a0e9e96eabffa553b279b07725c39010c1a despite glibc using __key and __seq rather than key and seq, some applications, notably busybox, assume the names are key and seq unless glibc is being used. and the names key and seq are really the ones that _should_ be exposed when not attempting to present a standards-conforming namespace; apps should not be using names that begin with double-underscore. thus, the optimal fix is to use key and seq as the actual names of the members when in bsd/gnu source profile, and define macros for __key and __seq that redirect to plain key and seq.
despite glibc using __key and __seq rather than key and seq, some
applications, notably busybox, assume the names are key and seq unless
glibc is being used. and the names key and seq are really the ones
that _should_ be exposed when not attempting to present a
standards-conforming namespace; apps should not be using names that
begin with double-underscore. thus, the optimal fix is to use key and
seq as the actual names of the members when in bsd/gnu source profile,
and define macros for __key and __seq that redirect to plain key and
seq.
fix names of ipc_perm __key/__seq elements 2012年12月06日T21:52:09+00:00 Rich Felker dalias@aerifal.cx 2012年12月06日T21:52:09+00:00 d1b6fc6ecc59441a37269d6512c5d34d1a2412cd previously the names were exposed as key/seq with _GNU_SOURCE and __ipc_perm_key/__ipc_perm/seq otherwise, whereas glibc always uses __key and __seq for the names. thus, the old behavior never matched glibc, and the new behavior always does, regardless of feature test macros. for now, i'm leaving the renaming here in sys/ipc.h where it's easy to change globally for all archs, in case something turns out to be wrong, but eventually the names could just be incorporated directly into the bits headers for each arch and the renaming removed.
previously the names were exposed as key/seq with _GNU_SOURCE and
__ipc_perm_key/__ipc_perm/seq otherwise, whereas glibc always uses
__key and __seq for the names. thus, the old behavior never matched
glibc, and the new behavior always does, regardless of feature test
macros.
for now, i'm leaving the renaming here in sys/ipc.h where it's easy to
change globally for all archs, in case something turns out to be
wrong, but eventually the names could just be incorporated directly
into the bits headers for each arch and the renaming removed.
ipc.h: fix gnu aliases for key and seq in struct ipc_perm 2012年12月06日T19:27:54+00:00 rofl0r retnyg@gmx.net 2012年12月06日T18:39:52+00:00 f1bb78343a2fadf7087f3f0f7753084a23a334e9 the macro was the wrong way round, additionally GNU defines __ prefixed versions, which are used by qemu.
the macro was the wrong way round, additionally GNU defines
__ prefixed versions, which are used by qemu.
default features: make musl usable without feature test macros 2012年09月08日T03:13:55+00:00 Rich Felker dalias@aerifal.cx 2012年09月08日T03:13:55+00:00 c1a9658bd19245ff0fb52d3da567815d822fb622 the old behavior of exposing nothing except plain ISO C can be obtained by defining __STRICT_ANSI__ or using a compiler option (such as -std=c99) that predefines it. the new default featureset is POSIX with XSI plus _BSD_SOURCE. any explicit feature test macros will inhibit the default. installation docs have also been updated to reflect this change.
the old behavior of exposing nothing except plain ISO C can be
obtained by defining __STRICT_ANSI__ or using a compiler option (such
as -std=c99) that predefines it. the new default featureset is POSIX
with XSI plus _BSD_SOURCE. any explicit feature test macros will
inhibit the default.
installation docs have also been updated to reflect this change.
numerous fixes to sysv ipc 2011年04月13日T20:45:43+00:00 Rich Felker dalias@aerifal.cx 2011年04月13日T20:45:43+00:00 07e865cc5afb11e6e882e998306ab0f7fb64357e some of these definitions were just plain wrong, others based on outdated ancient "non-64" versions of the kernel interface. as much as possible has now been moved out of bits/* these changes break abi (the old abi for these functions was wrong), but since they were not working anyway it can hardly matter.
some of these definitions were just plain wrong, others based on
outdated ancient "non-64" versions of the kernel interface.
as much as possible has now been moved out of bits/*
these changes break abi (the old abi for these functions was wrong),
but since they were not working anyway it can hardly matter.
initial check-in, version 0.5.0 2011年02月12日T05:22:29+00:00 Rich Felker dalias@aerifal.cx 2011年02月12日T05:22:29+00:00 0b44a0315b47dd8eced9f3b7f31580cf14bbfc01

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