37 Commits

Author SHA1 Message Date
f7ac2601c6 newlib: Added dbg trap for alloc reent err
Signed-off-by: Max Logaev <maxlogaev@proton.me>
2026-01-16 18:51:59 +03:00
419c67b51a newlib: No use crt0
Since crt0 cannot be separated from newlib,
there is no point in having it separately.

Signed-off-by: Max Logaev <maxlogaev@proton.me>
2026-01-16 18:47:54 +03:00
e2729157e4 map2dbg: Implemented
Signed-off-by: Max Logaev <maxlogaev@proton.me>
2026-01-13 18:00:02 +03:00
e41f3ad2a7 newlib: Removed old crt_start.S
Signed-off-by: Maxim Logaev <maxlogaev@proton.me>
2026-01-04 23:59:25 +03:00
4b862f5312 newlib: Apply size optimization -Os
Signed-off-by: Maxim Logaev <maxlogaev@proton.me>
2026-01-04 23:52:00 +03:00
a315fb4ae5 newlib: Rollback stack allocation in startup code
- Removed setting stack boundaries in TLS as libgcc is no longer used;
- The startup code (crt0.o) is now universal and can be used
  without libc;
- Fixed linker script:
    - The stack size is taken from the linker option "--stack".
      Default is 2MB;
    - Fixed names of exported symbols.
- Added kolibrios/app.h for headers of executable files.

Signed-off-by: Maxim Logaev <maxlogaev@proton.me>
2026-01-04 21:04:48 +03:00
ab6d0d9469 gcc: Disable gen __chkstk call
"__chkstk" and "__chkstk_ms' are Windows specific functions
needed to allocate additional stack space using Windows exception
handling. Stack boundary checks are meaningless here since objects
on the stack smaller than a page are skipped.

"-mstack-arg-probe" now has no effect.

Signed-off-by: Maxim Logaev <maxlogaev@proton.me>
2026-01-04 20:20:36 +03:00
40a7b8928a tools: Added conv script for KOSfuncs.inc to C defines
Signed-off-by: Maxim Logaev <maxlogaev@proton.me>
2026-01-02 22:53:26 +03:00
d329843dc5 other: Added .clang-format and compile_flags.txt
Signed-off-by: Maxim Logaev <maxlogaev@proton.me>
2026-01-02 22:12:57 +03:00
e1e0087a69 tests: Fixed typos
Signed-off-by: Maxim Logaev <maxlogaev@proton.me>
2026-01-02 22:06:38 +03:00
167b12255f newlib: Impl sbrk() emulation for malloc/free
- Added malloc test;
- Test sources are now in one dir.

Signed-off-by: Maxim Logaev <maxlogaev@proton.me>
2026-01-02 21:54:19 +03:00
d743a7eb35 newlib: Added reent support
- Reentrant wrappers will no longer be generated
  for "syscalls".
- Prefixes are no longer needed in syscalls names
- errno is now stored in the TLS reent structure.

TODO: remove prefixes _write() -> write();

Signed-off-by: Maxim Logaev <maxlogaev@proton.me>
2026-01-02 21:38:23 +03:00
a7777444d2 newlib: Set stack alloc error msg null-term
Signed-off-by: Maxim Logaev <maxlogaev@proton.me>
2026-01-02 19:09:34 +03:00
46917aac02 libgcc: Added check stack overflow
Signed-off-by: Maxim Logaev <maxlogaev@proton.me>
2026-01-02 19:07:53 +03:00
e070349f2f newlib: Added kolibrios/limits.h
- Mark TLS functions as "internal";
- Fixed copyrights;
- Removed obsolete ksys.h file.

Signed-off-by: Maxim Logaev <maxlogaev@proton.me>
2026-01-02 15:52:06 +03:00
38d614738b newlib: Restore stack init at runtime
- Moved KolibriOS syscall wrappers;
- Added KolibriOS TLS header.

