sortix-mirror/libmaxsi
Jonas 'Sortie' Termansen 0ab2bbbd1b Finally fixed the loaderbug!
Programs were crashing randomly at startup on the kthread branch. After some
investigation, it turned out that the programs weren't correctly loaded by
the program loader in rare cases. Although, all investigation showed that
the program loader was correct and so was the interrupt routines (well,
almost, but nothing that could really trigger this). Yada yada, a few months
later I discovered that memcpy(3) was being corrupted by an interrupt handler
(which was correct). Turns out memcpy used stack space it hadn't allocated.
This is a Linux optimization that I had forgotten to disable with
-mno-red-zone in libmaxsi and thus interrupts just overwrote the stack of
optimized functions. Eek!
2012-07-02 16:09:13 +02:00
..
decl Added ungetc(3). 2012-05-29 22:17:27 +02:00
include Added stubs for functions in dlfcn.h. 2012-05-30 23:58:04 +02:00
x64 Added sforkr(2) that controls the child registers as well. 2012-04-05 23:00:47 +02:00
x86 Added sforkr(2) that controls the child registers as well. 2012-04-05 23:00:47 +02:00
.gitignore Refactored the libmaxsi/ directory. 2012-02-12 13:20:53 +01:00
Makefile Finally fixed the loaderbug! 2012-07-02 16:09:13 +02:00
abs.cpp Added {,l,ll,imax}abs(3). 2012-03-27 16:36:55 +02:00
c++.cpp Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
ctype.c Refactored the libmaxsi/ directory. 2012-02-12 13:20:53 +01:00
dir.c Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
dlfcn.cpp Added stubs for functions in dlfcn.h. 2012-05-30 23:58:04 +02:00
env.cpp Implemented setenv(3), putenv(3), getenv(3), clearenv(3), sortix_getenv(3), 2012-04-03 20:23:28 +02:00
error.cpp Added sortix_strerror(3) which replaces strerror(3). 2012-05-27 17:38:00 +02:00
exit.cpp Added atexit(3) and on_exit(3). 2012-05-29 22:17:27 +02:00
fddir-sortix.c Fixed minor compile errors in fddir-sortix.c. 2012-02-12 13:20:53 +01:00
fdio.c Added fseterr(3). 2012-03-12 01:31:48 +01:00
fdio.h Refactored the libmaxsi/ directory. 2012-02-12 13:20:53 +01:00
file.c Added ungetc(3). 2012-05-29 22:17:27 +02:00
format.cpp Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
fpipe.cpp Added fpipe(3) providing pipe(2) through the FILE interface. 2012-05-21 12:52:27 +02:00
heap.cpp Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
init.cpp Refactored the libmaxsi/ directory. 2012-02-12 13:20:53 +01:00
integer.cpp Added atol(3) and atoll(3). 2012-03-05 12:53:58 +01:00
io.cpp Added stubs for fscanf(3) and mbtowc(3). 2012-05-29 22:17:27 +02:00
ioleast.cpp Added {,p}{read,write}{all,least}(3). 2012-03-24 15:34:30 +01:00
kernelinfo.cpp Added kernelinfo(2), which reads a kernel information string. 2012-03-07 18:04:59 +01:00
memory.cpp More efficient memcpy(3) for aligned data. 2012-05-27 14:11:35 +02:00
process.cpp Added atexit(3) and on_exit(3). 2012-05-29 22:17:27 +02:00
random.cpp Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
setjmp.c Added stubs for setjmp(3) and longjmp(3). 2012-03-04 23:15:32 +01:00
signal.cpp Added raise(3). 2012-05-28 23:10:55 +02:00
sort.cpp Added qsort(3). 2012-03-05 12:37:59 +01:00
sortix-sound.cpp Refactored the libmaxsi/ directory. 2012-02-12 13:20:53 +01:00
stdio.c Made getdelim(3) follow POSIX-2008 a bit more closely. 2012-03-07 15:52:07 +01:00
string.cpp Added String::Combine. 2012-05-04 13:36:21 +02:00
terminal.cpp Refactored the libmaxsi/ directory. 2012-02-12 13:20:53 +01:00
thread.cpp Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
time.cpp Added stubs for gmtime(3), localtime(3) and utime(3). 2012-05-29 22:17:27 +02:00