- Jan 15, 2018
-
-
Samuel Holland authored
THESE ARE NOT CLEANED UP (descriptions, parameter names)! Signed-off-by: Samuel Holland <samuel@sholland.org>
-
Samuel Holland authored
Signed-off-by: Samuel Holland <samuel@sholland.org>
-
Signed-off-by: Samuel Holland <samuel@sholland.org>
-
Samuel Holland authored
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>
-
Samuel Holland authored
This takes advantage of the (lack of a) musl implementation for simplicity. Signed-off-by: Samuel Holland <samuel@sholland.org>
-
Samuel Holland authored
On musl pread and pread64 are the same thing. Signed-off-by: Samuel Holland <samuel@sholland.org>
-
Samuel Holland authored
Signed-off-by: Samuel Holland <samuel@sholland.org>
-
Samuel Holland authored
Signed-off-by: Samuel Holland <samuel@sholland.org>
-
Samuel Holland authored
The other unimplemented signal function in LSB is sigreturn, with is not really implementable. Signed-off-by: Samuel Holland <samuel@sholland.org>
-
Samuel Holland authored
These take advantage of the musl implementation for simplicity. Signed-off-by: Samuel Holland <samuel@sholland.org>
-
Samuel Holland authored
Signed-off-by: Samuel Holland <samuel@sholland.org>
-
Samuel Holland authored
This follows the exceptionally-detailed functional description in the manual page. Signed-off-by: Samuel Holland <samuel@sholland.org>
-
Samuel Holland authored
* Document functions and sort by name. * Explicitly include stddef.h. Signed-off-by: Samuel Holland <samuel@sholland.org>
-
Samuel Holland authored
* 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>
-
Samuel Holland authored
* 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>
-
Samuel Holland authored
* 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>
-
Samuel Holland authored
* Make function pointer static. * Only initialize function pointer once. Signed-off-by: Samuel Holland <samuel@sholland.org>
-
Samuel Holland authored
* 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>
-
Samuel Holland authored
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>
-
Samuel Holland authored
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>
-
Samuel Holland authored
* 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>
-
Samuel Holland authored
* 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>
-
Samuel Holland authored
Signed-off-by: Samuel Holland <samuel@sholland.org>
-
Samuel Holland authored
Changes to existing code: * Make explicit comparison against NULL. * Adjust debug message for readability. Signed-off-by: Samuel Holland <samuel@sholland.org>
-
Samuel Holland authored
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>
-
Samuel Holland authored
* 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>
-
Samuel Holland authored
* 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>
-
Samuel Holland authored
* 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>
-
Samuel Holland authored
* 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>
-
Samuel Holland authored
The settings here are based on the current code style documentation. Signed-off-by: Samuel Holland <samuel@sholland.org>
-
Samuel Holland authored
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>
-
- Oct 27, 2017
-
-
A. Wilcox authored
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.
-
A. Wilcox authored
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
- Oct 15, 2017
-