summaryrefslogtreecommitdiff
path: root/libgcompat
AgeCommit message (Collapse)AuthorFilesLines
2020-07-06random: initial work at a new modulerandomA. Wilcox1-0/+11
This is a _dangerously_ naive implementation. Do not ship.
2020-07-06time: New module adding __strftime_lA. Wilcox1-0/+7
2020-07-06locale: New module for glibc locale_t ABI compatA. Wilcox1-0/+56
2020-07-06unistd: Interpose execv* functions for LOADERA. Wilcox1-0/+54
Newer releases of Chromium directly execv /proc/self/exe, missing our readlink(3) interposing. We go ahead and interpose all three execv* functions just to ensure wider compatibility.
2020-07-06cxx_thread: Fix negated assertionA. Wilcox1-1/+1
The assertion should be that the return value was 0. Additionally, show the result code if the return value is not 0.
2019-11-10internal: add a wrapper for __libc_start_main for PowerPC(64(le))q661-0/+41
This is necessary because the musl and glibc function signatures differ significantly.
2019-05-08string: check NULL before using variables everywhereA. Wilcox1-3/+6
2019-05-08string: check NULL before using src here, tooA. Wilcox2-2/+3
2019-05-08malloc: use posix_memalign instead of deprecated memalignA. Wilcox1-1/+4
2019-05-08Don't use variables until ensuring they're non-NULLA. Wilcox2-2/+4
2019-05-08string: reduce scope of variables in strfryA. Wilcox1-5/+4
2019-05-07wchar: Add __wcscpy_chkA. Wilcox1-0/+21
2019-05-02string: Add __strdupA. Wilcox1-0/+10
2019-04-29Use <utmpx.h> for struct utmp definitonA. Wilcox1-1/+1
2019-04-08malloc: Add mtrace and muntrace stubsA. Wilcox1-0/+12
2019-02-18pthread: Fix pthread_getname_npSamuel Holland1-4/+6
Remove the trailing newline, and ensure the string returned is always null-terminated. Signed-off-by: Samuel Holland <samuel@sholland.org>
2019-01-05pthread: Implement pthread_getname_npSamuel Holland1-1/+24
Signed-off-by: Samuel Holland <samuel@sholland.org>
2019-01-05run clang-format on the source codeSamuel Holland1-1/+1
Signed-off-by: Samuel Holland <samuel@sholland.org>
2019-01-05Makefile: depend on internal.h; format headersSamuel Holland2-9/+8
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-11-12wchar: Implement __wcstol_internalA. Wilcox1-0/+12
2018-09-11libgcompat: Fix formatting inconsistencies (clang-format)Samuel Holland6-24/+21
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-09-11unistd: Add __open_2 and its __open64_2 aliasSamuel Holland1-0/+9
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-09-11stdlib: Add secure_getenv alias to __secure_getenvSamuel Holland1-0/+3
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-09-11readlink: Report EIO on /proc read failureSamuel Holland1-0/+1
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-09-11realpath: Intercept realpath(/proc/self/exe)Samuel Holland1-0/+51
Reuse the machinery from readlink Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-09-11readlink: Report ENOSYS on dlsym failureSamuel Holland1-0/+2
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-09-11ctype: Add __ctype_bSamuel Holland1-0/+1
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-09-11cxx_thread: Add __cxa_thread_atexit_implSamuel Holland1-0/+56
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-06-21string: add memfrob and strfryJason A. Donenfeld1-0/+34
2018-06-13string: add __strcspn_c2A. Wilcox1-0/+17
2018-06-13resolv: add __res_search aliasA. Wilcox1-0/+6
2018-04-03malloc: add malloc_trim functionElizabeth Myers1-0/+6
2018-04-03socket: fix buildElizabeth Myers1-0/+1
2018-04-03socket: __poll_chkElizabeth Myers1-0/+13
2018-04-03math: implement most of glibc's __*_finite functionsElizabeth Myers1-2/+1090
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.
2018-04-03GCOMPAT__assert_with_reason: omit format parameterElizabeth Myers1-2/+2
__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).
2018-03-16build: allow building with libucontext supportWilliam Pitcock1-0/+4
2018-02-23gnulib: use GCOMPAT__assert_with_reason() instead of bare assert()William Pitcock1-2/+10
2018-02-23libgcompat: add internal api for GCOMPAT__panic().William Pitcock2-0/+31
2018-02-07misc: implement __libc_stack_endWilliam Pitcock1-0/+2
2018-02-01socket: add __cmsg_nxthdrA. Wilcox1-0/+10
2018-02-01malloc: add __sbrkA. Wilcox1-0/+6
2018-01-15stdlib: add __strtol_internalWilliam Pitcock1-0/+10
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-15readlink: Intercept readlink("/proc/self/exe")Samuel Holland1-0/+85
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>
2018-01-15utmp: Implement the reentrant utmp function from LSBSamuel Holland1-0/+14
This takes advantage of the (lack of a) musl implementation for simplicity. Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-15unistd: Implement LSB functions plus moreSamuel Holland1-0/+172
On musl pread and pread64 are the same thing. Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-15syslog: Implement checked syslog functions from LSBSamuel Holland1-0/+32
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-15socket: Implement checked socket functions from LSBSamuel Holland1-0/+31
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-15signal: Add a signal function from LSBSamuel Holland1-0/+11
The other unimplemented signal function in LSB is sigreturn, with is not really implementable. Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-15netdb: Add protocol and service functions from LSBSamuel Holland1-0/+79
These take advantage of the musl implementation for simplicity. Signed-off-by: Samuel Holland <samuel@sholland.org>