Commit Graph

2879 Commits

Author SHA1 Message Date
Bananymous 0f2c02fb04 LibC: Add stubs for pthread_{get,set}schedparam 2025-06-28 16:55:13 +03:00
Bananymous 6d3d41abe2 Kernel: Fix possible division by zero in scheduler 2025-06-28 16:55:13 +03:00
Bananymous 6fa7fe26dc ports: Add support for meson build systems 2025-06-28 16:55:13 +03:00
Bananymous fe804c123d ports: Add expat port 2025-06-28 16:55:13 +03:00
Bananymous dba32fb95d ports: Add SONAME to zlib's dynamic library 2025-06-28 16:55:13 +03:00
Bananymous 7dc187fdb1 ports: Update gcc 12.2.0->15.1.0
Also enable threading :)
2025-06-28 16:55:13 +03:00
Bananymous ee5a627952 ports: Update mpfr 4.2.1->4.2.2 2025-06-28 16:53:06 +03:00
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