Ulrich Spörlein <u...@spoerlein.net> writes: > optimizing compilers have a tendency to remove assignments that have > no side effects. The code in sys/crypto/sha2/sha2.c is doing a lot of > zeroing variables, which is however optimized away. [...] Is there a > canonical way to zero those variables and should we use them (memset > perhaps? what are the performance implications?)
If you stick these variables in a struct, you can memset the struct to zero them; if there are many of them, it may be faster than zeroing them individually. Alternatively, you can use something like this: #define FORCE_ASSIGN(type, var, value) \ *(volatile type *)&(var) = (value) DES -- Dag-Erling Smørgrav - d...@des.no _______________________________________________ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"