commit | 9effb9f15f4811a80169801b5d2938961424a7d4 | [log] [tgz] |
---|---|---|
author | Alan Modra <amodra@gmail.com> | Sat Aug 13 14:07:31 2022 +0930 |
committer | Alan Modra <amodra@gmail.com> | Sat Aug 13 14:11:27 2022 +0930 |
tree | 6fbf5f262ec977d6dd23ea8ce5298cf501db5f70 | |
parent | 8c68d88cc44ec476125e30835f79865e8eb32358 [diff] |
ubsan: undefined shift in sign_extend * libhppa.h (sign_extend): Avoid undefined behaviour.
diff --git a/bfd/libhppa.h b/bfd/libhppa.h index 1de2d5c..ebaffe6 100644 --- a/bfd/libhppa.h +++ b/bfd/libhppa.h
@@ -162,7 +162,7 @@ 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; }