Commit Graph

640 Commits

Author SHA1 Message Date
Jonas 'Sortie' Termansen 9cf092d32e Use cross compiler in build system. 2012-12-14 14:13:33 +01:00
Jonas 'Sortie' Termansen 81530bc58c Really fix size_t declarations by asking compiler. 2012-09-12 12:39:30 +02:00
Jonas 'Sortie' Termansen 27b865e6c2 Remove pong dependencies on libmaxsi. 2012-09-12 12:20:21 +02:00
Jonas 'Sortie' Termansen cceaaf0089 Fix declaration of size_t on x86. 2012-09-12 12:19:57 +02:00
Jonas 'Sortie' Termansen 53e945aa4f Fix including private signal.h in kthread.h. 2012-09-12 12:18:51 +02:00
Jonas 'Sortie' Termansen 82035e87da Add makefile targets for installing sysroot base headers. 2012-09-10 21:45:38 +02:00
Jonas 'Sortie' Termansen 9d5c3f1882 Begun development of Sortix 0.8. 2012-09-10 14:54:37 +02:00
Jonas 'Sortie' Termansen a6ea4e8cab Update version number to 0.7. 2012-09-10 14:32:33 +02:00
Jonas 'Sortie' Termansen 068e855d15 Fix trailing whitespace in asteroids.
Required by release procedure.
2012-09-10 12:29:30 +02:00
Jonas 'Sortie' Termansen 50a2342a37 Update README. 2012-09-10 12:28:29 +02:00
Jonas 'Sortie' Termansen 0b94239912 Fix missing WEXITSTATUS in init and kernel. 2012-09-09 23:08:03 +02:00
Jonas 'Sortie' Termansen 66487f2895 Make waitpid(2) fail on signal arrival. 2012-09-09 22:58:18 +02:00
Jonas 'Sortie' Termansen da7f10269d Better declarations of limits in stdint.h.
This is more compatible with how gcc limits.h does stuff.
2012-09-09 22:41:02 +02:00
Jonas 'Sortie' Termansen ab1901976c Add support for escaping spaces and tabs in shell. 2012-09-09 21:03:02 +02:00
Jonas 'Sortie' Termansen 5209258de0 Fix asteroids compile warnings. 2012-09-09 13:34:48 +02:00
Jonas 'Sortie' Termansen 0b1c515790 Made smarter bots. 2012-09-09 13:34:48 +02:00
Jonas 'Sortie' Termansen 45f8bb1fa1 Pressing B spawns a stupid AI controlled spaceship. 2012-09-09 13:34:48 +02:00
Jonas 'Sortie' Termansen e1ddf82ba7 TMP asteroids stuff 2012-09-09 13:34:48 +02:00
Steve Dougherty 043ceed621 Add firework weapon fired on left control. 2012-09-09 13:34:48 +02:00
Steve Dougherty 46efe8923f Missiles add spaceship vel; point in direction fired.
This issue was visible as crooked missiles when firing in a direction other
than that of travel, and being able to keep pace with fired missiles.
2012-09-09 13:34:48 +02:00
Jonas 'Sortie' Termansen a1c106ce1c Early prototype of an asteroids game.
asteroids(1) now uses chvideomode(1) if no driver is active.

Made the asteroids game object oriented.

Added asteroids to ateroids(1).

uptime(2) in asteroids.
2012-09-09 13:34:48 +02:00
Jonas 'Sortie' Termansen 41ed053fba Build benchmarks by default. 2012-09-09 13:20:48 +02:00
Jonas 'Sortie' Termansen 0245e9867c Fix NULL deference if no ATA bus is present. 2012-09-09 13:15:33 +02:00
Jonas 'Sortie' Termansen b9b697f2cb Implement proper W* error codes in sys/wait.h and kernel.
Note that signals can't really kill a process at this time.
2012-09-09 12:21:39 +02:00
Jonas 'Sortie' Termansen 1369aa9da9 Fix wrong datatypes to printf in ls.
gcc still complains, but that is because uintmax_t is declared incorrectly.
2012-09-09 12:20:58 +02:00
Jonas 'Sortie' Termansen 8595ec83da Print error if running VGA game in graphics mode. 2012-09-08 22:46:20 +02:00
Jonas 'Sortie' Termansen 46d02b784b Fix compile warnings in userspace programs. 2012-09-08 20:55:43 +02:00
Jonas 'Sortie' Termansen d855c6cec7 Add warnings to userspace compile flags. 2012-09-08 20:33:52 +02:00
Jonas 'Sortie' Termansen b0807e8c7a Fix reading /dev/video/fb causing a write instead.
This really fucks stuff up.
2012-09-08 19:40:22 +02:00
Jonas 'Sortie' Termansen c9eb1b2cb3 Better collection of zombie processes.
Note that there seems to be a deadlock if a process exits when there are
zombies around. Init also doesn't handle zombie children correctly as there
is sent no SIGCHLD signal yet.
2012-09-08 19:25:13 +02:00
Jonas 'Sortie' Termansen 07b3cc8e06 Implement WNOHANG in waitpid(2). 2012-09-08 19:19:31 +02:00
Jonas 'Sortie' Termansen 356ae79f64 Don't deliver signals to zombies. 2012-09-08 19:15:56 +02:00
Jonas 'Sortie' Termansen 32a1be0008 Increased tab size from 4 to 8. 2012-09-08 18:45:53 +02:00
Jonas 'Sortie' Termansen bde41a37ec Implement crt1.o, crti.o, and crtn.o.
This helps running cross compiled programs as well as compiling programs
under Sortix with gcc. There is also support for global constructors.

