ports: more webkitgtk work

This commit is contained in:
Matheus
2026-06-03 19:39:28 -03:00
parent 91d93872ad
commit 008cfd9b63
17 changed files with 198 additions and 31 deletions
+18 -11
View File
@@ -412,7 +412,7 @@ index ba9a520..b958ef3 100644
.section .note.GNU-stack,"",%progbits
-
diff --git mlibc-clean/sysdeps/astral/generic/generic.cpp mlibc-workdir/sysdeps/astral/generic/generic.cpp
index 3b04372..e5741d1 100644
index 3b04372..b7a8ab7 100644
--- mlibc-clean/sysdeps/astral/generic/generic.cpp
+++ mlibc-workdir/sysdeps/astral/generic/generic.cpp
@@ -1,7 +1,9 @@
@@ -457,7 +457,7 @@ index 3b04372..e5741d1 100644
namespace mlibc {
int Sysdeps<SetGroups>::operator()(size_t size, const gid_t *list) {
@@ -31,14 +56,307 @@ namespace mlibc {
@@ -31,14 +56,313 @@ namespace mlibc {
return 0;
}
@@ -584,6 +584,12 @@ index 3b04372..e5741d1 100644
+ return ENOTSUP;
+ }
+
+ int Sysdeps<GetCurrentStackInfo>::operator()(void **stack_base, size_t *stack_size) {
+ *stack_size = 1024 * 1024 * 4;
+ *stack_base = (void *)(0x0000800000000000 - *stack_size);
+ return 0;
+ }
+
+#ifndef MLIBC_BUILDING_RTLD
+ int Sysdeps<Getifaddrs>::operator()(struct ifaddrs **out) {
+ struct ifaddrs *list = nullptr;
@@ -770,7 +776,7 @@ index 3b04372..e5741d1 100644
int Sysdeps<InetConfigured>::operator()(bool *ipv4, bool *ipv6) {
// there is no ipv6 support in the kernel currently and no way of checking for configured interfaces
@@ -47,6 +365,71 @@ namespace mlibc {
@@ -47,6 +371,71 @@ namespace mlibc {
return 0;
}
@@ -842,7 +848,7 @@ index 3b04372..e5741d1 100644
int Sysdeps<Readv>::operator()(int fd, const struct iovec *iovs, int iovc, ssize_t *bytes_read) {
long r;
int error = syscall(SYSCALL_READV, &r, fd, (uint64_t)iovs, iovc);
@@ -86,6 +469,11 @@ namespace mlibc {
@@ -86,6 +475,11 @@ namespace mlibc {
return e;
}
@@ -854,7 +860,7 @@ index 3b04372..e5741d1 100644
int Sysdeps<Shutdown>::operator()(int sockfd, int how) {
long ret;
return syscall(SYSCALL_SHUTDOWN, &ret, sockfd, how);
@@ -487,8 +875,15 @@ namespace mlibc {
@@ -487,8 +881,15 @@ namespace mlibc {
return err;
}
@@ -870,7 +876,7 @@ index 3b04372..e5741d1 100644
return syscall(SYSCALL_SETSOCKOPT, &ret, fd, layer, number, (uint64_t)buffer, size);
}
@@ -511,6 +906,11 @@ namespace mlibc {
@@ -511,6 +912,11 @@ namespace mlibc {
return err;
}
@@ -882,7 +888,7 @@ index 3b04372..e5741d1 100644
int Sysdeps<Renameat>::operator()(int olddirfd, const char *old_path, int newdirfd, const char *new_path) {
long ret;
return syscall(SYSCALL_RENAMEAT, &ret, olddirfd, (uint64_t)old_path, newdirfd, (uint64_t)new_path);
@@ -562,6 +962,16 @@ namespace mlibc {
@@ -562,6 +968,16 @@ namespace mlibc {
return sysdep<Ioctl>(fd, TCSETS, (void *)attr, &res);
}
@@ -899,7 +905,7 @@ index 3b04372..e5741d1 100644
int Sysdeps<Poll>::operator()(struct pollfd *fds, nfds_t count, int timeout, int *num_events) {
long ret;
long error = syscall(SYSCALL_POLL, &ret, (uint64_t)fds, count, timeout);
@@ -932,4 +1342,13 @@ namespace mlibc {
@@ -932,4 +1348,13 @@ namespace mlibc {
*nanos = ts.tv_nsec;
return err;
}
@@ -953,7 +959,7 @@ index a6c4067..fd38197 100644
#ifndef __MLIBC_ABI_ONLY
diff --git mlibc-clean/sysdeps/astral/include/mlibc/sysdeps.hpp mlibc-workdir/sysdeps/astral/include/mlibc/sysdeps.hpp
index ce91084..0fffdf3 100644
index ce91084..54ee08e 100644
--- mlibc-clean/sysdeps/astral/include/mlibc/sysdeps.hpp
+++ mlibc-workdir/sysdeps/astral/include/mlibc/sysdeps.hpp
@@ -7,8 +7,30 @@ namespace mlibc {
@@ -1012,14 +1018,15 @@ index ce91084..0fffdf3 100644
Poll,
Ppoll,
Pselect,
@@ -135,7 +161,9 @@ struct AstralSysdepTags :
@@ -135,7 +161,10 @@ struct AstralSysdepTags :
VmUnmap,
Isatty,
ClockGet,
- PrepareStack
+ ClockGetres,
+ PrepareStack,
+ SetPriority
+ SetPriority,
+ GetCurrentStackInfo
{};
template<typename Tag>