Red Bear OS
32df50c8fa
relibc: add missing POSIX/Linux headers and constants
...
New headers:
- include/sys/ioccom.h: Linux UAPI ioctl encoding macros (_IO/_IOR/_IOW/_IOWR)
- include/byteswap.h: bswap_16/32/64 inline functions
- src/header/sys_statfs/: struct statfs + statfs()/fstatfs() functions
(delegates to fstatvfs, converts to Linux struct statfs format)
New constants:
- sys_socket: MSG_NOSIGNAL, MSG_PROBE, MSG_CONFIRM, MSG_MORE, MSG_FASTOPEN
- sys_mman: MAP_GROWSDOWN, MAP_DENYWRITE, MAP_EXECUTABLE, MAP_LOCKED, MAP_NONBLOCK
- elf/cbindgen.toml: ELFMAG and SELFMAG #defines in after_includes
These headers eliminate the need for shim patches in libwayland (MSG_NOSIGNAL),
mesa (sys/ioccom.h), qtbase (sys/statfs.h, ELFMAG), pipewire/wireplumber
(byteswap.h, MAP_* flags).
2026-07-10 14:15:18 +03:00
vasilito
4ef7e57571
0.3.0: converge relibc to upstream 0.6.0 + Red Bear patches
2026-07-06 19:13:57 +03:00
oddcoder
e14b3e09a5
Add elf.h header to relibc
2020-08-08 10:16:50 +02:00
oddcoder
f4d95ce43f
Add sys/select.h to sys/types.h
...
This was triggered by gcc for some reason It included sys/types.h and
assumed sys/select.h to be there. And that seams to be the case in musl.
The problem with relibc here is that sys/types.h is are part of relibc
"include/*.h" files, while sys/select.h is generated by cbindgen. That
makes it impossible to #include select.h in types.h epsecially that
there are files like fcntl.c that uses types.h. They would complain
about missing headers. I fixed this by renaming sys/types.h to
sys/types_internal.h and then generating types.h using cbindgen as well
except for that. however fcntl and dlmalloc can include types_internal
instead of types.h
2020-06-14 22:00:16 +02:00
Jeremy Soller
a6fffd3fb5
Add getrandom and sys/random.h
2020-05-22 11:50:54 -06:00
oddcoder
162999ac0b
Move towlower and towupper to wctype.h and Implement it
...
This patch creates wctype.h and impelementat two functions
that belong to that header file towupper and towlower. These
functions are building blocks for wcscasecmp and wcsncasecmp
which are utilized by binutils.
The implementation for towlower and towupper seams to be complex
so this implementation is mimicking that of musl libc
2020-04-26 19:13:03 +02:00
oddcoder
3a923aa62d
Implement #include<sys/user.h> and #include<sys/procfs.h>
...
This patch implements sys/user.h file that works for both x86_64 as well
as aarch64. This include file is used by sys/procfs.h which is needed
dependency for binutils. There is bug in this patch in aarch64 implementation
which is the lack of f128 implementation in rust, thus we can't create cbinding
for long double.
2020-04-24 22:08:49 +02:00
Jeremy Soller
46a330ec9e
Fix compilation of sys/resource
2019-09-18 15:55:27 -06:00
jD91mZM2
43ff8801bc
Format
2019-08-04 19:05:44 +02:00
jD91mZM2
e559a3e2e5
Stub for ptrace
...
It's happening...
2019-08-04 19:05:44 +02:00
Jeremy Soller
68c4e95b6d
Merge branch 'epoll'
2019-04-28 09:10:52 -06:00
Jeremy Soller
7bde036031
Remove va_list submodule, format
2019-04-21 15:45:55 -06:00
Jeremy Soller
d5eb1e2732
Add dl-tls.h, required for shared libraries
2019-04-12 09:30:02 -06:00
Robin Randhawa
f9f752d74c
aarch64-prep: Dummy auxv.h
...
For AArch64, the ring crate depends on the presence of this header and a definition
of getauxval.
2019-03-03 21:49:52 +00:00
Jeremy Soller
887d89c2bb
Add epoll (WIP)
2019-02-21 20:40:03 -07:00
Jeremy Soller
74dd5091f3
Add empty netinet_ip
2019-01-15 20:49:35 -07:00
Jeremy Soller
c71088e768
Cleanup and format
2019-01-14 21:07:24 -07:00
Jeremy Soller
89fca557f3
Remove old pthread module
2019-01-13 10:56:00 -07:00
Jeremy Soller
46020f466f
Add dlfcn, fixes for glib and gstreamer
2019-01-06 07:30:42 -07:00
Jeremy Soller
7ac3dfaa49
Implement sys_uio, define sockaddr_storage
2019-01-05 13:10:20 -07:00
Jeremy Soller
74af56d71b
Add statvfs and strtold
2018-12-14 12:00:21 -07:00
Jeremy Soller
c6d42dd9e3
Use openlibm's fenv.h
2018-12-13 15:25:47 -07:00
Jeremy Soller
1becb8c43a
Enable sys/mman
2018-12-09 16:24:23 -07:00
Jeremy Soller
8aae8e1564
Add PTE
...
Add sys_timeb header
2018-12-09 11:27:44 -07:00
Jeremy Soller
a39f170ed3
Reenable grp header (for git)
2018-12-02 12:35:38 -07:00
Jeremy Soller
950b4526c7
- Disable output of empty header files
...
- Remove incorrect header styles
- Use export.replace where header style was previously needed
- Check compilation of tests using system gcc
2018-11-26 21:35:02 -07:00
Jeremy Soller
869eb160bd
Add poll
2018-11-25 13:04:38 -07:00
Jeremy Soller
0ac16556bc
Format
2018-11-25 10:34:42 -07:00
Michal Z
a7b71a311d
Implement libgen.h
...
Implemented the following calls according to http://pubs.opengroup.org/onlinepubs/7908799/xsh/libgen.h.html
- char* basename(char*)
- char* dirname(char*)
Added test suit for the implemented calls.
Issue: https://gitlab.redox-os.org/redox-os/relibc/issues/134
2018-11-05 17:49:14 +01:00
jD91mZM2
fba3bf5161
Merge branch 'assert' into 'master'
...
Make assert more hygienic
See merge request redox-os/relibc!166
2018-10-07 12:50:56 +00:00
jD91mZM2
418a960f3b
Implement realpath
2018-10-07 10:32:51 +02:00
jD91mZM2
9d56ce42c6
Implement timer* macros, and GNU's getopt_long
2018-10-06 16:46:35 +02:00
Tibor Nagy
614b2f5103
Make assert more hygienic
2018-10-06 14:55:06 +02:00
jD91mZM2
1acc2a1a32
Initial regex.h implementation
2018-10-05 18:07:43 +02:00
Jeremy Soller
dfb07e473a
Comment out functions not implemented by Redox
2018-09-15 12:31:40 -06:00
Paul Sajna
07eb658a8a
Netdb
2018-09-01 14:00:18 +00:00
Jeremy Soller
bab4e2896a
Format
2018-08-27 06:35:30 -06:00
Jeremy Soller
ed00ddfb54
Fix remaining issues, move setjmp into relibc crate, move start logic into relibc
2018-08-26 12:28:27 -06:00
Jeremy Soller
c20ce5ffed
Large reorganization of headers (WIP)
2018-08-26 08:11:35 -06:00