f0058e67c2
LibC: add function declarations to math.h
2023-05-11 00:34:03 +03:00
508d6311de
LibC: define all errnos and strerror{name,desk}_np
2023-05-11 00:34:03 +03:00
7c6bf40d0d
LibC: add function declarations to time.h
2023-05-11 00:34:03 +03:00
a74343c589
LibC: add more types to sys/types.h
2023-05-11 00:33:53 +03:00
d188576ef3
LibC: Add dummy signal.h
2023-05-10 23:20:27 +03:00
d922c5e1d0
LibC: add toupper, tolower in ctype.h
2023-05-10 23:13:56 +03:00
0adf24fcad
LibC: Add dummy setjmp.h
2023-05-10 23:00:53 +03:00
80e13965d9
LibC: Add dummy locale.h
2023-05-10 22:58:07 +03:00
36707ec87a
LibC: implement printf conversions e, E, f, F
2023-05-10 22:36:03 +03:00
5f89f083a2
LibC: add math.h with floorl
2023-05-10 22:35:42 +03:00
cae0a1cc60
LibC: add working f modifier to printf
...
This is implementation will write out of bounds if the conversion
takes more than 1024 characters (either super large number or very
big percision).
Also we dont handle NaN and infinity cases
2023-05-10 15:43:42 +03:00
480d92fce5
LibC: add better error string support
2023-05-10 02:22:31 +03:00
49fe3d0d4f
LibC: add probably functional *printf
...
I wrote a general printf function that takes an putc function
pointer. We can use this to implement all the printf family
functions. I haven't done thorough testing with this, but it seems
to be functional for the most part
2023-05-10 02:00:28 +03:00
ff2e2937a5
Kernel: Remove offset from OpenFileDescriptor
...
This is now handled on the libc side. There might be reasons to
have it in kernel side, but for simplicity's sake I'm moving it
to libc for now :)
2023-05-09 20:31:22 +03:00
0cc1fb53d5
LibC: Fix bug in *printf
2023-05-09 20:30:12 +03:00
05046d6e93
BAN: Error uses 64 bit error codes
2023-05-07 02:09:52 +03:00
054c5450df
LibC: syscall() now returns -1 on error and updates errno
2023-05-07 01:51:39 +03:00
12e42f40c5
Kernel/LibC: add free function for FixedWidthAllocator
...
I have to rework the syscall API and allocators in process. For
now this works well enough :)
2023-05-07 01:21:50 +03:00
bcfd838131
Kernel: Add basic fixed width allocator for userspace
...
We have to move process stacks to the general heap and maybe map
kernel to higher half.
2023-05-06 19:58:08 +03:00
e1a6e7c3ac
LibC: add proper stdlib.h header
...
Function declarations taken from the posix specifications
2023-04-27 15:14:03 +03:00
3537d53d5c
LibC: add link to posix stdio.h
2023-04-27 14:16:25 +03:00
1d42b26fce
LibC: Fix some bugs
2023-04-25 13:27:01 +03:00
79812b34b0
LibC: fread() now does a single syscall
2023-04-25 12:38:08 +03:00
cd74b2167d
LibC: Write mostly functioning stdio
2023-04-23 14:32:37 +03:00
ff8c0086e2
LibC: puts() now just calls syscall(SYS_WRITE, ...)
2023-04-22 15:29:38 +03:00
dc1b7cf08f
LibC: syscalls have now proper argument order
2023-04-22 15:29:15 +03:00
d9b7747fc5
LibC: exit() calls _fini()
2023-04-19 00:42:00 +03:00
3f9d6f0311
LibC: add needed stubs to build executables with our compiler
2023-04-12 17:53:02 +03:00
aa2aee684b
Kernel: remove message from BAN::Error
...
We don't store the error message anymore in BAN::Error.
Instead we store a error code that can be mapped into a string.
This allows BAN::Error to only take 4 bytes instead of 128.
We should also make some kernel initialization just panic instead
of returning errors since they are required for succesfull boot
anyway.
2023-04-11 23:25:21 +03:00
781cc78a1f
BuildSystem: Fix header copying to sysroot
...
We used to copy all headers everytime to sysroot which caused
rebuild of the whole os. Now we use the cmake command
'copy_directory_if_different' which seemed to fix this issue :)
2023-04-10 21:07:25 +03:00
25ddc24754
BuildSystem: cmake can now build out libc
...
I can't seem to get libc++ build to work...
2023-04-10 21:07:25 +03:00
989f9ec5fe
LibC: remove old unused files
2023-04-07 02:26:44 +03:00
8a8793fd2d
BuildSystem: you can now build the toolchain with cmake
2023-04-06 00:23:02 +03:00
a5830c5424
LibC: add stubs for a lot of functions
2023-04-05 23:58:40 +03:00
b6896a6d85
LibC: sys/types uses 'typedef' instead of 'using'
2023-04-05 15:03:24 +03:00
67ff01e915
LibC: Add errno ENOTTY
2023-04-05 02:47:37 +03:00
63e863ad35
LibC: Add unistd.h with STD{IN,OUT,ERR}_FILENO definitions
2023-04-05 00:59:48 +03:00
86d777e2eb
LibC: add device macros in sys/sysmacros.h
2023-04-03 10:59:15 +03:00
4c5176f751
BuildSystem: We are now using cmake instead of plain make
...
I have been annoyed for a while since I had to build everything
when running the os since the buildsystem was really bad.
I wanted to rewrite the whole build system and changed to using cmake
:)
2023-04-02 04:07:27 +03:00
d71f1f24e4
LibC: Combine string.h functions definitions to single file
2023-04-02 00:00:29 +03:00
cd0d10b64e
LibC: add ENOBUFS errno
2023-03-29 10:58:25 +03:00
32c3aca52f
LibC: add dirent.h
2023-03-25 02:08:33 +02:00
9fd17ef73c
LibC: Add stat structure
2023-03-24 18:08:22 +02:00
1be8b2f514
LibC: add more typedefs to sys/types
2023-03-23 19:24:12 +02:00
d6e4430692
LibC: add errno NAMETOOLONG
2023-03-23 14:48:42 +02:00
cf2be54e8f
LibC: add errno ENOTEMPTY
2023-03-19 05:43:40 +02:00
3ab62e83d3
LibC: add errno EEXISTS
2023-03-19 04:17:39 +02:00
ceb53533be
LibC: add fcntl.h with some defines
2023-03-17 21:18:41 +02:00
e2707b9416
LibC: Add EBADF errno
2023-03-16 16:22:11 +02:00
4493c9bbe6
LibC: Add ENTOSUP errno
2023-03-16 16:03:51 +02:00