Signed-off-by: Maxim Logaev <maxlogaev@proton.me>
2026-01-02 03:21:29 +03:00
993b053557 newlib: Removed dependencies after autoreconf
Signed-off-by: Max Logaev <maxlogaev@proton.me>
2025-12-24 17:43:39 +03:00
01e30af541 Added ports dir to .gitignore
Signed-off-by: Max Logaev <maxlogaev@proton.me>
2025-12-24 17:39:31 +03:00
c17625cf4b newlib: Apply autoreconf -i after adding kolibrios
Signed-off-by: Max Logaev <maxlogaev@proton.me>
2025-12-24 17:38:24 +03:00
e00a886a2b newlib: Initial porting to KolibriOS
- Added stubs for "system calls";
- Added kolibrios as host;
- Added newlib as dependency for the tesh-hello.

Signed-off-by: Max Logaev <maxlogaev@proton.me>
2025-12-24 17:35:27 +03:00
4d8e694c2e toolchain: Added autoconf-2.69 and automake-1.15.1
Environment variables changed:
- KOS_SDK_DIR to install libraries
- KOS_PORTS_DIR for ported applications to KolibriOS

Signed-off-by: Max Logaev <maxlogaev@proton.me>
2025-12-24 17:25:22 +03:00
aa7a9c99f3 build: Fixed build dependencies
Signed-off-by: Max Logaev <maxlogaev@proton.me>
2025-12-23 21:48:02 +03:00
7497978ebe docs: Added prepare section to README
Signed-off-by: Max Logaev <maxlogaev@proton.me>
2025-12-23 21:48:01 +03:00
2ca56e5f82 toolchain: Removed redundant build recipes
Signed-off-by: Max Logaev <maxlogaev@proton.me>
2025-12-23 21:48:01 +03:00
e67f7b0649 libgcc: Fixed typo with quote in config.host 2025-12-23 21:48:01 +03:00
e6638291ba Added KolibriOS/Menuet32 magic for file utility
Signed-off-by: Max Logaev <maxlogaev@proton.me>
2025-12-23 21:48:01 +03:00
7b478b5dc3 docs: Fixed typo in README.md
Signed-off-by: Max Logaev <maxlogaev@proton.me>
2025-12-23 21:48:01 +03:00
979cb3e0fc docs: Added minimal build instruction
Signed-off-by: Maxim Logaev <maxlogaev@proton.me>
2025-12-23 21:48:00 +03:00
1f4ef5b325 build: Added run-kos.sh script
Signed-off-by: Maxim Logaev <maxlogaev@proton.me>
2025-12-23 21:48:00 +03:00
afe786c60e tests: Added hello (prints a message to the debug board)
Signed-off-by: Maxim Logaev <maxlogaev@proton.me>
2025-12-23 21:48:00 +03:00
219b491353 build: Added CMake support
Signed-off-by: Max Logaev <maxlogaev@proton.me>
2025-12-23 21:48:00 +03:00
f78b881099 gcc: Fixed typo in libgcc/config.host
Signed-off-by: Max Logaev <maxlogaev@proton.me>
2025-12-23 21:48:00 +03:00
6e17e865bb newlib: Added original newlib-4.4.0.20231231 source
Signed-off-by: Maxim Logaev <maxlogaev@proton.me>
2025-12-23 21:47:59 +03:00
9538512ddb kos-crt-stub: Minimal implementation added
Signed-off-by: Maxim Logaev <maxlogaev@proton.me>
2025-12-23 21:47:59 +03:00
b1a2814348 toolchain: Added basic support for KolibriOS
Signed-off-by: Maxim Logaev <maxlogaev@proton.me>
2025-12-23 21:47:44 +03:00
30fa326152 toolchain: added gcc-13.2.0 and binutils-2.41 sources
Signed-off-by: Maxim Logaev <maxlogaev@proton.me>
2025-12-23 21:47:16 +03:00
ab6cebf584 Initial commit 2024-02-27 18:14:57 +03:00