summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-07-06random: initial work at a new modulerandomA. Wilcox2-0/+12
This is a _dangerously_ naive implementation. Do not ship.
2020-07-06time: New module adding __strftime_lA. Wilcox3-1/+16
2020-07-06locale: New module for glibc locale_t ABI compatA. Wilcox3-0/+65
2020-07-06unistd: Interpose execv* functions for LOADERA. Wilcox2-1/+60
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.
2020-03-30[ci skip] Update READMEA. Wilcox1-4/+5
2019-11-10Merge branch 'ppc-fix' into 'master'A. Wilcox1-0/+41
internal: add a wrapper for __libc_start_main for PowerPC(64(le)) See merge request adelie/gcompat!6
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-06-02[ci skip] Add FUNDING.ymlA. Wilcox1-0/+2
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. Wilcox2-0/+26
2019-05-03CHANGELOG: next release is 1.0.0A. Wilcox1-0/+4
2019-05-03CHANGELOG: 0.4.0 release0.4.0A. Wilcox1-1/+1
2019-05-02string: Add __strdupA. Wilcox2-0/+21
2019-04-29travis: Nope, we'll do Coverity manuallyA. Wilcox1-13/+0
2019-04-29travis: Maybe fix CoverityA. Wilcox1-0/+2
2019-04-29Attempt to enable Coverity buildsA. Wilcox2-0/+17
2019-04-29Use <utmpx.h> for struct utmp definitonA. Wilcox2-2/+2
2019-04-29travis: Install make -.-A. Wilcox1-1/+1
2019-04-29travis: Create clone dir after user accountA. Wilcox1-2/+2
2019-04-29travis: Set CLONE_DIR if necessaryA. Wilcox1-0/+1
2019-04-29travis: Ensure keyA. Wilcox2-1/+16
2019-04-29what a travis-tyA. Wilcox1-1/+1
2019-04-29travis: Set permissions correctlyA. Wilcox1-0/+1
2019-04-29travis: More fixesA. Wilcox1-2/+1
2019-04-29travis: FixesA. Wilcox2-7/+5
2019-04-28travis: I am bad at thisA. Wilcox1-1/+1
2019-04-28First attempt at CIA. Wilcox3-0/+39
2019-04-28README: fix silliness imported from libucontextA. Wilcox1-8/+3
2019-04-28README: syntax fixesA. Wilcox1-8/+8
2019-04-28Finally use an Adélie style README hereA. Wilcox2-69/+232
2019-04-08malloc: Add mtrace and muntrace stubsA. Wilcox2-1/+18
2019-02-19Merge branch 'patch-5' into 'master' A. Wilcox1-4/+6
pthread: Fix pthread_getname_np Remove the trailing newline, and ensure the string returned is always null-terminated. Signed-off-by: Samuel Holland <samuel@sholland.org> See merge request !5
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-08Merge branch 'patch-4' into 'master' A. Wilcox6-23/+71
New kernel compatibility; obstack; pthread_getname_np The gcompat loader compiled as a static binary doesn't work on Linux since [a4ff8e8620d3f4](https://github.com/torvalds/linux/commit/a4ff8e8620d3f4f50ac4b41e8067b7d395056843), failing with an error like: ``` [349055.473655] 13325 (cmake): Uhuuh, elf segment at 0000000000400000 requested but the memory is mapped already ``` This is because the actual binary we want to run is also loaded at 0x400000. While it's actually okay to overlap the binary, since we're going to call `execve` again, the kernel doesn't allow the overlap anymore. Fix that by compiling the loader as static PIE, so it can be put at a different address. Also add `pthread_getname_np` and the option to link `obstack`. See merge request !4
2019-01-05Fix compatibility with Linux 4.17+Samuel Holland2-1/+2
The gcompat loader compiled as a static binary doesn't work on Linux since commit a4ff8e8620d3f4, failing with the error: ``` Uhuuh, elf segment at 0000000000400000 requested but the memory is mapped already ``` This is because the binary we are the ELF interpreter for is also loaded at 0x400000. While it's actually okay to overlap the binary, since we're going to call `execve` again, the kernel doesn't allow the overlap anymore. Fix that by compiling the loader as static PIE, so it can be loaded at a different address. Signed-off-by: Samuel Holland <samuel@sholland.org>
2019-01-05pthread: Implement pthread_getname_npSamuel Holland2-1/+29
Signed-off-by: Samuel Holland <samuel@sholland.org>
2019-01-05Makefile: Detect and link an obstack librarySamuel Holland2-3/+20
Signed-off-by: Samuel Holland <samuel@sholland.org>
2019-01-05Makefile: Clean up compiler invocationsSamuel Holland1-9/+11
- Respect user CFLAGS and LDFLAGS consistently. - Consistent use of curly braces for variables over parentheses. - Sort flags, putting '-o' at the end for readability of `make` output. - -fPIE doesn't mean anything to the linker 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 Holland3-11/+11
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-11-12wchar: Implement __wcstol_internalA. Wilcox2-0/+17
2018-09-21Release 0.3.00.3.0A. Wilcox1-1/+5
2018-09-21Merge branch 'patch-3' into 'master' A. Wilcox14-24/+177
Add some more functions (notably __cxa_thread_atexit_impl and realpath) and run clang-format See merge request !3
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 Holland2-0/+14
Signed-off-by: Samuel Holland <samuel@sholland.org>