Commit Graph

2087 Commits

Author SHA1 Message Date
db3151d93b
init: Add some missing pledges
Some checks failed
continuous-integration/drone/push Build is failing
2023-08-14 11:08:19 +02:00
ba3e32917e
init: Support starting services as a separate user
Some checks failed
continuous-integration/drone/push Build is failing
2023-08-14 10:46:45 +02:00
cfb60fad25
init: Use pledge and support init --user 2023-08-14 10:46:28 +02:00
9954fc1658
libos: Add a pledge wrapper 2023-08-14 10:45:00 +02:00
a98df9e743
kernel: Return EACCES when trying to apply execpromises to a setuid program
Closes #41.
2023-08-14 09:50:52 +02:00
e2a77bb3da
kernel+libc: Add pledge support
Some checks failed
continuous-integration/drone/push Build is failing
2023-08-12 21:38:25 +02:00
0ae409ae22
ports: Some enhancements in make-package.sh
Some checks failed
continuous-integration/drone/push Build is failing
2023-08-11 18:25:07 +02:00
181b4c151b
tools: Build libstdc++ 2023-08-11 18:24:38 +02:00
0c64b6e040
libc: Add some stub network-related header files 2023-08-11 18:09:45 +02:00
fb3c31907d
fix 2023-08-11 18:09:28 +02:00
52064e0317
libc+kernel: Add alarm() and getpagesize() 2023-08-11 18:09:12 +02:00
ec3c1132d2
libc: Fix constness of some socket functions 2023-08-11 18:00:15 +02:00
5ea73197ad
libluna: Add a bunch more errno definitions 2023-08-11 17:59:41 +02:00
5a1adcb2a6
libc: Add putenv 2023-08-11 17:59:04 +02:00
c4f6191e24
libc: Implement some simple stuff needed for gcc 2023-08-08 22:06:11 +02:00
39e4fbd112
libc: Provide a bunch of math functions wrapped around compiler builtins 2023-08-08 20:38:38 +02:00
32fd6889b9
ports: Add pkg-config wrapper
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-08 20:28:11 +02:00
c6a5a81a7a
ports: Port required libraries to build GCC
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-08 19:51:45 +02:00
3f55a70f6e
ports: Auto-strip binaries, remove libtool .la files, add dependencies 2023-08-08 19:46:04 +02:00
b1e164f360
libc. Add basic wchar.h 2023-08-08 19:43:23 +02:00
ed8b210639
kernel: Detect some other cases of non-DMA support
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-08 18:23:13 +02:00
16590dbb02
ports: Avoid using two separate directories for port packages
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-08 17:43:27 +02:00
919c71ff85
README: More features
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-08 16:19:38 +02:00
1caa2c0888
Update README.md
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-08 16:04:10 +02:00
8748364b7e
ports: Add a binutils port =D
All checks were successful
continuous-integration/drone/push Build is passing
I can't believe the fact that there is a working gas and ld on Luna. At least, for a hello world program anyway :)

objdump seems to have some problems with stack size in some cases, but apart from that, no crashes.

And that can easily be solved with either more stack preallocation or stack resizing in the kernel on page faults.
2023-08-08 16:00:31 +02:00
49662b6069
tools: Calculate the needed fs size dynamically 2023-08-08 15:43:20 +02:00
d96ff92461
libc: Add borrowed strtod implementation 2023-08-08 15:17:25 +02:00
bfb76b5625
kernel: Properly expose block device sizes with the new metadata API 2023-08-08 15:17:08 +02:00
8c13513bf4
libc: Add strcoll()
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-08 14:40:14 +02:00
37e9b25b62
apps: Add touch
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-08 14:34:58 +02:00
a92077d311
kernel+libc: Add all variants of utime
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-08 14:14:35 +02:00
1481a4736a
tmpfs: Update mtime on writes
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-08 13:36:25 +02:00
4195e7f206
kernel+libc+stat: Add support for file times
All checks were successful
continuous-integration/drone/push Build is passing
The modification time is not updated though.
2023-08-08 13:33:40 +02:00
159c05c064
libluna: Add max() and min()
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-08 12:39:03 +02:00
b63a8ff245
libluna: Move get_blocks_from_size to a new header and call it ceil_div instead
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-08 11:58:33 +02:00
917203ef11
kernel: Run the init function in a separate block to free everything before kernel_exit is called
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-08 10:44:18 +02:00
826be882a9
kernel: Interrupt syscalls before exiting because of a signal
Closes #40.
2023-08-08 10:41:46 +02:00
198935eb30
libc: Reset the read buffer even when read() returns an error
This fixes the same data being read multiple times if an error was returned
2023-08-08 10:39:15 +02:00
7c254e5e15
kernel: Properly check memory bounds in strdup_from_user()
All checks were successful
continuous-integration/drone/push Build is passing
Missed this one in 097353e779.
2023-08-08 10:27:19 +02:00
2e63b93e48
libos: Remove debug statements from Process::spawn()
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-07 22:53:37 +02:00
77ebdda2e0
libos: Add Process::spawn()
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-07 22:49:12 +02:00
097353e779
kernel: Properly check memory bounds while touching user memory
Before this patch, one byte of each page was being accessed without checking the page's permissions.
2023-08-07 22:49:00 +02:00
10c892d606
kernel: Allow null envp in execve()
As far as I know, this is not standard, but I'm doing this as a convenience for programs using exec() right after clearenv().
2023-08-07 22:48:21 +02:00
f45734c61d
kernel/ATA: Stop storing ATA::Drive in a separate shared pointer
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-07 19:22:57 +02:00
bc20e1a31b
kernel: Store FD_CLOEXEC in the file descriptor itself
All checks were successful
continuous-integration/drone/push Build is passing
Closes #39.
2023-08-03 17:47:18 +02:00
b01aa72f17
libc+init+shmem-test: Add POSIX shared memory objects
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-03 10:32:52 +02:00
d41fb85466
libluna/SharedPtr: Count references with separately created objects properly 2023-08-03 10:32:22 +02:00
5aa042a5f2
kernel: Add constructors to SharedMemory 2023-08-03 10:31:58 +02:00
f150425222
kernel: Create a new shared memory object if the old one was lost 2023-08-03 10:31:29 +02:00
842b212685
kernel: Set a SharedMemory object's prot value 2023-08-03 10:30:43 +02:00