]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
objdump gcc_compiled and gcc2_compiled
authorAlan Modra <amodra@gmail.com>
Tue, 9 Sep 2025 07:47:51 +0000 (17:17 +0930)
committerAlan Modra <amodra@gmail.com>
Tue, 9 Sep 2025 07:50:03 +0000 (17:20 +0930)
* objdump.c (remove_useless_symbols): Deal with gcc_compiled
and gcc2_compiled here..
(compare_symbols): ..rather than here..
(disassemble_section): ..and here.

binutils/objdump.c

index 0bea4d0761c5e643c4629c0924f4cef08bad6587..290f7e51f660c324c703ef4c4bd597ba08430c2d 100644 (file)
@@ -1106,6 +1106,9 @@ remove_useless_symbols (asymbol **symbols, long count)
       if (bfd_is_und_section (sym->section)
          || bfd_is_com_section (sym->section))
        continue;
+      if (strstr (sym->name, "gnu_compiled")
+         || strstr (sym->name, "gcc2_compiled"))
+       continue;
 
       *out_ptr++ = sym;
     }
@@ -1171,18 +1174,6 @@ compare_symbols (const void *ap, const void *bp)
   anl = strlen (an);
   bnl = strlen (bn);
 
-  /* The symbols gnu_compiled and gcc2_compiled convey no real
-     information, so put them after other symbols with the same value.  */
-  af = (strstr (an, "gnu_compiled") != NULL
-       || strstr (an, "gcc2_compiled") != NULL);
-  bf = (strstr (bn, "gnu_compiled") != NULL
-       || strstr (bn, "gcc2_compiled") != NULL);
-
-  if (af && ! bf)
-    return 1;
-  if (! af && bf)
-    return -1;
-
   /* We use a heuristic for the file name, to try to sort it after
      more useful symbols.  It may not work on non Unix systems, but it
      doesn't really matter; the only difference is precisely which
@@ -4092,11 +4083,7 @@ disassemble_section (bfd *abfd, asection *section, void *inf)
          || sym == NULL
          || sym->section != section
          || bfd_asymbol_value (sym) > addr
-         || ((sym->flags & BSF_OBJECT) == 0
-             && (strstr (bfd_asymbol_name (sym), "gnu_compiled")
-                 == NULL)
-             && (strstr (bfd_asymbol_name (sym), "gcc2_compiled")
-                 == NULL))
+         || (sym->flags & BSF_OBJECT) == 0
          || (sym->flags & BSF_FUNCTION) != 0)
        insns = true;
       else