musl/include
Rich Felker fe61a7aa53 rework mechanism for posix_spawnp calling posix_spawn
previously, a common __posix_spawnx backend was used that accepted an
additional argument for the execve variant to call in the child. this
moderately bloated up the posix_spawn function, shuffling arguments
between stack and/or registers to call a 7-argument function from a
6-argument one.

instead, tuck the exec function pointer in an unused part of the
(large) pthread_spawnattr_t structure, and have posix_spawnp duplicate
the attributes and fill in a pointer to __execvpe. the net code size
change is minimal, but the weight is shifted to the "heavier" function
which already pulls in more dependencies.

as a bonus, we get rid of an external symbol (__posix_spawnx) that had
no really good place for a declaration because it shouldn't have
existed to begin with.
2018-09-12 14:34:32 -04:00
..
arpa fix endian errors in arpa/nameser.h due to failure to include endian.h 2017-12-14 23:36:47 -05:00
net net/if_arp.h: add ARPHRD_RAWIP from linux v4.14 2018-02-22 18:47:49 -05:00
netinet add ETH_P_PREAUTH ethertype from linux v4.17 2018-06-19 13:26:41 -04:00
netpacket update netpacket/packet.h to linux v4.3 2016-01-26 18:29:32 -05:00
scsi
sys move inclusion of linux headers for kd.h, soundcard.h, vt.h to bits 2018-07-20 01:06:41 -04:00
aio.h make all objects used with atomic operations volatile 2015-03-03 22:50:02 -05:00
alloca.h
alltypes.h.in explicitly use signed keyword to define intNN_t and derivative types 2018-03-12 20:04:59 -04:00
ar.h
assert.h restore _Noreturn to __assert_fail 2016-08-30 16:39:54 -04:00
byteswap.h
complex.h fix mismatched parens in CMPLX def for annex-g-conforming compilers 2015-11-02 21:44:57 -05:00
cpio.h
crypt.h
ctype.h add macro version of ctype.h isascii function 2015-06-06 18:16:22 +00:00
dirent.h add _DIRENT_HAVE_D_* macros to dirent.h 2018-01-12 14:26:59 -05:00
dlfcn.h const-qualify the address argument to dladdr 2014-01-06 22:03:38 -05:00
elf.h add missing m68k relocation types in elf.h 2018-06-12 17:02:21 -04:00
endian.h
err.h
errno.h remove attribute((const)) from pthread_self and errno location decls 2015-09-17 04:45:01 +00:00
fcntl.h add new fcntl.h macros from linux v4.13 2017-11-05 18:41:24 -05:00
features.h in public headers, don't assume pre-C99 compilers have __inline keyword 2016-12-16 23:12:32 -05:00
fenv.h
float.h fix FLT_ROUNDS regression in C++ applications 2015-03-23 11:26:51 -04:00
fmtmsg.h implement fmtmsg function 2014-06-21 19:24:15 -04:00
fnmatch.h remove now-unnecessary features.h inclusion from fnmatch.h 2013-12-02 02:06:52 -05:00
ftw.h make brace placement in public header struct definitions consistent 2016-07-03 15:02:25 -04:00
getopt.h make brace placement in public header struct definitions consistent 2016-07-03 15:02:25 -04:00
glob.h fix macros for LFS *64_t types in sys/stat.h, sys/types.h, glob.h 2014-09-05 16:03:07 -04:00
grp.h fix various header namespace issues under feature-test-macro control 2016-10-20 17:20:01 -04:00
iconv.h
ifaddrs.h remove parameter names from public headers 2016-10-20 17:04:37 -04:00
inttypes.h fix inttypes.h PRI and SCN macros for [u]intptr_t types 2013-10-30 14:52:55 -04:00
iso646.h
langinfo.h add _NL_LOCALE_NAME extension to nl_langinfo 2017-07-31 23:08:27 -04:00
lastlog.h
libgen.h
libintl.h add format argument attributes to gettext function prototypes 2015-09-15 20:30:36 +00:00
limits.h fix dubious char signedness check in limits.h 2018-08-28 13:54:50 -04:00
link.h generalize ELF hash table types not to assume 32-bit entries 2016-11-11 12:46:06 -05:00
locale.h restore type of NULL to void * except when used in C++ programs 2013-11-24 21:42:55 -05:00
malloc.h add malloc_usable_size function and non-stub malloc.h 2014-08-25 22:47:27 -04:00
math.h fix FP_ILOGB0 and FP_ILOGBNAN definitions to be valid for use in #if 2018-08-22 19:11:58 -04:00
memory.h
mntent.h make brace placement in public header struct definitions consistent 2016-07-03 15:02:25 -04:00
monetary.h
mqueue.h
netdb.h move IPPORT_RESERVED from netdb.h to netinet/in.h 2017-08-29 20:50:48 -04:00
nl_types.h
paths.h remove duplicate definition of _PATH_LASTLOG in paths.h 2013-12-03 20:34:36 -05:00
poll.h make brace placement in public header struct definitions consistent 2016-07-03 15:02:25 -04:00
pthread.h add limited pthread_setattr_default_np API to set stack size defaults 2016-11-08 12:45:03 -05:00
pty.h
pwd.h fix various header namespace issues under feature-test-macro control 2016-10-20 17:20:01 -04:00
regex.h
resolv.h don't claim support for resolv.h APIs that aren't supported 2016-11-07 11:55:53 -05:00
sched.h fix use of memset without declaration in sched.h cpu set macros 2017-09-28 12:57:06 -04:00
search.h implement hcreate_r, hdestroy_r and hsearch_r 2014-04-02 18:37:45 -04:00
semaphore.h make all objects used with atomic operations volatile 2015-03-03 22:50:02 -05:00
setjmp.h remove macro definition of longjmp from setjmp.h 2015-04-01 20:35:03 -04:00
shadow.h
signal.h remove spurious const keyword in sigqueue declaration 2018-03-10 18:19:41 -05:00
spawn.h rework mechanism for posix_spawnp calling posix_spawn 2018-09-12 14:34:32 -04:00
stdalign.h add static_assert and hide noreturn, alignas, alignof from C++ 2014-08-27 02:55:54 -04:00
stdarg.h remove legacy i386 fallback stdarg implementation and framework 2016-12-15 12:18:24 -05:00
stdbool.h
stdc-predef.h add stdc-predef.h for library-level predefined macros 2016-07-03 20:03:30 -04:00
stddef.h add max_align_t definition for C11 and C++11 2014-08-20 17:20:14 -04:00
stdint.h fix signedness of UINT32_MAX and UINT64_MAX at the preprocessor level 2014-12-21 02:30:29 -05:00
stdio_ext.h
stdio.h fix aliasing violations in fgetpos/fsetpos 2018-02-24 16:45:33 -05:00
stdlib.h remove parameter names from public headers 2016-10-20 17:04:37 -04:00
stdnoreturn.h add static_assert and hide noreturn, alignas, alignof from C++ 2014-08-27 02:55:54 -04:00
string.h add explicit_bzero implementation 2018-06-26 16:59:12 -04:00
strings.h implement ffsl and ffsll functions 2014-07-31 02:38:23 -04:00
stropts.h
syscall.h
sysexits.h
syslog.h remove hack in syslog.h that resulted in aliasing violations 2014-06-21 07:44:46 -04:00
tar.h fix default feature profile in tar.h 2018-03-28 15:53:45 -04:00
termios.h
tgmath.h
threads.h remove parameter names from public headers 2016-10-20 17:04:37 -04:00
time.h fix various header namespace issues under feature-test-macro control 2016-10-20 17:20:01 -04:00
uchar.h uchar.h: define char16_t and char32_t for old c++ 2018-07-17 22:24:03 -04:00
ucontext.h
ulimit.h
unistd.h fix minor namespace issue in unistd.h 2018-03-10 18:19:40 -05:00
utime.h make brace placement in public header struct definitions consistent 2016-07-03 15:02:25 -04:00
utmp.h add declarations for utmpname/utmpxname to appropriate headers 2016-02-12 09:58:50 -05:00
utmpx.h fix typo in utmpx.h 2016-10-20 16:55:32 -04:00
values.h
wait.h
wchar.h remove parameter names from public headers 2016-10-20 17:04:37 -04:00
wctype.h improve iswdigit macro to diagnose errors 2015-05-02 21:19:08 -04:00
wordexp.h make brace placement in public header typedef'd structs consistent 2016-07-03 16:19:28 -04:00