Commit Graph

23 Commits

Author SHA1 Message Date
Rich Felker 0c29adfe42 remove everything related to forkall
i made a best attempt, but the intended semantics of this function are
fundamentally contradictory. there is no consistent way to handle
ownership of locks when forking a multi-threaded process. the code
could have worked by accident for programs that only used normal
mutexes and nothing else (since they don't actually store or care
about their owner), but that's about it. broken-by-design interfaces
that aren't even in glibc (only solaris) don't belong in musl.
2012-05-22 22:43:27 -04:00
Rich Felker af3330d764 some feature test fixes for unistd.h 2012-05-22 22:28:17 -04:00
Rich Felker 96601e3c61 _GNU_SOURCE implies all BSD features except ones GNU rejects 2012-05-22 22:07:42 -04:00
Rich Felker 671ffab776 various header cleanups, some related to _BSD_SOURCE addition
there is no reason to avoid multiple identical macro definitions; this
is perfectly legal C, and even with the maximal warning options
enabled, gcc does not issue any warning for it.
2012-05-22 22:04:55 -04:00
Rich Felker 419ae6d5c9 support _BSD_SOURCE feature test macro
patch by Isaac Dunham. matched closely (maybe not exact) to glibc's
idea of what _BSD_SOURCE should make visible.
2012-05-22 21:52:08 -04:00
Rich Felker 3db29f0347 move getpass decl to the right place 2012-05-20 22:56:06 -04:00
Rich Felker 2dd8d5e1b8 add support for ugly *64 functions with _LARGEFILE64_SOURCE
musl does not support legacy 32-bit-off_t whatsoever. off_t is always
64 bit, and correct programs that use off_t and the standard functions
will just work out of the box. (on glibc, they would require
-D_FILE_OFFSET_BITS=64 to work.) however, some programs instead define
_LARGEFILE64_SOURCE and use alternate versions of all the standard
types and functions with "64" appended to their names.

we do not want code to actually get linked against these functions
(it's ugly and inconsistent), so macros are used instead of prototypes
with weak aliases in the library itself. eventually the weak aliases
may be added at the library level for the sake of using code that was
originally built against glibc, but the macros will still be the
desired solution in the headers.
2012-05-04 00:13:23 -04:00
Rich Felker 90da74ef51 implement getusershell, etc. legacy functions
I actually wrote these a month ago but forgot to integrate them. ugly,
probably-harmful-to-use functions, but some legacy apps want them...
2012-04-22 14:41:54 -04:00
Rich Felker 431a4cd4df getdtablesize is not standard; move it to its correct spot in unistd.h 2012-04-22 14:39:07 -04:00
Rich Felker b1b3d3525b add getresuid and getresgid syscall wrappers 2012-04-22 10:37:19 -04:00
Rich Felker ba6a9e7734 legacy junk compatibility grab-bag
- add the rest of the junk traditionally in sys/param.h
- add prototypes for some nonstandard functions
- add _GNU_SOURCE to their source files so the compiler can check proto
2012-04-18 12:22:24 -04:00
Rich Felker 1611ab0d9b add get_current_dir_name function 2012-02-17 23:10:00 -05:00
Rich Felker 13cd969552 fix various errors in function signatures/prototypes found by nsz 2011-09-13 21:09:35 -04:00
Rich Felker 4054a135fc implement forkall
this is a "nonstandard" function that was "rejected" by POSIX, but
nonetheless had its behavior documented in the POSIX rationale for
fork. it's present on solaris and possibly some other systems, and
duplicates the whole calling process, not just a single thread. glibc
does not have this function. it should not be used in programs
intending to be portable, but may be useful for testing,
checkpointing, etc. and it's an interesting (and quite small) example
of the usefulness of the __synccall framework originally written to
work around deficiencies in linux's setuid syscall.
2011-08-12 10:37:12 -04:00
Rich Felker e6bac87d0e correct variadic prototypes for execl* family
the old versions worked, but conflicted with programs which declared
their own prototypes and generated warnings with some versions of gcc.
2011-04-27 16:06:33 -04:00
Rich Felker 3f44f298e4 fix prototypes/signature for setgroups, etc. 2011-04-13 09:03:22 -04:00
Rich Felker 2155afd73e prototype getdtablesize (nonstandard function) 2011-04-03 18:15:36 -04:00
Rich Felker 1db283bf19 add setresuid/setresgid functions (nonstandard) 2011-04-03 16:20:57 -04:00
Rich Felker 5243e5f160 remove obsolete and useless useconds_t type 2011-04-01 21:10:01 -04:00
Rich Felker f2374ed852 implement fexecve 2011-02-27 02:59:23 -05:00
Rich Felker b386d81862 prototypes for brk and sbrk 2011-02-19 01:02:46 -05:00
Rich Felker 1d72953787 feature test support in unistd.h 2011-02-15 16:28:36 -05:00
Rich Felker 0b44a0315b initial check-in, version 0.5.0 2011-02-12 00:22:29 -05:00