diff options
author | Jussi Kivilinna <jussi.kivilinna@iki.fi> | 2013-08-17 10:48:36 +0300 |
---|---|---|
committer | Jussi Kivilinna <jussi.kivilinna@iki.fi> | 2013-08-17 10:48:36 +0300 |
commit | 79895b9459b9bf8c60cb7abf09d5bf16ed0cf6e3 (patch) | |
tree | 0035dd3032367dbfe389ad60d36214a29a2bb57c /cipher/bufhelp.h | |
parent | cafadc1e4fb97581262b0081ba251e05613d4394 (diff) | |
download | libgcrypt-79895b9459b9bf8c60cb7abf09d5bf16ed0cf6e3.tar.gz |
Remove burn_stack optimization
* src/misc.c (_gcry_burn_stack): Remove SIZEOF_UNSIGNED_LONG == 4 or 8
optimization.
--
At least GCC 4.6 on Debian Wheezy (armhf) generates wrong code for burn_stack,
causing recursive structure to be transformed in to iterative without updating
stack pointer between iterations. Therefore only first 64 bytes of stack get
zeroed. This appears to be fixed in GCC 4.7, but lets play this safe and
remove this optimization.
Better approach would probably be to add architecture specific assembly
routine(s) that replace this generic function.
Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
Diffstat (limited to 'cipher/bufhelp.h')
0 files changed, 0 insertions, 0 deletions