PR29337, readelf CU/TU mixup in .gdb_index
authorAlan Modra <amodra@gmail.com>
Thu, 21 Jul 2022 05:24:54 +0000 (14:54 +0930)
committerAlan Modra <amodra@gmail.com>
Thu, 21 Jul 2022 05:24:54 +0000 (14:54 +0930)
Commit 244e19c79111 changed a number of variables in display_gdb_index
to count entries rather than words.

PR 29337
* dwarf.c (display_gdb_index): Correct use of cu_list_elements.

binutils/dwarf.c

index 99fb3566994a21630e095b802207d0bd974ad34b..7d0a9ffefea34931d96156aec2101340f3230261 100644 (file)
@@ -10671,9 +10671,9 @@ display_gdb_index (struct dwarf_section *section,
              kind = GDB_INDEX_SYMBOL_KIND_VALUE (cu);
              cu = GDB_INDEX_CU_VALUE (cu);
              /* Convert to TU number if it's for a type unit.  */
-             if (cu >= cu_list_elements / 2)
+             if (cu >= cu_list_elements)
                printf ("%cT%lu", num_cus > 1 ? '\t' : ' ',
-                       (unsigned long) (cu - cu_list_elements / 2));
+                       (unsigned long) (cu - cu_list_elements));
              else
                printf ("%c%lu", num_cus > 1 ? '\t' : ' ', (unsigned long) cu);