https://bugs.kde.org/show_bug.cgi?id=417187

--- Comment #13 from Stefan Maksimovic <stefan.maksimo...@rt-rk.com> ---
Created attachment 126427
  --> https://bugs.kde.org/attachment.cgi?id=126427&action=edit
cdebug_zlib main fn logs, w/ and w/o frame ptr used

Another observation:

Modifying the main function of memcheck/tests/cdebug.c so as to make the
SPEC side exit block differ from the original results in valgrind not doing the
&&-transform which in turn does not produce the extra error mentioned in the
previous comment.

That is because the new side exit block terminates with a
PUT($pc) which gets a non-constant value, is that correct?

There are two files in the attachment, the shorter one differs from the
original
in being compiled with -fomit-frame-pointer.
I've only left the debug output of the main function, the rest should be the
same with
only one difference which is the aforementioned error that appears right after
the _Exit
function:

Syscall param exit_group(status) contains uninitialised byte(s)
   at 0x4919B38: _Exit (_exit.c:31)
   by 0x489AEA0: __run_exit_handlers (exit.c:98)
   by 0x489AF4C: exit (exit.c:105)
   by 0x48804C4: (below main) (libc-start.c:325)
 Uninitialised value was created by a stack allocation
   at 0x4005F0: main (cdebug.c:1)


Shouldn't the _Exit function receive either 0 or 1 (coming from the return
statements)
despite the fact that the variable x is uninitialized?
Does the transformation somehow propagate x to the _Exit function or does
something entirely
different happen instead?

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to