Bananymous
e05a735589
DynamicLoader: Honour STB_LOCAL binding
2025-11-02 22:47:02 +02:00
Bananymous
0be18c4a53
DynamicLoader: Make everything thread safe
...
This is kinda dumb implementation, but it works. We grap a global lock
on functions :)
2025-11-02 22:47:02 +02:00
Bananymous
e258fde25a
LibC: Implement unnamed semaphores
2025-11-02 21:11:16 +02:00
Bananymous
7367672570
Kernel: Default initialize flock as unlocked
...
This caused unlocked flock's to hang on lock
2025-11-02 21:10:13 +02:00
Bananymous
b822d42889
LibC: Define ESHUTDOWN
...
This is not used but some ports expect it to exist
2025-11-02 21:09:48 +02:00
Bananymous
10084ff1bb
LibC: Define FIONBIO
...
This doesn't do anything but some ports expect it to exist
2025-11-02 21:07:26 +02:00
Bananymous
c3c69ac727
LibC: Update _POSIX_* definitions and extern environ
...
environ is externed by other operating systems so some ports expect it
to be there
2025-10-30 16:49:12 +02:00
Bananymous
0cfda6f6a7
LibC: Add posix_fadvise as no-op
2025-10-30 16:34:03 +02:00
Bananymous
dc51ce9e92
LibC: Implement readdir_r and fix memory leak
2025-10-30 16:33:17 +02:00
Bananymous
aa0de2b00e
LibC: Fix stack_t::ss_sp type from void** -> void*
2025-10-30 15:43:25 +02:00
Bananymous
5f61581e1d
Kernel: Show QR code with panic logs on kernel panic
...
This makes debugging on real hardware easier!
2025-10-28 05:50:19 +02:00
Bananymous
f519cb2cc0
Kernel: Expose boot framebuffer device
2025-10-28 05:50:19 +02:00
Bananymous
37aef630d2
BAN: Fix Array and Vector span constness
2025-10-28 05:50:19 +02:00
Bananymous
d93fcff5db
userspace: Add LibQR
...
This library can be used to generate QR codes
2025-10-28 05:50:19 +02:00
Bananymous
4952a82af5
LibImage: Use LibDEFLATE instead of builtin DEFLATE decompressor
2025-10-28 05:50:19 +02:00
Bananymous
fecda6a034
userspace: Add LibDEFLATE
...
This can be used to compress and decompress DEFLATE data either in raw
or zlib format
2025-10-28 05:50:19 +02:00
Bananymous
9f0addbd8b
BAN: Implement simple priority queue
...
This is just a wrapper around BAN::Vector and heap functions
2025-10-26 00:32:00 +03:00
Bananymous
7f8ea6b8e0
BAN: Move heap functions to Heap.h
...
This also adds push_heap and pop_heap, similar to what C++ standard
library provides
2025-10-26 00:31:06 +03:00
Bananymous
9d3ea6fed7
BAN: Use new it_value_type_t in sorting functions
2025-10-26 00:30:51 +03:00
Bananymous
703b3eda56
BAN: Add it_value_type_t
...
This is a template that resolves into T for pointers to T and T::value_type otherwise. It allows using the underlaying type of an iterator or pointer for range based algorithms
2025-10-26 00:22:35 +03:00
Bananymous
84006e1e77
BuildSystem: Don't set symlink mode
...
Only call chmod if the file is not a symlink. Older versions of chmod
(shipped with ubuntu) don't support the -h flag.
2025-10-02 17:05:20 +03:00
Bananymous
73fb085a41
LibC: Add inet_pton for IPv4 addresses
2025-10-02 16:19:49 +03:00
Bananymous
c89780178f
LibC: Add sys/polls.h as wrapper for poll.h
...
some ports require this
2025-10-02 16:02:07 +03:00
Bananymous
2ac3976924
ports/libiconv: Fix download url
...
remove /pub/ part of url as mirrors don't seem to accept it
2025-10-02 15:54:55 +03:00
Bananymous
ac9dbd24e4
ports/vim: Fix compilation on new toolchain
2025-09-30 16:15:05 +03:00
Bananymous
3af9830a2e
ports/tuxraces: Cleanup cflag passing
2025-09-30 16:14:40 +03:00
Bananymous
da6b8eb2ab
BuildSystem: Use ftpmirror.gnu.org for downloads
...
ftp.gnu.org is really slow :(
2025-09-30 16:13:38 +03:00
Bananymous
da39e98adf
Kernel: Make F11 drop disk cache
...
This can be useful to detect memory leaks or something
2025-08-31 00:36:59 +03:00
Bananymous
791a541381
Kernel: Implement process stopping and continuing
2025-08-31 00:34:52 +03:00
Bananymous
56684e753b
Kernel: Fix PS/2 legacy controller detection
...
This was wrong for devices without FADT or pre revision 3 FADT
2025-08-29 21:07:33 +03:00
Bananymous
c7298edf65
Kernel: Clone executable path on fork
...
Before this forked processes had empty executables
2025-08-29 01:41:18 +03:00
Bananymous
30215963b2
Kernel: Fix /proc/<pid>/exe permissions
2025-08-29 01:40:56 +03:00
Bananymous
f15f88ebd6
TaskBar: Don't leak fds when reading battery info
2025-08-28 15:57:10 +03:00
Bananymous
391fc0c4c2
Kernel: Don't crash if Ext2 filesystem doing too many fileops
...
I had a hardlimit of 10 block buffers and if they ran out, the kernel
would crash. this patchs increases the number of buffers to 16 and
removes the crash condition when they run out :D
2025-08-28 15:55:40 +03:00
Bananymous
948ef2c820
Kernel: Fix race condition when destroying threads
2025-08-28 15:55:40 +03:00
Bananymous
c1b6b6b76a
Kernel: Fix string validation in unlink syscall
2025-08-28 15:55:40 +03:00
Bananymous
a8bb07052e
Kernel: Rewrite SMP message code
...
Remove locks and map smp buffer as uncached
2025-08-28 15:55:40 +03:00
Bananymous
6976a2dae7
Kernel: Add hardlink support to USTAR
...
Also handle file types L and K for long file names and link names
2025-08-28 15:55:40 +03:00
Bananymous
51cd951b4c
Kernel: Add hardlink support to tmpfs
2025-08-28 15:55:40 +03:00
Bananymous
16a5a234c1
Kernel: Cleanup hardlink creation
2025-08-28 15:55:40 +03:00
Bananymous
f994210927
LibC: Fix sigsetjmp (again)
...
I was using a wrong register for signal mask storage...
2025-08-28 15:55:40 +03:00
Bananymous
aaa8760d09
Kernel: Don't wait for ps2 timeout when flushing buffer
...
This speeds up boot time by a second :dd:
2025-08-28 15:55:40 +03:00
Bananymous
cea19ecc31
Kernel: Fix possible crash during exec
2025-08-28 15:55:40 +03:00
Bananymous
706cfeb443
Kernel: Allow file backed mapping be larger than inode size
...
This is only allowed if the mapping does **not** exceed a page boundary.
Some port was doing an exactly two-page-mapping on a file that was one
and a half page long
2025-08-28 15:55:40 +03:00
Bananymous
d9c91589f0
Kernel: Don't limit /tmp max size
2025-08-28 15:55:40 +03:00
Bananymous
9854691265
LibC: Don't leak fds on rename
2025-08-28 15:55:40 +03:00
Bananymous
32afa33a06
LibC: Make sure FILE's buffer does not get overflown
2025-08-28 15:55:40 +03:00
Bananymous
c6946d0145
LibC: Use pthread_mutex on FILE instead of atomics
2025-08-28 15:55:40 +03:00
Bananymous
abbe7b79d6
Kernel: Add /proc/<pid>/exe
2025-08-28 15:55:40 +03:00
Bananymous
e4abe75043
Kernel: Add /proc/self
2025-08-28 15:55:40 +03:00