Daniel Carvalho has submitted this change and it was merged. (
https://gem5-review.googlesource.com/c/public/gem5/+/15635 )
Change subject: base: Fix unitialized storage
......................................................................
base: Fix unitialized storage
The bitunion is not being initialized on constructor to avoid
performance overhead, and that generated a maybe-unitialized
error when a sub-class was being copied before assigned in
serialize's parseParam() in some compilers.
This patch adds zero-initialization to the problematic variable
to appease the compiler.
Change-Id: I90fa6aa356b3e14ec25e3294b17ed10f429a9a38
Signed-off-by: Daniel R. Carvalho <[email protected]>
Reviewed-on: https://gem5-review.googlesource.com/c/15635
Reviewed-by: Gabe Black <[email protected]>
Maintainer: Gabe Black <[email protected]>
---
M src/sim/serialize.hh
1 file changed, 2 insertions(+), 1 deletion(-)
Approvals:
Gabe Black: Looks good to me, approved; Looks good to me, approved
diff --git a/src/sim/serialize.hh b/src/sim/serialize.hh
index 5434777..a45d1bb 100644
--- a/src/sim/serialize.hh
+++ b/src/sim/serialize.hh
@@ -289,7 +289,8 @@
bool
parseParam(const std::string &s, BitUnionType<T> &value)
{
- auto storage = static_cast<BitUnionBaseType<T>>(value);
+ // Zero initialize storage to avoid leaking an uninitialized value
+ BitUnionBaseType<T> storage = BitUnionBaseType<T>();
auto res = to_number(s, storage);
value = storage;
return res;
--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/15635
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings
Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-Change-Id: I90fa6aa356b3e14ec25e3294b17ed10f429a9a38
Gerrit-Change-Number: 15635
Gerrit-PatchSet: 4
Gerrit-Owner: Daniel Carvalho <[email protected]>
Gerrit-Reviewer: Daniel Carvalho <[email protected]>
Gerrit-Reviewer: Gabe Black <[email protected]>
Gerrit-Reviewer: Giacomo Travaglini <[email protected]>
Gerrit-MessageType: merged
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev