mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-29 10:08:53 +00:00
ac6c4682f3
GCC 4.7.4 and newer seems to optimize the lock-variable accesses more radically, which uncovered the missing volatile qualifier and resulted in: Assertion "(int)locked >= 0" failed in file '.../okl4_x86/kernel/include/kernel/read_write_lock.h', line 151 (fn=f0104771) --- "KD# assert" ---
14 lines
365 B
Diff
14 lines
365 B
Diff
diff --git a/pistachio/include/read_write_lock.h b/pistachio/include/read_write_lock.h
|
|
index d667451..49f7f30 100644
|
|
--- a/pistachio/include/read_write_lock.h
|
|
+++ b/pistachio/include/read_write_lock.h
|
|
@@ -123,7 +123,7 @@ struct read_write_lock_t
|
|
bool is_locked(void);
|
|
|
|
#if defined(CONFIG_DEBUG)
|
|
- word_t locked;
|
|
+ word_t volatile locked;
|
|
#endif
|
|
};
|
|
|