This includes the following changes:
- Theming support in all builtin programs.
- All remaining CRT math functions imported from Musl.
- Support for codepage 720 (Arabic).
- Various bug fixes.
- Unbreak the build on modern FreeBSD versions by avoiding
injecting duplicate symbols in the object files
- Drop MAKE_JOBS_UNSAFE: it was added back in 2013 in the
commit 2a5c8652e5 to fix the build error:
crt1.c:(.text+0xa8): undefined reference to `main'
gmake[2]: *** [build68k] Error 1
which no longer manifests itself
PR: 256577
After src commit e266a0f7f001 a module is not allowed to call
kern_kldload while being loaded. The virtualbox module is doing
exactly this though. virutalbox used to do this because the ng_ether
netgraph node did not provide version information in the past and
there was no way to properly depend on it.
ng_ether has gained versioning information in base r238844 more
than ten years ago, so we can now unconditionally properly depend
on it, since this revision is now included in all supported FreeBSD
versions.
Thanks to Tomoaki AOKI for identifying the base commuit exposing
the issue.
Backport fix to legacy port.
WHile here also merge a double patch for the smae file.
PR: 256505
MFH: 2021Q2
After src commit e266a0f7f001 a module is not allowed to call
kern_kldload while being loaded. The virtualbox module is doing
exactly this though. virutalbox used to do this because the ng_ether
netgraph node did not provide version information in the past and
there was no way to properly depend on it.
ng_ether has gained versioning information in base r238844 more
than ten years ago, so we can now unconditionally properly depend
on it, since this revision is now included in all supported FreeBSD
versions.
Thanks to Tomoaki AOKI for identifying the base commuit exposing
the issue.
PR: 256505
Tested by: Tomoaki AOKI <junchoon@dec.sakura.ne.jp>
MFH: 2021Q2
Differential Revision: https://reviews.freebsd.org/D30722
This brings the following changes:
- Shell folders naming scheme follows recent Windows.
- WinePulse library converted to PE.
- More math functions from Musl in the C runtime.
- Various bug fixes.
- And the Mono engine has been updated to version 6.2.0.
In file included from rpcs3/Emu/Cell/Modules/cellNetCtl.cpp:1:
In file included from rpcs3/stdafx.h:7:
In file included from Utilities/File.h:4:
rpcs3/util/shared_ptr.hpp:10:17: error: constexpr variable 'same_ptr_implicit_v<thread_future, thread_future_t<true, netstart_hack &, int>>' must be initialized by a constant expression
constexpr bool same_ptr_implicit_v = std::is_convertible_v<const volatile From*, const volatile To*> ? is_same_ptr<From, To>() : false;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rpcs3/util/shared_ptr.hpp:396:34: note: in instantiation of variable template specialization 'stx::same_ptr_implicit_v<thread_future, thread_future_t<true, netstart_hack &, int>>' requested here
template <typename U> requires same_ptr_implicit_v<T, U>
^
rpcs3/util/shared_ptr.hpp:396:34: note: while substituting template arguments into constraint expression here
template <typename U> requires same_ptr_implicit_v<T, U>
^~~~~~~~~~~~~~~~~~~~~~~~~
Utilities/Thread.h:567:18: note: while checking constraint satisfaction for template 'shared_ptr<thread_future_t<true, netstart_hack &, int>>' required here
thread::push(std::move(target));
^~~
Utilities/Thread.h:567:18: note: in instantiation of function template specialization 'stx::shared_ptr<thread_future>::shared_ptr<thread_future_t<true, netstart_hack &, int>>' requested here
rpcs3/Emu/Cell/Modules/cellNetCtl.cpp:264:43: note: in instantiation of function template specialization 'named_thread<netstart_hack>::operator()<true, int>' requested here
g_fxo->get<named_thread<netstart_hack>>()(0);
^
rpcs3/util/types.hpp:1049:16: note: non-constexpr function 'allocate' cannot be used in a constant expression
X* ptr = a.allocate(1);
^
rpcs3/util/shared_ptr.hpp:10:105: note: in call to 'is_same_ptr()'
constexpr bool same_ptr_implicit_v = std::is_convertible_v<const volatile From*, const volatile To*> ? is_same_ptr<From, To>() : false;
^
/usr/include/c++/v1/memory:1783:66: note: declared here
_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY _Tp* allocate(size_t __n)
^
In file included from rpcs3/Emu/Cell/Modules/cellNetCtl.cpp:1:
In file included from rpcs3/stdafx.h:7:
In file included from Utilities/File.h:4:
rpcs3/util/shared_ptr.hpp:396:34: error: substitution into constraint expression resulted in a non-constant expression
template <typename U> requires same_ptr_implicit_v<T, U>
^~~~~~~~~~~~~~~~~~~~~~~~~
Utilities/Thread.h:567:18: note: while checking constraint satisfaction for template 'shared_ptr<thread_future_t<true, netstart_hack &, int>>' required here
thread::push(std::move(target));
^~~
Utilities/Thread.h:567:18: note: in instantiation of function template specialization 'stx::shared_ptr<thread_future>::shared_ptr<thread_future_t<true, netstart_hack &, int>>' requested here
rpcs3/Emu/Cell/Modules/cellNetCtl.cpp:264:43: note: in instantiation of function template specialization 'named_thread<netstart_hack>::operator()<true, int>' requested here
g_fxo->get<named_thread<netstart_hack>>()(0);
^
rpcs3/util/shared_ptr.hpp:396:34: note: initializer of 'same_ptr_implicit_v<thread_future, thread_future_t<true, netstart_hack &, int>>' is not a constant expression
template <typename U> requires same_ptr_implicit_v<T, U>
^
rpcs3/util/shared_ptr.hpp:10:17: note: declared here
constexpr bool same_ptr_implicit_v = std::is_convertible_v<const volatile From*, const volatile To*> ? is_same_ptr<From, To>() : false;
^
In file included from rpcs3/Emu/Cell/Modules/cellNetCtl.cpp:3:
In file included from rpcs3/Emu/Cell/PPUModule.h:3:
In file included from rpcs3/Emu/Cell/PPUFunction.h:3:
In file included from rpcs3/Emu/Cell/PPUThread.h:3:
In file included from rpcs3/Emu/CPU/CPUThread.h:3:
Utilities/Thread.h:567:18: error: no viable conversion from 'typename remove_reference<single_ptr<thread_future_t<true, netstart_hack &, int>> &>::type' (aka 'stx::single_ptr<thread_future_t<true, netstart_hack &, int>>') to 'shared_ptr<thread_future>'
thread::push(std::move(target));
^~~~~~~~~~~~~~~~~
rpcs3/Emu/Cell/Modules/cellNetCtl.cpp:264:43: note: in instantiation of function template specialization 'named_thread<netstart_hack>::operator()<true, int>' requested here
g_fxo->get<named_thread<netstart_hack>>()(0);
^
rpcs3/util/shared_ptr.hpp:356:3: note: candidate constructor not viable: no known conversion from 'typename remove_reference<single_ptr<thread_future_t<true, netstart_hack &, int>> &>::type' (aka 'stx::single_ptr<thread_future_t<true, netstart_hack &, int>>') to 'const stx::shared_ptr<thread_future> &' for 1st argument
shared_ptr(const shared_ptr& r) noexcept
^
rpcs3/util/shared_ptr.hpp:364:34: note: candidate constructor not viable: no known conversion from 'typename remove_reference<single_ptr<thread_future_t<true, netstart_hack &, int>> &>::type' (aka 'stx::single_ptr<thread_future_t<true, netstart_hack &, int>>') to 'std::nullptr_t' (aka 'nullptr_t') for 1st argument
[[deprecated("Use null_ptr")]] shared_ptr(std::nullptr_t) = delete;
^
rpcs3/util/shared_ptr.hpp:383:3: note: candidate constructor not viable: no known conversion from 'typename remove_reference<single_ptr<thread_future_t<true, netstart_hack &, int>> &>::type' (aka 'stx::single_ptr<thread_future_t<true, netstart_hack &, int>>') to 'stx::shared_ptr<thread_future> &&' for 1st argument
shared_ptr(shared_ptr&& r) noexcept
^
rpcs3/util/shared_ptr.hpp:376:3: note: candidate template ignored: could not match 'shared_ptr' against 'single_ptr'
shared_ptr(const shared_ptr<U>& r) noexcept
^
rpcs3/util/shared_ptr.hpp:390:3: note: candidate template ignored: could not match 'shared_ptr' against 'single_ptr'
shared_ptr(shared_ptr<U>&& r) noexcept
^
rpcs3/util/shared_ptr.hpp:397:3: note: candidate template ignored: failed template argument deduction
shared_ptr(single_ptr<U>&& r) noexcept
^
rpcs3/util/shared_ptr.hpp:367:12: note: explicit constructor is not a candidate
explicit shared_ptr(T* _this) noexcept
^
rpcs3/util/shared_ptr.hpp:200:3: note: candidate function
operator element_type*() const noexcept
^
rpcs3/util/shared_ptr.hpp:212:12: note: explicit conversion function is not a candidate
explicit operator single_ptr<U>() && noexcept
^
Utilities/Thread.h:187:37: note: passing argument to parameter here
void push(shared_ptr<thread_future>);
^
Reported by: pkg-fallout
USE_GCC=any has been equivalent to USE_GCC=yes in most cases (such
as i386 and amd64 since 12.x and depending on configuration 11.x,
most newer installations on other platforms, and 13.x across the
board).
Since commit 96c17633d9 Mk/bsd.gcc.mk is treating them as
different spellings of the same, so continue the deorbiting of the
USE_GCC=any form and simply replace it with USE_GCC=yes.
This should not make any functional difference at all.
Discussed with: mat, linimon, pkubaj
This includes the following changes:
- WPCAP library converted to PE.
- Support for paper forms in the print spooler.
- More math functions from Musl in the C runtime.
- Various bug fixes.