58fb422161
Kernel: Return a Result in MemoryManager and strdup_from_user
2022-11-12 11:56:40 +01:00
662afad426
Kernel: Add a Result class
2022-11-12 11:30:28 +01:00
a3465c2f5e
tools: Make buildstep exit on error
2022-11-12 11:30:17 +01:00
559d074ce4
Kernel: Make a more convenient wrapper for basename() and dirname()
2022-11-12 10:39:25 +01:00
5a1d15d2b5
Show only short names of apps when installing
2022-11-10 17:55:41 +01:00
4aa3bd3107
Next version!
2022-11-09 17:25:05 +01:00
da41784183
Fix setup-gcc.sh
2022-11-09 17:15:02 +01:00
b8014a158c
ports: Add a port of the GNU binutils =D
...
what a coincidence!! this big achievement is the 800th commit!!
2022-11-09 16:59:27 +01:00
2ac98ed0c1
libc: Define wint_t in wchar.h
2022-11-09 16:29:33 +01:00
078f3f5862
Kernel: Add a remainder to refactor the initial ramdisk code
2022-11-09 16:07:49 +01:00
d76af10e70
Kernel: Move initrd into the fs/ folder
...
It makes more sense to put it in there.
2022-11-09 16:03:16 +01:00
60bd8d9418
Kernel: Add an explanatory comment to the end of _start()
2022-11-09 15:58:00 +01:00
1ea216dfd1
Kernel: Rename assert.h to ensure.h
...
The macro is named "ensure", the header file should reflect that.
2022-11-09 15:28:35 +01:00
da7ad8da5b
Kernel: Show the file location when a check fails
2022-11-09 15:23:59 +01:00
ea94b331fb
Scheduler: Use copy_to_user in a few system calls
2022-11-09 15:20:53 +01:00
46e4d37098
toolchain: build libstdc++ without exceptions, just in case
2022-11-09 12:09:56 +01:00
d1dea3f1d6
apps: Add support for C++ apps alongside C ones
2022-11-09 12:01:48 +01:00
b6f2b41f1f
Toolchain: Build libstdc++ just after gcc and libgcc
...
This means... C++ userland programs!!
Some parts of the standard library still have weird behavior. For example, do not try to use std::cout. That page-faults.
2022-11-09 11:56:08 +01:00
61753a6f51
libc: Symlink libm.a to libc.a
...
Some programs (or g++) might want to link against libm, yet on Luna it's part of libc.
2022-11-09 11:39:39 +01:00
57ef8feddb
libc: Add __cxa_atexit and __cxa_finalize
...
To support a C++ implementation :)
2022-11-09 11:38:40 +01:00
0bfe5e27ef
libc: Add localeconv()
...
Always returns the default C locale values.
2022-11-09 11:38:14 +01:00
d3030d2111
libc: Stub out strtod()
2022-11-09 11:37:52 +01:00
da4c0d5184
libc: Stub out strtok()
2022-11-09 11:37:41 +01:00
f8f5968753
libc: Define EOVERFLOW and make every dummy errno value unique
2022-11-09 11:37:32 +01:00
1300b8f5ee
libc: Add stubs for signal() and raise()
2022-11-09 11:37:08 +01:00
bbc7a7338c
libc: Add fpclassify
2022-11-09 11:36:52 +01:00
59e03d0799
libc: Add DT_* macros to dirent.h
2022-11-09 11:36:41 +01:00
accf7ee417
libc: Add unimplemented st_nlink field
2022-11-09 11:36:21 +01:00
033c41cbd7
Kernel: Rework the uid/gid system to make it compliant
2022-11-09 09:54:07 +01:00
99429baed2
tools: make moon.sym readable only by root
...
We don't want everyone peeking at kernel symbols.
2022-11-09 09:11:00 +01:00
bb26996cb7
Add a script to check whether all project sources are properly formatted
2022-11-08 19:17:21 +01:00
98da473fdc
Run clang-format
2022-11-08 19:07:43 +01:00
0c1ffedd3f
Add a script to run clang-format on all source files
2022-11-08 19:07:16 +01:00
327b60566c
Use different color for luna builds than for port builds
2022-11-08 18:04:58 +01:00
054d5a8bb4
Build system: Prettify build
2022-11-08 18:03:43 +01:00
00f9981f51
Userspace: Enable dead code stripping
2022-11-08 17:39:34 +01:00
6f72f92493
Kernel: Start preparing for recursive paging
2022-11-08 17:12:59 +01:00
2230ebd969
Wrap math.h around builtins
2022-11-06 21:37:00 +01:00
472192bcf2
libc: Define LC_NUMERIC
2022-11-06 20:47:16 +01:00
78ee6ce34a
libc: Stub out scanf()
2022-11-06 20:47:07 +01:00
c9e20fd38e
Why are there so many errno values
2022-11-06 20:46:34 +01:00
2eeef9581f
libc: Add strxfrm()
2022-11-06 19:56:36 +01:00
2e9348181d
Tests: Add tests for strcmp() and strncmp()
2022-11-06 19:51:56 +01:00
5d94525c7a
Kernel: Figure out why a program is misbehaving
2022-11-06 18:12:25 +01:00
c6ce7a5358
libc: Add bsearch (with a test!!)
2022-11-06 17:34:35 +01:00
1025248cc7
libc: Add qsort (with a test!!)
2022-11-06 17:16:08 +01:00
44815b08c7
Kernel: Use copy_from_user() and copy_to_user() in read/write
...
This is huge. Finally, we can do proper reads/writes with invalid addresses, or big buffers.
2022-11-06 15:19:23 +01:00
04ae97a6ec
libc: Add difftime()
2022-11-06 15:09:38 +01:00
2980ee3973
libc: Make fread() and fwrite() less awkward
2022-11-06 14:53:05 +01:00
88011fc162
init: Use fread() properly
2022-11-06 14:52:50 +01:00