From: Alan Modra Date: Sat, 13 Aug 2022 04:37:31 +0000 (+0930) Subject: ubsan: undefined shift in sign_extend X-Git-Tag: gdb-13-branchpoint~1426 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9effb9f15f4811a80169801b5d2938961424a7d4;p=thirdparty%2Fbinutils-gdb.git ubsan: undefined shift in sign_extend * libhppa.h (sign_extend): Avoid undefined behaviour. --- diff --git a/bfd/libhppa.h b/bfd/libhppa.h index 1de2d5c943b..ebaffe66abf 100644 --- a/bfd/libhppa.h +++ b/bfd/libhppa.h @@ -162,7 +162,7 @@ enum hppa_reloc_expr_type_alt static inline unsigned ATTRIBUTE_UNUSED sign_extend (unsigned x, unsigned len) { - unsigned signbit = (1 << (len - 1)); + unsigned signbit = (1u << (len - 1)); unsigned mask = (signbit << 1) - 1; return ((x & mask) ^ signbit) - signbit; }