Age | Commit message (Collapse) | Author | Files | Lines |
|
These are supposed to be specialisations for speed, but these are just
faked. Some warnings were added too, if they return infinite values.
As a side effect of this change, scalbl is also now implemented.
As noted, not all functions are implemented; the big two blockers are an
implementation of j0l and y0l; I imagine Bessel functions aren't too
widely used, so I doubt that many things will want them. Someone (not
it) can implement them later.
|
|
__VA_ARGS__ expects one or more arguments; this is a cheesy hack to
allow passing only a format string (which is often all you need for
small asserts).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
|
This allows programs run through gcompat to fork and re-exec themselves.
It fixes readlink("/proc/self/exe") to return the executable's absolute
path, instead of musl's path.
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
|
This takes advantage of the (lack of a) musl implementation for
simplicity.
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
|
On musl pread and pread64 are the same thing.
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
|
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
|
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
|
The other unimplemented signal function in LSB is sigreturn, with is not
really implementable.
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
|
These take advantage of the musl implementation for simplicity.
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
|
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
|
This follows the exceptionally-detailed functional description in the
manual page.
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
|
* Document functions and sort by name.
* Explicitly include stddef.h.
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
|
* Add all checked string functions from LSB, plus those found in use
in other applications. Document those functions from LSB as such.
* Use a consistent structure and paramater names for all functions.
* Fix multiple off-by-one errors.
* Use a less hacky and more optimized rawmemchr.
* Sort functions by name.
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
|
* Fix prototype of __realpath_chk.
* Add all strto* functions from LSB, plus the ones thata were previously
incorrectly in string.c
The main missing LSB functions are the reentrant random functions, which
should not be used anyway.
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
|
* Add all (non-wchar) stdio functions from LSB, plus those found in use
in other applications. Document those functions from LSB as such.
* Use a consistent structure and paramater names for all functions.
* flag == 0 means FORTIFY_SOURCE=1, so the implemented checks should be
unconditional.
* Add all possible checks without parsing the format string.
* Move functions from wchar.h to their own appropriately-named file.
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
|
* Make function pointer static.
* Only initialize function pointer once.
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
|
* Make comment style consistent with the rest of the project, and remove
outdated header name.
* Remove "static inline" from functions (this is no longer a header).
* Check statp for NULL in res_ninit like in res_nclose.
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
|
Like fgetpwent_r/getpwent_r, these require a deep copy of the structure
into the caller-provided buffer. This is nontrivial for the array of
strings member.
getgrent_r is required by LSB.
[NOTE: I'm not too happy with the macro, but it works. Any suggestions?]
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
|
These functions require a deep copy of the structure into the
caller-provided buffer. Also make sure to store NULL in result on error.
Use the stream to differentiate the two functions and avoid duplication.
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
|
* Add the missing parameter to __register_atfork.
* Sort and document functions.
__pthread_register_cancel and __pthread_unregister_cancel should be
implemented at some point, or else pthread_cleanup_pop(true) will not
work properly and could cause deadlocks in programs that use it.
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
|
* Add finite() variants, needed by some applications.
* Add remaining long double variants of existing functions.
* Sort and document existing functions, including where referenced in
the LSB standard.
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
|
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
|
Changes to existing code:
* Make explicit comparison against NULL.
* Adjust debug message for readability.
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
|
Rename the file to match the header it implements functions from.
Changes to existing code:
* Fix the return value from backtrace (off by one).
* Use __builtin_extract_return_addr as recommended in gcc documentation.
* Document header usage.
* Document where the functions are referenced in the LSB standard.
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
|
* Prefer providing the underscore-prefixed symbol as the strong
definition.
* Do not use a weak alias if the alias is also underscore-prefixed.
* Make libgcompat objects depend on the new header.
[NOTE: I originally took the weak_alias macro from musl's libc.h, but
it's trivial and the same pattern already in use. If desired, I
can add the musl copyright notice.]
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
|
* Apply clang-format.
* Change all comments to the same style.
* Add braces as dictated by the coding style guidelines.
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
|
This duplicates the semicolon at the end of the macro, but it prevents
clang-format from getting confused. This is only temporary until the
macro is updated in a later commit.
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
|
Linux/aarch64 does not define SYS__sysctl. This caused build errors in
Alpine[1] and Void[2].
While I'm in here, fix up headers since we don't need errno or strings.
[1]: https://git.alpinelinux.org/cgit/aports/commit/?id=400a9d40
[2]: https://github.com/voidlinux/void-packages/commit/a7aa924e
|
|
|
|
|
|
|
|
__memalign is not necessary as musl already provides it.
|
|
|
|
|
|
|
|
|
|
pthread implementation
|
|
|
|
|
|
|