Commit Graph

818 Commits

Author SHA1 Message Date
6ab246a05e libc: Add a basic implementation of pathconf() 2022-11-12 14:15:21 +01:00
9e8a57cec7 libc: Add getdtablesize()
No system call for this, since the limit is fixed right now
2022-11-12 14:15:02 +01:00
f46831f459 libc: Define PATH_MAX
This restriction is actually not enforced by the kernel. It should be.
2022-11-12 14:13:28 +01:00
5fa8569ff9 libc: Add creat() 2022-11-12 14:12:49 +01:00
a3896c2546 libc: Define MB_CUR_MAX 2022-11-12 13:24:04 +01:00
3f867b936e libc: Implement stpcpy
This function is unsafe so it is marked as deprecated, but if programs need it they can use it.
2022-11-12 13:20:28 +01:00
16e6fba2d0 Add a bit more C++ stuff to the C++ app 2022-11-12 13:12:51 +01:00
de2451e553 Kernel: Change up the logging in the kernel's PRNG 2022-11-12 12:56:13 +01:00
11ee01f269 Kernel: Remove "checkpoint logging" in main.cpp 2022-11-12 12:55:47 +01:00
bf1d3d3f05 mkdir: Print newline after usage 2022-11-12 12:53:33 +01:00
5c51b82f6a Kernel: Remove obtain_user_ref and add copy_typed_to and from_user 2022-11-12 12:08:26 +01:00
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