Blame SOURCES/binutils-readelf-other-sym-info.patch

0e5f8d
diff -rup binutils.orig/binutils/readelf.c binutils-2.29/binutils/readelf.c
0e5f8d
--- binutils.orig/binutils/readelf.c	2017-12-12 16:24:19.571221194 +0000
0e5f8d
+++ binutils-2.29/binutils/readelf.c	2017-12-12 16:27:26.997979803 +0000
0e5f8d
@@ -11018,12 +11018,14 @@ print_dynamic_symbol (bfd_vma si, unsign
0e5f8d
       unsigned int vis = ELF_ST_VISIBILITY (psym->st_other);
0e5f8d
 
0e5f8d
       printf (" %-7s",  get_symbol_visibility (vis));
0e5f8d
+#if 0
0e5f8d
       /* Check to see if any other bits in the st_other field are set.
0e5f8d
 	 Note - displaying this information disrupts the layout of the
0e5f8d
 	 table being generated, but for the moment this case is very
0e5f8d
 	 rare.  */
0e5f8d
       if (psym->st_other ^ vis)
0e5f8d
 	printf (" [%s] ", get_symbol_other (filedata, psym->st_other ^ vis));
0e5f8d
+#endif
0e5f8d
     }
0e5f8d
 
0e5f8d
   printf (" %3.3s ", get_symbol_index_type (filedata, psym->st_shndx));
0e5f8d
@@ -11031,6 +11033,15 @@ print_dynamic_symbol (bfd_vma si, unsign
0e5f8d
     print_symbol (25, GET_DYNAMIC_NAME (psym->st_name));
0e5f8d
   else
0e5f8d
     printf (_(" <corrupt: %14ld>"), psym->st_name);
0e5f8d
+#if 1
0e5f8d
+    {
0e5f8d
+      unsigned int vis = ELF_ST_VISIBILITY (psym->st_other);
0e5f8d
+
0e5f8d
+      /* Check to see if any other bits in the st_other field are set.  */
0e5f8d
+      if (psym->st_other ^ vis)
0e5f8d
+	printf (" \t[%s]", get_symbol_other (filedata, psym->st_other ^ vis));
0e5f8d
+    }
0e5f8d
+#endif
0e5f8d
   putchar ('\n');
0e5f8d
 }
0e5f8d
 
0e5f8d
--- binutils.orig/binutils/readelf.c	2017-12-12 16:36:21.806561149 +0000
0e5f8d
+++ binutils-2.29.1/binutils/readelf.c	2017-12-12 16:38:17.763168514 +0000
0e5f8d
@@ -11548,11 +11548,13 @@ process_symbol_table (FILE * file)
0e5f8d
 		  unsigned int vis = ELF_ST_VISIBILITY (psym->st_other);
0e5f8d
 
0e5f8d
 		  printf (" %-7s", get_symbol_visibility (vis));
0e5f8d
+#if 0
0e5f8d
 		  /* Check to see if any other bits in the st_other field are set.
0e5f8d
 		     Note - displaying this information disrupts the layout of the
0e5f8d
 		     table being generated, but for the moment this case is very rare.  */
0e5f8d
 		  if (psym->st_other ^ vis)
0e5f8d
 		    printf (" [%s] ", get_symbol_other (filedata, psym->st_other ^ vis));
0e5f8d
+#endif
0e5f8d
 		}
0e5f8d
 	      printf (" %4s ", get_symbol_index_type (filedata, psym->st_shndx));
0e5f8d
 	      print_symbol (25, psym->st_name < strtab_size
0e5f8d
@@ -11571,7 +11573,15 @@ process_symbol_table (FILE * file)
0e5f8d
 		    printf (sym_info == symbol_hidden ? "@%s" : "@@%s",
0e5f8d
 			    version_string);
0e5f8d
 		}
0e5f8d
+#if 1
0e5f8d
+		{
0e5f8d
+		  unsigned int vis = ELF_ST_VISIBILITY (psym->st_other);
0e5f8d
 
0e5f8d
+		  /* Check to see if any other bits in the st_other field are set.  */
0e5f8d
+		  if (psym->st_other ^ vis)
0e5f8d
+		    printf (" \t[%s] ", get_symbol_other (filedata, psym->st_other ^ vis));
0e5f8d
+		}
0e5f8d
+#endif
0e5f8d
 	      putchar ('\n');
0e5f8d
 
0e5f8d
 	      if (ELF_ST_BIND (psym->st_info) == STB_LOCAL