Skip to content

Commit e67c0c0

Browse files
author
philippe
committed
gcc on arm64 -Og produces a (false positive) warning that
stackPos might be used uninitialised. Silence gcc by assigning a value to stackPos. This value must be overriden if a stack description is found. The fact that the value is overriden is asserted. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14438 a5019735-40e9-0310-863c-91ae7b9d1cf9
1 parent c076c1c commit e67c0c0

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

coregrind/m_addrinfo.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,9 @@ void VG_(describe_addr) ( Addr a, /*OUT*/AddrInfo* ai )
228228
too small). */
229229
{
230230
ThreadId tid;
231-
StackPos stackPos;
231+
StackPos stackPos = StackPos_stacked;
232+
// Default init to StackPos_stacked, to silence gcc warning.
233+
// We assert this value is overriden if a stack descr is produced.
232234

233235
// First try to find a tid with stack containing a
234236
tid = find_tid_with_stack_containing (a);
@@ -256,6 +258,7 @@ void VG_(describe_addr) ( Addr a, /*OUT*/AddrInfo* ai )
256258
ai->Addr.Stack.tinfo.tid = tid;
257259
ai->Addr.Stack.IP = 0;
258260
ai->Addr.Stack.frameNo = -1;
261+
vg_assert (stackPos != StackPos_stacked);
259262
ai->Addr.Stack.stackPos = stackPos;
260263
vg_assert (a < VG_(get_SP)(tid));
261264
ai->Addr.Stack.spoffset = a - VG_(get_SP)(tid);

0 commit comments

Comments
 (0)