diff options
author | Joseph Myers <joseph@codesourcery.com> | 2023-11-17 17:04:14 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2023-11-17 17:04:14 +0000 |
commit | 5070b0e66c56eff4e197721c884760030df76822 (patch) | |
tree | bd8bcadc19c9fd172eee620d0ac5ce214e1dcb6a /bfd | |
parent | 4a1b9a4badc8954221926b231b81392fa625653c (diff) | |
download | binutils-5070b0e66c56eff4e197721c884760030df76822.zip binutils-5070b0e66c56eff4e197721c884760030df76822.tar.gz binutils-5070b0e66c56eff4e197721c884760030df76822.tar.bz2 |
Fix read_ranges for 32-bit long
bfd/dwarf2.c:read_ranges compares bfd_vma values against -1UL, which
doesn't work correctly when long is 32-bit and bfd_vma is 64-bit
(observed as "nm -l" being very slow for mingw64 host; probably causes
issues on 32-bit hosts as well as IL32LLP64 cases such as mingw64).
Fix by using (bfd_vma) -1 in place of -1UL, as done elsewhere.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/dwarf2.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c index b135ef0..22e6b46 100644 --- a/bfd/dwarf2.c +++ b/bfd/dwarf2.c @@ -3688,7 +3688,7 @@ read_ranges (struct comp_unit *unit, struct arange *arange, if (low_pc == 0 && high_pc == 0) break; - if (low_pc == -1UL && high_pc != -1UL) + if (low_pc == (bfd_vma) -1 && high_pc != (bfd_vma) -1) base_address = high_pc; else { |