From owner-svn-ports-head@freebsd.org Tue Aug 6 00:29:54 2019 Return-Path: Delivered-To: svn-ports-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 61288B127F; Tue, 6 Aug 2019 00:29:54 +0000 (UTC) (envelope-from jbeich@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 462bBB1ypQz4Q2Q; Tue, 6 Aug 2019 00:29:54 +0000 (UTC) (envelope-from jbeich@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2098323CF3; Tue, 6 Aug 2019 00:29:54 +0000 (UTC) (envelope-from jbeich@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x760TrsH041862; Tue, 6 Aug 2019 00:29:53 GMT (envelope-from jbeich@FreeBSD.org) Received: (from jbeich@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x760TrM6041860; Tue, 6 Aug 2019 00:29:53 GMT (envelope-from jbeich@FreeBSD.org) Message-Id: <201908060029.x760TrM6041860@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jbeich set sender to jbeich@FreeBSD.org using -f From: Jan Beich Date: Tue, 6 Aug 2019 00:29:53 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r508221 - in head/emulators/rpcs3: . files X-SVN-Group: ports-head X-SVN-Commit-Author: jbeich X-SVN-Commit-Paths: in head/emulators/rpcs3: . files X-SVN-Commit-Revision: 508221 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Aug 2019 00:29:54 -0000 Author: jbeich Date: Tue Aug 6 00:29:53 2019 New Revision: 508221 URL: https://svnweb.freebsd.org/changeset/ports/508221 Log: emulators/rpcs3: update to 0.0.6.8443 Changes: https://github.com/RPCS3/rpcs3/compare/e40b76b25...05813c7e9 Added: head/emulators/rpcs3/files/extra-patch-revert-5bd17a44c972 (contents, props changed) Modified: head/emulators/rpcs3/Makefile (contents, props changed) head/emulators/rpcs3/distinfo (contents, props changed) Modified: head/emulators/rpcs3/Makefile ============================================================================== --- head/emulators/rpcs3/Makefile Mon Aug 5 23:37:31 2019 (r508220) +++ head/emulators/rpcs3/Makefile Tue Aug 6 00:29:53 2019 (r508221) @@ -2,9 +2,8 @@ PORTNAME= rpcs3 DISTVERSIONPREFIX= v -DISTVERSION= 0.0.6-8435 # git rev-list --count HEAD -DISTVERSIONSUFFIX= -ge40b76b25 -PORTREVISION= 1 +DISTVERSION= 0.0.6-8443 # git rev-list --count HEAD +DISTVERSIONSUFFIX= -g05813c7e9 CATEGORIES= emulators MAINTAINER= jbeich@FreeBSD.org @@ -47,6 +46,7 @@ LDFLAGS+= -Wl,--as-needed # GLU # XXX Remove after FreeBSD 11.2/12.0 reach EOL i.e., around 2020-02-01 .if !exists(/usr/include/c++/v1/charconv) && exists(/usr/lib/libc++.so) EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-revert-f9ad6358563b +EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-revert-5bd17a44c972 .endif OPTIONS_DEFINE= ALSA EVDEV GDB LLVM PULSEAUDIO VULKAN Modified: head/emulators/rpcs3/distinfo ============================================================================== --- head/emulators/rpcs3/distinfo Mon Aug 5 23:37:31 2019 (r508220) +++ head/emulators/rpcs3/distinfo Tue Aug 6 00:29:53 2019 (r508221) @@ -1,6 +1,6 @@ -TIMESTAMP = 1564426684 -SHA256 (RPCS3-rpcs3-v0.0.6-8435-ge40b76b25_GH0.tar.gz) = 6a4eaceb45c42a4dd55956fb00f051ee5aa5d74e18834732885b3a9d8f863043 -SIZE (RPCS3-rpcs3-v0.0.6-8435-ge40b76b25_GH0.tar.gz) = 5531115 +TIMESTAMP = 1564942579 +SHA256 (RPCS3-rpcs3-v0.0.6-8443-g05813c7e9_GH0.tar.gz) = 14dff0e16d94ff3068bc6a79aa7e37fe8ce1286a456423fa4a0b3a4844c0ae4b +SIZE (RPCS3-rpcs3-v0.0.6-8443-g05813c7e9_GH0.tar.gz) = 5532101 SHA256 (RPCS3-hidapi-hidapi-0.8.0-rc1-27-g9220f5e_GH0.tar.gz) = 3120e0b701943f452760e45f9fc1ac50bab356ad4c807b4cac4598041c5ca1a5 SIZE (RPCS3-hidapi-hidapi-0.8.0-rc1-27-g9220f5e_GH0.tar.gz) = 105400 SHA256 (RPCS3-llvm-b860b5e8f4ee_GH0.tar.gz) = c151972a0c8ceac568c24b61e63d2ecbdac0f125185e23fc2238e0a14048256e Added: head/emulators/rpcs3/files/extra-patch-revert-5bd17a44c972 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/emulators/rpcs3/files/extra-patch-revert-5bd17a44c972 Tue Aug 6 00:29:53 2019 (r508221) @@ -0,0 +1,160 @@ +rpcs3/util/atomic.cpp:55:51: error: no type named 'node_type' in 'std::__1::multimap, std::__1::allocator > >'; did you mean 'size_type'? + thread_local std::multimap::node_type s_tls_waiter = []() + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ + size_type +/usr/include/c++/v1/map:1507:60: note: 'size_type' declared here + typedef typename __alloc_traits::size_type size_type; + ^ +rpcs3/util/atomic.cpp:59:16: error: no member named 'extract' in 'std::__1::multimap, std::__1::allocator > >' + return dummy.extract(dummy.emplace(nullptr, &s_tls_waiter)); + ~~~~~ ^ +rpcs3/util/atomic.cpp:55:61: error: cannot initialize a variable of type 'std::multimap::size_type' (aka 'unsigned long') with an rvalue of type 'void' + thread_local std::multimap::node_type s_tls_waiter = []() + ^ ~~~~ +rpcs3/util/atomic.cpp:92:69: error: no type named 'node_type' in 'std::__1::multimap, std::__1::allocator > >'; did you mean 'size_type'? + const auto ptls = static_cast::node_type*>(found->second.tls_ptr); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ + size_type +/usr/include/c++/v1/map:1507:60: note: 'size_type' declared here + typedef typename __alloc_traits::size_type size_type; + ^ +rpcs3/util/atomic.cpp:93:21: error: no member named 'extract' in 'std::__1::multimap, std::__1::allocator > >' + *ptls = wmap.list.extract(found); + ~~~~~~~~~ ^ +rpcs3/util/atomic.cpp:94:7: error: member reference base type 'unsigned long' is not a structure or union + ptls->mapped().cond.notify_one(); + ~~~~^ ~~~~~~ + +--- rpcs3/util/atomic.cpp.orig 2019-08-04 18:16:19 UTC ++++ rpcs3/util/atomic.cpp +@@ -2,10 +2,6 @@ + + #include "Utilities/sync.h" + +-#include +-#include +-#include +- + // Should be at least 65536, currently 2097152. + static constexpr std::uintptr_t s_hashtable_size = 1u << 21; + +@@ -31,113 +27,6 @@ static inline bool ptr_cmp(const void* data, std::size_t size, u64 old_value) + return false; + } + +-// Fallback implementation +-namespace +-{ +- struct waiter +- { +- std::condition_variable cond; +- void* const tls_ptr; +- +- explicit waiter(void* tls_ptr) +- : tls_ptr(tls_ptr) +- { +- } +- }; +- +- struct waiter_map +- { +- std::mutex mutex; +- std::multimap list; +- }; +- +- // Thread's unique node to insert without allocation +- thread_local std::multimap::node_type s_tls_waiter = []() +- { +- // Initialize node from a dummy container (there is no separate node constructor) +- std::multimap dummy; +- return dummy.extract(dummy.emplace(nullptr, &s_tls_waiter)); +- }(); +- +- waiter_map& get_fallback_map(const void* ptr) +- { +- static waiter_map s_waiter_maps[4096]; +- +- return s_waiter_maps[std::hash()(ptr) % std::size(s_waiter_maps)]; +- } +- +- void fallback_wait(const void* data, std::size_t size, u64 old_value) +- { +- auto& wmap = get_fallback_map(data); +- +- // Update node key +- s_tls_waiter.key() = data; +- +- if (std::unique_lock lock(wmap.mutex); ptr_cmp(data, size, old_value)) +- { +- // Add node to the waiter list +- std::condition_variable& cond = wmap.list.insert(std::move(s_tls_waiter))->second.cond; +- +- // Wait until the node is returned to its TLS location +- while (!s_tls_waiter) +- { +- cond.wait(lock); +- } +- } +- } +- +- void fallback_notify(waiter_map& wmap, std::multimap::iterator found) +- { +- // Return notified node to its TLS location +- const auto ptls = static_cast::node_type*>(found->second.tls_ptr); +- *ptls = wmap.list.extract(found); +- ptls->mapped().cond.notify_one(); +- } +- +- void fallback_notify_one(const void* data) +- { +- auto& wmap = get_fallback_map(data); +- +- std::lock_guard lock(wmap.mutex); +- +- if (auto found = wmap.list.find(data); found != wmap.list.end()) +- { +- fallback_notify(wmap, found); +- } +- } +- +- void fallback_notify_all(const void* data) +- { +- auto& wmap = get_fallback_map(data); +- +- std::lock_guard lock(wmap.mutex); +- +- for (auto it = wmap.list.lower_bound(data); it != wmap.list.end() && it->first == data;) +- { +- fallback_notify(wmap, it++); +- } +- } +-} +- +-#if !defined(_WIN32) && !defined(__linux__) +- +-void atomic_storage_futex::wait(const void* data, std::size_t size, u64 old_value) +-{ +- fallback_wait(data, size, old_value); +-} +- +-void atomic_storage_futex::notify_one(const void* data) +-{ +- fallback_notify_one(data); +-} +- +-void atomic_storage_futex::notify_all(const void* data) +-{ +- fallback_notify_all(data); +-} +- +-#else +- + void atomic_storage_futex::wait(const void* data, std::size_t size, u64 old_value) + { + #ifdef _WIN32 +@@ -337,5 +226,3 @@ void atomic_storage_futex::notify_all(const void* data) + } + #endif + } +- +-#endif