Currently, cross-compiled executables uses these startup files. The current
build system continues to use start.o, which does not offer global
constructors and other useful features.

Note that these using the crtX.o files requires the crtbegin.o and crtend.o
files that ship with the cross compiler, but that should be no problem.
2012-09-08 18:45:53 +02:00
Jonas 'Sortie' Termansen 16019e5897 Make interrupt handler more robust. 2012-09-08 18:45:53 +02:00
Jonas 'Sortie' Termansen 2135a2d432 Improve assertions in malloc.
This also uses the user-space available <assert.h> header.
2012-09-08 18:45:53 +02:00
Jonas 'Sortie' Termansen 2158a16904 Add setlocale(3) and localeconv(3).
Ok, these are kinda hacky but they do implement a skeleton that a real
implementation can be based upon.
2012-09-08 18:45:53 +02:00
Jonas 'Sortie' Termansen 3fd270f7a2 Remove trailing whitespace. 2012-09-08 18:45:53 +02:00
Jonas 'Sortie' Termansen bb3e590915 Add proper implementation of scanf family.
There are still a few non-standard quirks and things that needs to be
properly implemented but that shouldn't be too hard and the most important
features are now implemented.
2012-09-08 18:45:53 +02:00
Jonas 'Sortie' Termansen cd728c9af9 Add fabs{,f,l}(3). 2012-09-08 18:45:53 +02:00
Jonas 'Sortie' Termansen 01ea5419cc Add E2BIG. 2012-09-08 18:45:53 +02:00
Jonas 'Sortie' Termansen 09c4f34e66 Remove -pc from Sortix host triplet. 2012-09-08 18:45:53 +02:00
Jonas 'Sortie' Termansen 9aba01cc82 Make libmaxsi/c++.cpp symbols weak.
This prepares for Sortix using libgcc.a, since it would otherwise collide
with libmaxsi/c++.o.
2012-09-08 18:45:53 +02:00
Jonas 'Sortie' Termansen 6755318919 Add bsearch(3).
This is a rather stupid implementation as it does the search in linear
time. More importantly, it is correct and helps porting gcc. Besides, it
can easily be fixed in due time.
2012-09-08 18:45:53 +02:00
Jonas 'Sortie' Termansen 90a4009c53 Make putenv(3) copy the input string.
This violates POSIX but POSIX is stupid in this respect. Of course, this
will ever so subtly break some applications. Not sure how this stupid design
can be fixed without breaking backwards compatibility. Perhaps remove the
putenv(3) function and replace it with a better replacement? (Or perhaps you
should just use setenv(3) anyways..)
2012-09-08 18:45:53 +02:00
Jonas 'Sortie' Termansen 550f9db140 Make string.h include strings.h.
This helps gcc build since it assumes that string.h provides various
functions that POSIX mandates is in strings.h. This is OK with me since that
strings.h is a nasty hack anyways. Also, glibc does this.
2012-09-08 18:45:52 +02:00
Jonas 'Sortie' Termansen 720b02b0fc Declare size_t and off_t before FILE in wchar.h. 2012-09-08 18:45:52 +02:00
Jonas 'Sortie' Termansen a478dda4d9 fflush(3) on fseeko(3).
This caused a corruption of the resulting file if the program fwrite some
data that is buffered, then fseeks, and then fflushes. The fwrite will then
happen at the wrong memory location. Flushing in fseeko(3) fixes the problem
but it may cause violate some standard or just be inefficient.
2012-09-08 18:45:52 +02:00
Jonas 'Sortie' Termansen 910197ffa7 Fix wrong return value of fdio_seek. 2012-09-08 18:45:52 +02:00
Jonas 'Sortie' Termansen 29f5cd2335 Fix return value of fdio fread(3) and fwrite(3).
Previously fread and fwrite for file descriptors would return the number of
bytes read/written rather than the number of elements read/written. This
breaks the C standard and broke various third party programs such as
readelf from binutils.
2012-09-08 18:45:52 +02:00