Commit Graph

807 Commits

Author SHA1 Message Date
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