PR26423 UBSAN: elf32-arm.c:10237 left shift cannot be represented
authorAlan Modra <amodra@gmail.com>
Mon, 31 Aug 2020 22:33:52 +0000 (08:03 +0930)
committerAlan Modra <amodra@gmail.com>
Tue, 1 Sep 2020 06:32:48 +0000 (16:02 +0930)
PR 26423
* elf32-arm.c (calculate_group_reloc_mask): Use 3u in shift.

bfd/ChangeLog
bfd/elf32-arm.c

index 861655c9de09080e77f7f186f4954b56a2d7a4d3..20918707f28126709e446feded9f5e66c7812bc7 100644 (file)
@@ -1,3 +1,8 @@
+2020-09-01  Alan Modra  <amodra@gmail.com>
+
+       PR 26423
+       * elf32-arm.c (calculate_group_reloc_mask): Use 3u in shift.
+
 2020-08-31  Alan Modra  <amodra@gmail.com>
 
        PR 26493
index 24991898f70b0ef6b25edf65b42d88100ff1a40f..4366b76636162ab54e541a0d18cce609755b01e5 100644 (file)
@@ -10234,7 +10234,7 @@ calculate_group_reloc_mask (bfd_vma value, int n, bfd_vma *final_residual)
          /* Determine the most significant bit in the residual and
             align the resulting value to a 2-bit boundary.  */
          for (msb = 30; msb >= 0; msb -= 2)
-           if (residual & (3 << msb))
+           if (residual & (3u << msb))
              break;
 
          /* The desired shift is now (msb - 6), or zero, whichever