Commit Graph

2872 Commits

Author SHA1 Message Date
Bananymous 3b83561309 ports: Fix gmp port to compile with gcc 15.1.0 2025-06-28 16:53:06 +03:00
Bananymous 6fb0b5203a ports: Update binutils 2.39->2.44 2025-06-28 16:53:06 +03:00
Bananymous 4677d7a1c6 LibC: Update RAND_MAX INT32_MAX -> INT_MAX 2025-06-19 19:06:24 +03:00
Bananymous 3283359ac8 Kernel: Cleanup ANSI DSR 2025-06-19 19:05:49 +03:00
Bananymous fff16f6b8c Kernel: don't directly access user memory in mmap 2025-06-19 19:04:20 +03:00
Bananymous a347ceba74 Kernel: Cleanup sys_wait sleep/signal handling 2025-06-19 19:03:42 +03:00
Bananymous 05836fab4c Kernel: Allow accessing fd's inode without having read/search access
I have no idea what the point of this was. VFS is already verifying
read and search access
2025-06-19 19:02:28 +03:00
Bananymous 15e84f28ed LibC: Include strings.h in string.h 2025-06-19 19:01:45 +03:00
Bananymous 32c35a822b BuildSystem: binutils1.39->1.44, gcc12.2.0->15.1.0 2025-06-19 19:00:50 +03:00
Bananymous 9c86e5e54d Kernel: Add ANSI SGR 39 and 49
Also debug log unimplemented ANSI SRGs, this makes finding missing
commonly used ANSI SGR codes more easy
2025-06-18 20:34:55 +03:00
Bananymous 87f348b48e LibC: Fix my ugly and hacked posix_memalign 2025-06-18 14:17:17 +03:00
Bananymous ff289b25b6 LibC: Implement {,v}asprintf
These were added in POSIX issue 8
2025-06-17 13:56:30 +03:00
Bananymous a9f58e96d2 LibC: Add endian.h
This is part of POSIX issue 2024 and some software depends on it
2025-06-17 13:15:42 +03:00
Bananymous c61ded8a1e toolchain: Update gcc patch to add pthread driver
This makes gcc recognize -pthread argument
2025-06-17 12:49:59 +03:00
Bananymous 7651ca747d LibC: Allow searching null char with wcschr 2025-06-16 15:09:55 +03:00
Bananymous 7ff7a4aa87 LibC: Fix locale handling in wcrtomb and mbrtowc 2025-06-16 15:09:39 +03:00
Bananymous cdcd226b1a LibC: Fix mbstowcs and add wcstombs 2025-06-16 15:08:49 +03:00
Bananymous f9451915b9 LibC: Use `pause` in pthread spinlock locking 2025-06-16 15:07:58 +03:00
Bananymous 5e4e174d61 tests: Add tls test 2025-06-16 15:07:26 +03:00
Bananymous 4a00cb7d55 DynamicLoader: Add few more TLS relocations 2025-06-16 15:06:48 +03:00
Bananymous b97c123764 BAN: Make WeakPtr::lock const
There is no reason why it would not be :)

Also this prevented upstream from compiling
2025-06-11 16:53:43 +03:00
Bananymous 69bdff6b7e ports: Add links port
We now have graphical browser on banan-os :O
2025-06-11 16:02:00 +03:00
Bananymous 8574fcf6e1 ports: Add libwebp port 2025-06-11 16:01:47 +03:00
Bananymous f4f424bf04 ports: Add libtiff port 2025-06-11 16:01:47 +03:00
Bananymous ac745bfa3d ports: Add libjpeg port 2025-06-11 16:01:47 +03:00
Bananymous aa691f236e ports: Add libpng port 2025-06-11 16:01:47 +03:00
Bananymous a0a9d49d81 ports: Update toolchain triple and add post_configure
post_configure is called after default configure. This can be used for
port specific customization when using default configure function
2025-06-11 16:01:47 +03:00
Bananymous 125f8b591d Kernel: Don't crash if socket tries to reconnect
:D
2025-06-11 01:54:41 +03:00
Bananymous c97b60e7e5 LibGUI: Remove parameters I had forgot in function declarations 2025-06-11 01:53:31 +03:00
Bananymous 8a73414e3e LibGUI: Add support for clip area to texture 2025-06-11 01:53:31 +03:00
Bananymous ac22e006a4 Shell: Don't get stuck on broken state when failing to build command 2025-06-10 11:03:02 +03:00
Bananymous 30d5d85d1d userspace: Add `test` utility 2025-06-08 23:56:39 +03:00
Bananymous 6f74f3c386 BAN: Allow constexpr construction of StringView 2025-06-07 18:29:32 +03:00
Bananymous 515918329c ports: Add SpecSeek port 2025-06-06 17:41:59 +03:00
Bananymous 8ea0a67280 Terminal: Add support for tabs 2025-06-06 16:41:06 +03:00
Bananymous 5ad7d7edb1 DynamicLoader: Fix TLS on 32 bit platform
There were two problems with my previous implementation
- TLS was not allocated if nothing used it. There is a fallback
  initialization in _init_libc, but this was not enough if one of the
  init functions tried to access errno.
- __tls_get_addr was not resolved. If __tls_get_addr was called through
  a plt entry, everything would just break :(
2025-06-06 16:27:07 +03:00
Bananymous 00c6820825 LibC: Make {open,sys,close}log use their own FILE instead of stddbg 2025-06-06 11:59:15 +03:00
Bananymous 6beaafcf11 LibC: Define std{in,out,err,dbg} with their actual names 2025-06-06 11:56:39 +03:00
Bananymous e92f039a17 Kernel: Fix tcp sending with already sent unacknowledged bytes 2025-06-06 11:55:44 +03:00
Bananymous ef76ffa1c1 Kernel: Remove unnecessary hack
This is no longer needed as thread unlocks its spinlock before calling
Process::exit() on terminating signal
2025-06-06 11:13:55 +03:00
Bananymous 652eb2346c Kernel: Fix syscall interrupt disabling
If thread had a terminating signal, syscall leaving would try to lock
process's mutex while not having interrupts enabled
2025-06-06 11:12:48 +03:00
Bananymous 66726090ec Kenrel: Fix TCP connection closing
If TCP socket was connected with connect() instead of accept() it would
never send FIN to other end when it was closed.
2025-06-06 11:10:29 +03:00
Bananymous b668173cba Kernel: Fix pseudo terminal writability 2025-06-06 11:09:50 +03:00
Bananymous a7e20d6e85 LibC: Fix getnameinfo port endianness 2025-06-06 06:52:56 +03:00
Bananymous c6ded82406 Kernel: Fix a deadlock when thread is executing terminating signal 2025-06-06 06:52:27 +03:00
Bananymous a76c6faffc Kernel: Fix a deadlock when process is exiting 2025-06-06 06:52:02 +03:00
Bananymous 81ff71a97f Kernel: Track the number of recursive spinlocks a thread is holding 2025-06-06 06:51:15 +03:00
Bananymous 56db0efe58 Kernel: Add missing file for race condition fixes :) 2025-06-06 04:03:37 +03:00
Bananymous 5eefd98e1b Kernel: Add debugging macro to dump syscalls that take a long time 2025-06-06 04:00:57 +03:00
Bananymous eecdad50a6 Kernel: Fix most of mutex + block race conditions
All block functions now take an optional mutex parameter that is
atomically unlocked instead of having the user unlock it before hand.
This prevents a ton of race conditions everywhere in the code!
2025-06-06 03:59:22 +03:00