diff --git a/binutils/ChangeLog b/binutils/ChangeLog index ecd2154a685..5833ec048e9 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,7 @@ +2023-10-24 Tom de Vries + + * dwarf.c (display_gdb_index): Handle unknown name of main. + 2023-10-10 Tom de Vries * dwarf.c (display_lang): New function, factored out of ... diff --git a/binutils/dwarf.c b/binutils/dwarf.c index 584c737b9ec..544ba6dff50 100644 --- a/binutils/dwarf.c +++ b/binutils/dwarf.c @@ -10949,16 +10949,21 @@ display_gdb_index (struct dwarf_section *section, display_lang (lang); printf ("\n"); - uint32_t name_offset = byte_get_little_endian (shortcut_table + 4, 4); printf (_("Name of main: ")); - if (name_offset >= section->size - constant_pool_offset) - { - printf (_("\n"), name_offset); - warn (_("Corrupt name offset of 0x%x found for name of main\n"), - name_offset); - } + if (lang == 0) + printf (_("\n")); else - printf ("%s\n", constant_pool + name_offset); + { + uint32_t name_offset = byte_get_little_endian (shortcut_table + 4, 4); + if (name_offset >= section->size - constant_pool_offset) + { + printf (_("\n"), name_offset); + warn (_("Corrupt name offset of 0x%x found for name of main\n"), + name_offset); + } + else + printf ("%s\n", constant_pool + name_offset); + } } return 1;