zfs/lib/libspl
Brian Behlendorf 615e289a57 Revert "Remove declarations in VERIFY3_IMPL to save stack"
This reverts commit 421d95b3ea.

Ricardo correctly pointed out that there is more going on here than
typecasting.  By removing the locals we are actually causing LEFT and
RIGHT to be evaluated twice which can potentially lead to some
strange side effects as:

1) VERIFY3*() causing a panic but in the panic message the values
look correct such that the assertion shouldn't fail, or:

2) if LEFT or RIGHT are expressions with side-effects (e.g. a call
to a function which changes some state), then when we panic and
examine the crash dump, it may lead to an unexpected state because
we are not expecting certain things to change during the panic,
after the expressions inside VERIFY3*(...) have been evaluated.

3) Also, it may lead to double-panics or deadlocks during panics,
like for example, if the expressions inside VERIFY3*(...) only expect
to be called once (e.g. because they acquire a mutex).
2010-08-06 11:08:24 -07:00
..
asm-generic Add option -fPIC (Position Independent Code) needed for x86_64. 2009-07-17 09:36:01 -07:00
asm-i386 Update specific asm-* arch to generic i386. 2009-03-13 09:41:55 -07:00
asm-x86_64 Build system and packaging (RPM support) (Part 4) 2009-03-10 21:57:56 -07:00
include Revert "Remove declarations in VERIFY3_IMPL to save stack" 2010-08-06 11:08:24 -07:00
Makefile.am Add -stack-check option to libspl 2010-07-23 10:38:44 -07:00
getexecname.c Ensure NULL is not returned incorrectly after the first call. 2010-06-28 10:27:18 -07:00
gethrestime.c Extend libspl as required for linux FMA integration. 2010-05-14 10:33:00 -07:00
gethrtime.c Remove all #pragma idents from libspl. 2009-03-11 12:13:44 -07:00
getmntany.c Add zone and getmntany sources 2008-12-17 14:14:23 -08:00
list.c Remove all #pragma idents from libspl. 2009-03-11 12:13:44 -07:00
mkdirp.c Remove all #pragma idents from libspl. 2009-03-11 12:13:44 -07:00
strlcat.c Remove all #pragma idents from libspl. 2009-03-11 12:13:44 -07:00
strlcpy.c Remove all #pragma idents from libspl. 2009-03-11 12:13:44 -07:00
strnlen.c Remove all #pragma idents from libspl. 2009-03-11 12:13:44 -07:00
timestamp.c Updates to linux-libspl 2010-06-14 15:47:54 -07:00
xdr.c Libspl XDR implementation reorganization 2009-03-12 14:38:52 -07:00
zone.c Add zone and getmntany sources 2008-12-17 14:14:23 -08:00