[v2,4/6] elf: Remove hwcap and bits_hwcap fields from struct cache_entry

Message ID 20220917162210.a1350405571069c399e632f6@otheo.eu
State Superseded
Headers
Series Remove legacy hwcaps support |

Checks

Context Check Description
dj/TryBot-apply_patch success Patch applied to master at the time it was sent

Commit Message

Javier Pello Sept. 17, 2022, 2:22 p.m. UTC
  They were set to 0 on initialisation and never changed later after
last commit.

Signed-off-by: Javier Pello <devel@otheo.eu>
---
 elf/cache.c | 28 ++++++----------------------
 1 file changed, 6 insertions(+), 22 deletions(-)
  

Comments

Florian Weimer Sept. 22, 2022, 4:03 p.m. UTC | #1
* Javier Pello:

> They were set to 0 on initialisation and never changed later after
> last commit.
>
> Signed-off-by: Javier Pello <devel@otheo.eu>

I think this should be okay, too.

Reviewed-by: Florian Weimer <fweimer@redhat.com>

Thanks,
Florian
  

Patch

diff --git a/elf/cache.c b/elf/cache.c
index ecbea2a0..10e61ae4 100644
--- a/elf/cache.c
+++ b/elf/cache.c
@@ -145,10 +145,8 @@  struct cache_entry
   struct stringtable_entry *path; /* Path to find library.  */
   int flags;			/* Flags to indicate kind of library.  */
   unsigned int isa_level;	/* Required ISA level.  */
-  uint64_t hwcap;		/* Important hardware capabilities.  */
-  int bits_hwcap;		/* Number of bits set in hwcap.  */
 
-  /* glibc-hwcaps subdirectory.  If not NULL, hwcap must be zero.  */
+  /* glibc-hwcaps subdirectory.  */
   struct glibc_hwcaps_subdirectory *hwcaps;
 
   struct cache_entry *next;	/* Next entry in list.  */
@@ -433,15 +431,6 @@  compare (const struct cache_entry *e1, const struct cache_entry *e2)
 	  if (res != 0)
 	    return res;
 	}
-      /* Sort by most specific hwcap.  */
-      if (e2->bits_hwcap > e1->bits_hwcap)
-	return 1;
-      else if (e2->bits_hwcap < e1->bits_hwcap)
-	return -1;
-      else if (e2->hwcap > e1->hwcap)
-	return 1;
-      else if (e2->hwcap < e1->hwcap)
-	return -1;
     }
   return res;
 }
@@ -547,14 +536,13 @@  save_cache (const char *cache_name)
   int cache_entry_count = 0;
   /* The old format doesn't contain hwcap entries and doesn't contain
      libraries in subdirectories with hwcaps entries.  Count therefore
-     also all entries with hwcap == 0.  */
+     all entries.  */
   int cache_entry_old_count = 0;
 
   for (entry = entries; entry != NULL; entry = entry->next)
     {
       ++cache_entry_count;
-      if (entry->hwcap == 0)
-	++cache_entry_old_count;
+      ++cache_entry_old_count;
     }
 
   struct stringtable_finalized strings_finalized;
@@ -626,7 +614,7 @@  save_cache (const char *cache_name)
   for (idx_old = 0, idx_new = 0, entry = entries; entry != NULL;
        entry = entry->next, ++idx_new)
     {
-      if (opt_format != opt_format_new && entry->hwcap == 0)
+      if (opt_format != opt_format_new)
 	{
 	  file_entries->libs[idx_old].flags = entry->flags;
 	  /* XXX: Actually we can optimize here and remove duplicates.  */
@@ -644,7 +632,7 @@  save_cache (const char *cache_name)
 	  file_entries_new->libs[idx_new].flags = entry->flags;
 	  file_entries_new->libs[idx_new].osversion_unused = 0;
 	  if (entry->hwcaps == NULL)
-	    file_entries_new->libs[idx_new].hwcap = entry->hwcap;
+	    file_entries_new->libs[idx_new].hwcap = 0;
 	  else
 	    file_entries_new->libs[idx_new].hwcap
 	      = compute_hwcap_value (entry);
@@ -654,9 +642,7 @@  save_cache (const char *cache_name)
 	    = str_offset + entry->path->offset;
 	}
 
-      /* Ignore entries with hwcap for old format.  */
-      if (entry->hwcap == 0)
-	++idx_old;
+      ++idx_old;
     }
 
   /* Duplicate last old cache entry if needed.  */
@@ -782,9 +768,7 @@  add_to_cache (const char *path, const char *filename, const char *soname,
   new_entry->path = path_interned;
   new_entry->flags = flags;
   new_entry->isa_level = isa_level;
-  new_entry->hwcap = 0;
   new_entry->hwcaps = hwcaps;
-  new_entry->bits_hwcap = 0;
 
   if (hwcaps != NULL)
     hwcaps->used = true;