Bug 204014

Summary: Ignore DW_OP_APPLE_uninit
Product: [Developer tools] valgrind Reporter: Nicholas Nethercote <njn>
Component: generalAssignee: Rhys Kidd <rhyskidd>
Status: RESOLVED WORKSFORME    
Severity: normal CC: pjfloyd, rhyskidd, tromey
Priority: NOR    
Version First Reported In: 3.5 SVN   
Target Milestone: blocking3.5.1   
Platform: Unlisted Binaries   
OS: macOS   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Nicholas Nethercote 2009-08-16 06:32:18 UTC
On some Darwin machines, many (all?) of the regtests involving --read-var-info fail because this message is printed one or more times:

--77903-- warning: evaluate_Dwarf3_Expr: unhandled DW_OP_ 0xf0

This can be seen in the regtests run by Alexander Potapenko on the machine called "mcgrind".

0xf0 is DW_OP_APPLE_uninit, which appears to be an Apple extension to Dwarf.  Comments in Apple's GDB indicate that it's emitted unreliably by GCC, and so should be ignored.  (Valgrind probably wouldn't have much use for it anyway.)
Comment 1 Tom Hughes 2009-08-24 13:43:35 UTC
In order to ignore it we will need to know what it actually is - what arguments it takes and how they relate to the result it returns...
Comment 2 Tom Tromey 2012-03-21 17:11:39 UTC
(In reply to comment #1)
> In order to ignore it we will need to know what it actually is - what
> arguments it takes and how they relate to the result it returns...

It is probably just a renaming of DW_OP_GNU_uninit (also 0xf0...).
It doesn't take any arguments.  It should always appear at the end of the expression,
somewhat (but not completely) like DW_OP_piece.
See: http://gcc.gnu.org/ml/gcc-patches/2007-06/msg00040.html
Comment 3 Paul Floyd 2025-12-19 11:03:01 UTC
I haven't seen errors for this DW_OP. Either it has been fixed or it just went away due to Apple changes to their LLVM.

regtest now filters out all DW_OP warnings.