mirror of
https://github.com/Mathewnd/Astral.git
synced 2026-10-27 12:48:22 +00:00
mlibc: bump
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
diff --git frigg-clean/include/frg/formatting.hpp frigg-workdir/include/frg/formatting.hpp
|
||||
index a6c89d3..f066c03 100644
|
||||
index a6c89d39..f066c03c 100644
|
||||
--- frigg-clean/include/frg/formatting.hpp
|
||||
+++ frigg-workdir/include/frg/formatting.hpp
|
||||
@@ -341,7 +341,9 @@ namespace _fmt_basics {
|
||||
@@ -98,10 +98,10 @@ index a6c89d3..f066c03 100644
|
||||
#endif /* __STDC_HOSTED__ */
|
||||
};
|
||||
diff --git frigg-clean/include/frg/printf.hpp frigg-workdir/include/frg/printf.hpp
|
||||
index bce5e24..c4558f8 100644
|
||||
index cf5bb1c8..9a10f27f 100644
|
||||
--- frigg-clean/include/frg/printf.hpp
|
||||
+++ frigg-workdir/include/frg/printf.hpp
|
||||
@@ -991,7 +991,8 @@ void do_printf_floats(S &sink, Char t, format_options opts,
|
||||
@@ -992,7 +992,8 @@ void do_printf_floats(S &sink, Char t, format_options opts,
|
||||
sink, pop_arg<long double>(vsp, &opts),
|
||||
opts.minimum_width, opts.precision,
|
||||
Char(opts.fill_zeros ? '0' : ' '), opts.left_justify, opts.alt_conversion,
|
||||
@@ -111,7 +111,7 @@ index bce5e24..c4558f8 100644
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
@@ -1000,7 +1001,8 @@ void do_printf_floats(S &sink, Char t, format_options opts,
|
||||
@@ -1001,7 +1002,8 @@ void do_printf_floats(S &sink, Char t, format_options opts,
|
||||
sink, pop_arg<double>(vsp, &opts),
|
||||
opts.minimum_width, opts.precision,
|
||||
Char(opts.fill_zeros ? '0' : ' '), opts.left_justify, opts.alt_conversion, use_capitals,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git mlibc-clean/options/glibc/generic/stdio_ext.cpp mlibc-workdir/options/glibc/generic/stdio_ext.cpp
|
||||
index ccb3725..3dfa27a 100644
|
||||
index ccb37257..3dfa27af 100644
|
||||
--- mlibc-clean/options/glibc/generic/stdio_ext.cpp
|
||||
+++ mlibc-workdir/options/glibc/generic/stdio_ext.cpp
|
||||
@@ -71,14 +71,38 @@ size_t __freadahead(FILE *file_base) {
|
||||
@@ -52,8 +52,39 @@ index ccb3725..3dfa27a 100644
|
||||
file->__status_bits |= __MLIBC_ERROR_BIT;
|
||||
}
|
||||
-
|
||||
diff --git mlibc-clean/options/internal/generic/threads.cpp mlibc-workdir/options/internal/generic/threads.cpp
|
||||
index 2b9abbc0..0be01957 100644
|
||||
--- mlibc-clean/options/internal/generic/threads.cpp
|
||||
+++ mlibc-workdir/options/internal/generic/threads.cpp
|
||||
@@ -269,11 +269,16 @@ int thread_mutex_destroy(struct __mlibc_mutex *mutex) {
|
||||
int thread_mutex_timedlock(struct __mlibc_mutex *mutex, const struct timespec *__restrict abstime, clockid_t clockid) {
|
||||
unsigned int this_tid = mlibc::this_tid();
|
||||
unsigned int expected = 0;
|
||||
+ bool contended = false;
|
||||
while(true) {
|
||||
if(!expected) {
|
||||
// Try to take the mutex here.
|
||||
+ unsigned int desired = this_tid;
|
||||
+ // Preserve the waiters bit after contention, as other waiters may still be asleep.
|
||||
+ if(contended)
|
||||
+ desired |= __mlibc_mutex::mutex_waiters_bit;
|
||||
if(__atomic_compare_exchange_n(&mutex->__mlibc_state,
|
||||
- &expected, this_tid | __mlibc_mutex::mutex_waiters_bit, false, __ATOMIC_ACQUIRE, __ATOMIC_ACQUIRE)) {
|
||||
+ &expected, desired, false, __ATOMIC_ACQUIRE, __ATOMIC_ACQUIRE)) {
|
||||
__ensure(!mutex->__mlibc_recursion);
|
||||
mutex->__mlibc_recursion = 1;
|
||||
return 0;
|
||||
@@ -289,6 +294,8 @@ int thread_mutex_timedlock(struct __mlibc_mutex *mutex, const struct timespec *_
|
||||
}
|
||||
}
|
||||
|
||||
+ contended = true;
|
||||
+
|
||||
// Wait on the futex if the waiters flag is set.
|
||||
if(expected & __mlibc_mutex::mutex_waiters_bit) {
|
||||
int e;
|
||||
diff --git mlibc-clean/options/internal/include/mlibc/allocator.hpp mlibc-workdir/options/internal/include/mlibc/allocator.hpp
|
||||
index d5496df..4dac6db 100644
|
||||
index d5496df8..4dac6dbd 100644
|
||||
--- mlibc-clean/options/internal/include/mlibc/allocator.hpp
|
||||
+++ mlibc-workdir/options/internal/include/mlibc/allocator.hpp
|
||||
@@ -11,6 +11,8 @@
|
||||
@@ -66,7 +97,7 @@ index d5496df..4dac6db 100644
|
||||
|
||||
void unmap(uintptr_t address, size_t length);
|
||||
diff --git mlibc-clean/options/linux/generic/malloc.cpp mlibc-workdir/options/linux/generic/malloc.cpp
|
||||
index 065de6c..10c7395 100644
|
||||
index 065de6c1..10c73955 100644
|
||||
--- mlibc-clean/options/linux/generic/malloc.cpp
|
||||
+++ mlibc-workdir/options/linux/generic/malloc.cpp
|
||||
@@ -1,7 +1,13 @@
|
||||
@@ -88,7 +119,7 @@ index 065de6c..10c7395 100644
|
||||
+ return ptr;
|
||||
}
|
||||
diff --git mlibc-clean/options/posix/generic/monetary.cpp mlibc-workdir/options/posix/generic/monetary.cpp
|
||||
index 55a567a..d1d7787 100644
|
||||
index 55a567aa..d1d77873 100644
|
||||
--- mlibc-clean/options/posix/generic/monetary.cpp
|
||||
+++ mlibc-workdir/options/posix/generic/monetary.cpp
|
||||
@@ -389,6 +389,8 @@ ssize_t strfmon_internal(char *__restrict s, size_t maxsize, mlibc::localeinfo *
|
||||
@@ -101,7 +132,7 @@ index 55a567a..d1d7787 100644
|
||||
);
|
||||
|
||||
diff --git mlibc-clean/options/posix/include/bits/posix/posix_stdio.h mlibc-workdir/options/posix/include/bits/posix/posix_stdio.h
|
||||
index f0d6edd..ab57b6b 100644
|
||||
index f0d6edd1..ab57b6b1 100644
|
||||
--- mlibc-clean/options/posix/include/bits/posix/posix_stdio.h
|
||||
+++ mlibc-workdir/options/posix/include/bits/posix/posix_stdio.h
|
||||
@@ -63,6 +63,7 @@ char *fgetln(FILE *__stream, size_t *__size);
|
||||
@@ -119,7 +150,7 @@ index f0d6edd..ab57b6b 100644
|
||||
-
|
||||
diff --git mlibc-workdir/tests/glibc/memalign.c mlibc-workdir/tests/glibc/memalign.c
|
||||
new file mode 100644
|
||||
index 0000000..0b3a158
|
||||
index 00000000..0b3a1581
|
||||
--- /dev/null
|
||||
+++ mlibc-workdir/tests/glibc/memalign.c
|
||||
@@ -0,0 +1,22 @@
|
||||
@@ -146,7 +177,7 @@ index 0000000..0b3a158
|
||||
+ return 0;
|
||||
+}
|
||||
diff --git mlibc-clean/tests/meson.build mlibc-workdir/tests/meson.build
|
||||
index 85b967c..f555a1e 100644
|
||||
index 85b967c9..f555a1ec 100644
|
||||
--- mlibc-clean/tests/meson.build
|
||||
+++ mlibc-workdir/tests/meson.build
|
||||
@@ -190,6 +190,7 @@ all_test_cases = [
|
||||
|
||||
Reference in New Issue
Block a user