[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Purify] Purify'd scheme(s) -- a contribution to the `GEL = SCM + RMS' debate
I pretty sure that the SBR/SBW errors that Purify reported are actually OK.
Here's why:
On the SPARC, each stack frame includes a register save zone, a block of words
reserved for register window spills. Normal user-level code never touches this
memory. Purify detects access to RSZs and reports them as SBR and SBW errors.
This is appropriate for the vast majority of programs, where any access to the
RSZ is due to walking off the end of a stack-allocated array.
However, programs that have more complicated control flow (exception handling,
threads, that sort of thing) often _correctly_ touch these register save zones.
Looking at the snippet of source code in your Purify report, it looks as if the
code is correct. The function dynthrow flushes the register window (which
initializes the register save zone) and then copies the RSZ into the dst array.
Since these SBR and SBW errors are really OK, you can safely add suppressions to
the appropriate .purify file. For the SBW that you had, the suppression
suppress sbw dynthrow
will do the trick.
Good luck, and thanks for the plug.