latent_entropy: fix ARM build error on earlier gcc
PATCH 1/1 latent_entropy: fix ARM build error on earlier gcc
This fixes build errors seen on gcc-4.9.3 or gcc-5.3.1 for an ARM:
arm-soc/init/initramfs.c: In function 'error':arm-soc/init/initramfs.c:50:1: error: unrecognizable insn:
}
^
(insn 26 25 27 5 (set (reg:SI 111 [ local_entropy.243 ])
(rotatert:SI (reg:SI 116 [ local_entropy.243 ])
(const_int -30 [0xffffffffffffffe2]))) -1
(nil))Patch from PaX Team <[email protected]>
--- scripts/gcc-plugins/latent_entropy_plugin.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
scripts/gcc-plugins/latent_entropy_plugin.c +2 -2
@@ -328,9 +328,9 @@ static enum tree_code get_op(tree *rhs) op =LROTATE_EXPR ;/* * This code limits the value of random_const to -* the size of a wide int for the rotation +* the size of a long for the rotation */ - random_const &=HOST_BITS_PER_WIDE_INT -1 ; + random_const %=TYPE_PRECISION (long_unsigned_type_node);break ; }
Signature · 6 lines
2.7.4 -- Kees Cook Nexus Security
Quoted 11 lines · Kees Cook
This fixes build errors seen on gcc-4.9.3 or gcc-5.3.1 for an ARM:
arm-soc/init/initramfs.c: In function 'error':arm-soc/init/initramfs.c:50:1: error: unrecognizable insn:
}
^
(insn 26 25 27 5 (set (reg:SI 111 [ local_entropy.243 ])(rotatert:SI (reg:SI 116 [ local_entropy.243 ]) (const_int -30 [0xffffffffffffffe2]))) -1 (nil))
Quoted 5 lines
Patch from PaX Team <[email protected]>
Reported-by Arnd Bergmann <[email protected]>Reported-by Brad Spengler <[email protected]>Signed-off-by Kees Cook <[email protected]>
Quoted 13 lines · PaX Team
Quoted 11 lines · Kees Cook
This fixes build errors seen on gcc-4.9.3 or gcc-5.3.1 for an ARM:
arm-soc/init/initramfs.c: In function 'error':arm-soc/init/initramfs.c:50:1: error: unrecognizable insn:
}
^
(insn 26 25 27 5 (set (reg:SI 111 [ local_entropy.243 ])(rotatert:SI (reg:SI 116 [ local_entropy.243 ]) (const_int -30 [0xffffffffffffffe2]))) -1 (nil))
Quoted 7 lines
Quoted 5 lines
Patch from PaX Team <[email protected]>
Reported-by Arnd Bergmann <[email protected]>Reported-by Brad Spengler <[email protected]>Signed-off-by Kees Cook <[email protected]>Cc [email protected] perhaps?
Ah yes, good catch.
-Kees
Signature · 2 lines
Kees Cook Nexus Security