Bananymous
|
cb7d5c9d09
|
userspace: Implement `dirname` utility
|
2024-12-05 08:30:30 +02:00 |
Bananymous
|
097ab82529
|
userspace: Implement `basename` utility
|
2024-12-05 08:30:06 +02:00 |
Bananymous
|
ccb603d77f
|
aoc2024: Implement day5 solution
|
2024-12-05 08:16:34 +02:00 |
Bananymous
|
d7b02db832
|
aoc2024: Implement day4 solution
|
2024-12-05 08:16:12 +02:00 |
Bananymous
|
56cc5da9fb
|
userspace: Implement `ln` utility
|
2024-12-05 08:14:45 +02:00 |
Bananymous
|
1903079f96
|
LibC: Fix popen to return correct return value instead of -1
|
2024-12-05 06:47:10 +02:00 |
Bananymous
|
b6d0950ee9
|
LibC: Fix strftime implementation
This implementation now passes every musl-libc test :)
|
2024-12-05 06:46:31 +02:00 |
Bananymous
|
c1a32a4041
|
LibC: Implement mktime
|
2024-12-05 06:43:35 +02:00 |
Bananymous
|
8fa443879c
|
ports: Add working tcc port!
You can actually now compile programs within banan-os!!
|
2024-12-04 21:23:09 +02:00 |
Bananymous
|
3a465cb94f
|
DynamicLoader: Don't write to pltgot if it does not exist
This makes `tcc` compile runnable executables
|
2024-12-04 21:11:43 +02:00 |
Bananymous
|
49133dce48
|
Kernel: Make pipe check data every 100ms
This prevents dead lock if read-end does not detect data before blocking
why write-end already notified.
|
2024-12-03 21:54:27 +02:00 |
Bananymous
|
3b7b6beca5
|
ports: Allow using banan-os cmake toolchain file for ports
|
2024-12-03 20:29:38 +02:00 |
Bananymous
|
0dd81328ff
|
ports: Unconditionally compile banan-os before building ports
This allows ports to use any banan-os library cleanly. Ninja is fast on
when everything is already compiled, so it doesn't add too much
overhead.
|
2024-12-03 20:29:38 +02:00 |
Bananymous
|
a668593e6b
|
ports: Don't update ports on every build
This makes using ports much less painful :)
|
2024-12-03 20:29:38 +02:00 |
Bananymous
|
3a5a22511a
|
aoc2024: Implement day3 solution
|
2024-12-03 20:29:38 +02:00 |
Bananymous
|
86859267f0
|
ports/curl: remove libcurl.la file and use /dev/urandom
|
2024-12-03 20:29:38 +02:00 |
Bananymous
|
88c9f6d233
|
LibC: Make environ a weak alias
If user program defines its own global `environ` variable it will still
work :)
|
2024-12-03 20:29:38 +02:00 |
Bananymous
|
176693dd5a
|
LibC: Implement wcscmp and wcsncmp
|
2024-12-03 16:21:54 +02:00 |
Bananymous
|
62bee04fc0
|
LibC: Implement dummy utime that just checks file existance
|
2024-12-03 16:21:18 +02:00 |
Bananymous
|
0a5aacfd87
|
Kernel: Allow open with O_CREAT bypass file permission checks
call to open(path, O_CREAT|O_EXCL|O_RDWR, 0444) should open file as
read-write although file is created as read-only on filesystem.
|
2024-12-03 16:17:34 +02:00 |
Bananymous
|
2dec3a6c95
|
Kernel: Add some sanity checks for existanse of threads
|
2024-12-03 16:16:50 +02:00 |
Bananymous
|
fcc2814199
|
Kernel: Remove process from alarm list after it dies
|
2024-12-03 16:16:08 +02:00 |
Bananymous
|
bc93d238dd
|
LibC: Fix fread argument order in gethostname
|
2024-12-03 16:15:16 +02:00 |
Bananymous
|
79e2c5d48c
|
LibC: Make FILE* reading buffered
There was no reason to perform a syscall for every byte read
|
2024-12-03 16:13:48 +02:00 |
Bananymous
|
0fab7ad63b
|
Kernel: Fix SYS_FCNTL command handling :)
I had misunderstood how these work
|
2024-12-03 16:12:26 +02:00 |
Bananymous
|
e6a2f55a59
|
Kernel: Closing file backed mmap wont expand the file size
|
2024-12-03 16:12:26 +02:00 |
Bananymous
|
67e9ca56ac
|
Kernel: Create /dev/urandom -> /dev/random symlink
Most software uses urandom instead of random so this allows it work
normally.
|
2024-12-03 16:12:26 +02:00 |
Bananymous
|
713daf6cd3
|
Kernel/LibC: Add support for creating hardlinks
|
2024-12-03 16:12:26 +02:00 |
Bananymous
|
12abe81c6d
|
ports/openssl: Add support for shared libraries
|
2024-12-03 01:46:59 +02:00 |
Bananymous
|
fbcf10c86d
|
LibC: Implement closelog and make syslog print to stddbg
|
2024-12-03 01:45:54 +02:00 |
Bananymous
|
415b20f884
|
LibC: Remove errno EEXISTS
I don't know why I had added this. It doesn't seem to be a thing on
either POSIX or linux. This was literally equivalent to EXIST
|
2024-12-02 20:13:38 +02:00 |
Bananymous
|
d58ca5f37a
|
Kernel/LibC: Implement symlink{,at}
|
2024-12-02 20:13:38 +02:00 |
Bananymous
|
11b6ee423e
|
LibC: Define timezone structure
|
2024-12-02 20:13:37 +02:00 |
Bananymous
|
a10ca47657
|
Kernel/LibC: Implement {,f}statvfs
|
2024-12-02 20:13:37 +02:00 |
Bananymous
|
ad1f175a39
|
Kernel/LibC: Implement getppid
|
2024-12-02 20:13:37 +02:00 |
Bananymous
|
fd3246113a
|
LibC: Implement missing execlp and cleanup exec code
|
2024-12-02 20:13:37 +02:00 |
Bananymous
|
b8013c883c
|
LibC: Implement getpass
|
2024-12-02 20:13:37 +02:00 |
Bananymous
|
ffcc4fd03a
|
init: Make tty owned by logged in user
|
2024-12-02 20:13:37 +02:00 |
Bananymous
|
9d97964998
|
LibC: Fix getpwend gid field :)
|
2024-12-02 20:13:37 +02:00 |
Bananymous
|
f0e54cdd51
|
LibC: Implement {asctime,ctime,gmtime,localtime}_r
Old non _r prefixed functions are now just wrappers around these new
functions :)
|
2024-12-02 20:13:37 +02:00 |
Bananymous
|
0360fd1efe
|
LibC: Implement mk{,d,s}temp
|
2024-12-02 20:13:37 +02:00 |
Bananymous
|
4508e099ff
|
LibC: Implement getpagesize
|
2024-12-02 20:13:37 +02:00 |
Bananymous
|
6ed1435aeb
|
Kernel/LibC: Implement tcgetpgrp
|
2024-12-02 20:13:37 +02:00 |
Bananymous
|
6346e288ad
|
LibC: Implement getrlimit
|
2024-12-02 20:13:37 +02:00 |
Bananymous
|
d2b503910f
|
userspace: fix aoc2023 and aoc2024 linking
This patch makes aoc projects not link against system libc but the cmake
libc target. This allows compilation before libc is installed
|
2024-12-02 20:13:37 +02:00 |
Bananymous
|
747c3b2a4b
|
Kernel/LibC: Implement fsync
|
2024-12-02 20:13:37 +02:00 |
Bananymous
|
cccb4e6d5e
|
LibC: Implement basename and dirname
|
2024-12-02 20:13:37 +02:00 |
Bananymous
|
f4c6afbdae
|
LibC: Add definitions to LibC that are used by some ports
|
2024-12-02 20:13:37 +02:00 |
Bananymous
|
d1ef380e6b
|
LibC: Add missing definitions for ifreq members
|
2024-12-02 20:13:37 +02:00 |
Bananymous
|
c02de2580d
|
Kernel: Add support for SIOCGIFNAME ioctl
|
2024-12-02 20:13:37 +02:00 |