sim: Fix erasure ordering in the futex map.
Erase an element after one of its components are used to erase an element of another map. This is an error and causes build breakage in newer versions of gcc. Change-Id: I83a00410cbf2ae5fc23b12080cd374965df1a5ac Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/60309 Maintainer: Gabe Black <gabe.black@gmail.com> Reviewed-by: Jason Lowe-Power <power.jg@gmail.com> Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
@@ -123,8 +123,8 @@ FutexMap::wakeup_bitset(Addr addr, uint64_t tgid, int bitmask)
|
||||
|
||||
if (waiter.checkMask(bitmask)) {
|
||||
waiter.tc->activate();
|
||||
iter = waiterList.erase(iter);
|
||||
waitingTcs.erase(waiter.tc);
|
||||
iter = waiterList.erase(iter);
|
||||
woken_up++;
|
||||
} else {
|
||||
++iter;
|
||||
|
||||
Reference in New Issue
Block a user