bfd: Fix minor bug in read_indexed_address function.
authorrupothar <rupesh.potharla@amd.com>
Fri, 26 Aug 2022 17:43:06 +0000 (23:13 +0530)
committerAlan Modra <amodra@gmail.com>
Sat, 27 Aug 2022 04:55:44 +0000 (14:25 +0930)
read_indexed_address function is using offset_size instead of
addr_size while reading addrx forms.

bfd/dwarf2.c

index 69d302167716de6af877a9a78f7a69b1d1cbfe68..6e5d40b82416641620bdc1a79d4dfd52deb2e92c 100644 (file)
@@ -1412,7 +1412,7 @@ read_indexed_address (uint64_t idx, struct comp_unit *unit)
                     &file->dwarf_addr_buffer, &file->dwarf_addr_size))
     return 0;
 
-  if (_bfd_mul_overflow (idx, unit->offset_size, &offset))
+  if (_bfd_mul_overflow (idx, unit->addr_size, &offset))
     return 0;
 
   offset += unit->dwarf_addr_offset;
@@ -1423,9 +1423,9 @@ read_indexed_address (uint64_t idx, struct comp_unit *unit)
 
   info_ptr = file->dwarf_addr_buffer + offset;
 
-  if (unit->offset_size == 4)
+  if (unit->addr_size == 4)
     return bfd_get_32 (unit->abfd, info_ptr);
-  else if (unit->offset_size == 8)
+  else if (unit->addr_size == 8)
     return bfd_get_64 (unit->abfd, info_ptr);
   else
     return 0;