Age | Commit message (Collapse) | Author | Files | Lines |
|
* 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>
|
|
* Handle programs that have a DT_NEEDED entry for glibc's ld.so.
* Handle when LD_PRELOAD is already set.
* Use the --argv0 option to properly set argv[0] in the target program.
* Ensure the the argument list is terminated with a NULL sentinel.
* Document the details of the loader's implementation.
[NOTE: Better commit summary?]
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
|
* Remove -DPIC as it is unused (and PIC is always enabled).
* Export the loader name as a macro (this will be used in the future).
* Enable compiler warnings, except the expected ones.
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>
|
|
The settings here are based on the current code style documentation.
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>
|
|
|
|
On GCC 4.9.4, at least backtrace.c fails to compile because of variable
declaration in a for statement, which requires -std=c99 or -std=c11.
Since we are using ISO C mode instead of a GNU standard, we additionally
must define _BSD_SOURCE to expose Dl_info for the dl code.
|
|
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.
|
|
|
|
|
|
Makefile: allow compilation with specified compiler
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pthread implementation
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|