summaryrefslogtreecommitdiffstats
path: root/meta/packages/glibc/files/no-hwcaps.patch
blob: 5cc2821c2fa0b6609f96c261cdaea23e50db03d8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
Disable the extra hwcaps fields, they cause ld.so to look in many strange paths 
before searching for binaries in /lib. We don't install binaries into any other 
place so this just wastes time.

RP - 20/08/2008

Index: glibc-2.6.1/elf/dl-sysdep.c
===================================================================
--- glibc-2.6.1.orig/elf/dl-sysdep.c	2008-08-15 15:54:49.000000000 +0100
+++ glibc-2.6.1/elf/dl-sysdep.c	2008-08-15 17:45:28.000000000 +0100
@@ -346,7 +346,7 @@
 {
   /* Determine how many important bits are set.  */
   uint64_t masked = GLRO(dl_hwcap) & GLRO(dl_hwcap_mask);
-  size_t cnt = platform != NULL;
+  size_t cnt = 0;
   size_t n, m;
   size_t total;
   struct r_strlenpair *temp;
@@ -354,11 +354,6 @@
   struct r_strlenpair *rp;
   char *cp;
 
-  /* Count the number of bits set in the masked value.  */
-  for (n = 0; (~((1ULL << n) - 1) & masked) != 0; ++n)
-    if ((masked & (1ULL << n)) != 0)
-      ++cnt;
-
 #if (defined NEED_DL_SYSINFO || defined NEED_DL_SYSINFO_DSO) && defined SHARED
   /* The system-supplied DSO can contain a note of type 2, vendor "GNU".
      This gives us a list of names to treat as fake hwcap bits.  */
@@ -434,20 +429,6 @@
 	}
     }
 #endif
-  for (n = 0; masked != 0; ++n)
-    if ((masked & (1ULL << n)) != 0)
-      {
-	temp[m].str = _dl_hwcap_string (n);
-	temp[m].len = strlen (temp[m].str);
-	masked ^= 1ULL << n;
-	++m;
-      }
-  if (platform != NULL)
-    {
-      temp[m].str = platform;
-      temp[m].len = platform_len;
-      ++m;
-    }
 
   temp[m].str = "tls";
   temp[m].len = 3;