gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git] / gold / incremental-dump.cc
index e7e838aaaf8466a7949676bfc52298539d14caf6..1b561ae9680ffd62fdf7efd61010e17aaf254129 100644 (file)
@@ -1,6 +1,6 @@
 // incremental.cc -- incremental linking test/debug tool
 
-// Copyright 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2009-2020 Free Software Foundation, Inc.
 // Written by Rafael Avila de Espindola <rafael.espindola@gmail.com>
 
 // This file is part of gold.
@@ -52,6 +52,9 @@ find_input_containing_global(
     unsigned int* symndx)
 {
   typedef Incremental_inputs_reader<size, big_endian> Inputs_reader;
+  static const unsigned int global_sym_entry_size =
+      Incremental_inputs_reader<size, big_endian>::global_sym_entry_size;
+
   for (unsigned int i = 0; i < incremental_inputs.input_file_count(); ++i)
     {
       typename Inputs_reader::Incremental_input_entry_reader input_file =
@@ -63,7 +66,8 @@ find_input_containing_global(
       if (offset >= input_file.get_symbol_offset(0)
           && offset < input_file.get_symbol_offset(nsyms))
        {
-         *symndx = (offset - input_file.get_symbol_offset(0)) / 20;
+         *symndx = ((offset - input_file.get_symbol_offset(0))
+                    / global_sym_entry_size);
          return input_file;
        }
     }
@@ -92,7 +96,7 @@ dump_incremental_inputs(const char* argv0, const char* filename,
   Incremental_inputs_reader<size, big_endian>
       incremental_inputs(inc->inputs_reader());
 
-  if (incremental_inputs.version() != 1)
+  if (incremental_inputs.version() != 2)
     {
       fprintf(stderr, "%s: %s: unknown incremental version %d\n", argv0,
               filename, incremental_inputs.version());
@@ -322,12 +326,14 @@ dump_incremental_inputs(const char* argv0, const char* filename,
                symname = "<unknown>";
              printf("    %6d  %6d  %8d  %8d  %8d  %8d  %-5s  %s\n",
                     output_symndx,
-                    info.shndx(),
+                    info.shndx() == -1U ? -1 : info.shndx(),
                     input_file.get_symbol_offset(symndx),
                     info.next_offset(),
                     info.reloc_count(),
                     info.reloc_offset(),
-                    info.shndx() != elfcpp::SHN_UNDEF ? "DEF" : "UNDEF",
+                    (info.shndx() == -1U
+                     ? "BASE"
+                     : info.shndx() == 0 ? "UNDEF" : "DEF"),
                     symname);
            }
        }
This page took 0.040501 seconds and 4 git commands to generate.