summaryrefslogtreecommitdiffstats
path: root/meta/packages/glibc
diff options
context:
space:
mode:
authorRichard Purdie <richard@openedhand.com>2008-08-20 11:48:12 +0000
committerRichard Purdie <richard@openedhand.com>2008-08-20 11:48:12 +0000
commit083c4562078ca47be2e423866fe45bc658e51556 (patch)
tree59bcb7cd8ae230ed91d3a4c55aea6d2c84faf4e0 /meta/packages/glibc
parent8d772b128c0d55f464b67e67a251e4d1ef564439 (diff)
downloadpoky-083c4562078ca47be2e423866fe45bc658e51556.tar.gz
glibc: Disable hwcaps for speed
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5087 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/packages/glibc')
-rw-r--r--meta/packages/glibc/files/no-hwcaps.patch52
-rw-r--r--meta/packages/glibc/glibc_2.6.1.bb3
2 files changed, 54 insertions, 1 deletions
diff --git a/meta/packages/glibc/files/no-hwcaps.patch b/meta/packages/glibc/files/no-hwcaps.patch
new file mode 100644
index 0000000000..5cc2821c2f
--- /dev/null
+++ b/meta/packages/glibc/files/no-hwcaps.patch
@@ -0,0 +1,52 @@
1Disable the extra hwcaps fields, they cause ld.so to look in many strange paths
2before searching for binaries in /lib. We don't install binaries into any other
3place so this just wastes time.
4
5RP - 20/08/2008
6
7Index: glibc-2.6.1/elf/dl-sysdep.c
8===================================================================
9--- glibc-2.6.1.orig/elf/dl-sysdep.c 2008-08-15 15:54:49.000000000 +0100
10+++ glibc-2.6.1/elf/dl-sysdep.c 2008-08-15 17:45:28.000000000 +0100
11@@ -346,7 +346,7 @@
12 {
13 /* Determine how many important bits are set. */
14 uint64_t masked = GLRO(dl_hwcap) & GLRO(dl_hwcap_mask);
15- size_t cnt = platform != NULL;
16+ size_t cnt = 0;
17 size_t n, m;
18 size_t total;
19 struct r_strlenpair *temp;
20@@ -354,11 +354,6 @@
21 struct r_strlenpair *rp;
22 char *cp;
23
24- /* Count the number of bits set in the masked value. */
25- for (n = 0; (~((1ULL << n) - 1) & masked) != 0; ++n)
26- if ((masked & (1ULL << n)) != 0)
27- ++cnt;
28-
29 #if (defined NEED_DL_SYSINFO || defined NEED_DL_SYSINFO_DSO) && defined SHARED
30 /* The system-supplied DSO can contain a note of type 2, vendor "GNU".
31 This gives us a list of names to treat as fake hwcap bits. */
32@@ -434,20 +429,6 @@
33 }
34 }
35 #endif
36- for (n = 0; masked != 0; ++n)
37- if ((masked & (1ULL << n)) != 0)
38- {
39- temp[m].str = _dl_hwcap_string (n);
40- temp[m].len = strlen (temp[m].str);
41- masked ^= 1ULL << n;
42- ++m;
43- }
44- if (platform != NULL)
45- {
46- temp[m].str = platform;
47- temp[m].len = platform_len;
48- ++m;
49- }
50
51 temp[m].str = "tls";
52 temp[m].len = 3;
diff --git a/meta/packages/glibc/glibc_2.6.1.bb b/meta/packages/glibc/glibc_2.6.1.bb
index fc53840176..5a0a72a5ce 100644
--- a/meta/packages/glibc/glibc_2.6.1.bb
+++ b/meta/packages/glibc/glibc_2.6.1.bb
@@ -1,5 +1,5 @@
1require glibc.inc 1require glibc.inc
2PR = "r4" 2PR = "r5"
3 3
4ARM_INSTRUCTION_SET = "arm" 4ARM_INSTRUCTION_SET = "arm"
5 5
@@ -58,6 +58,7 @@ SRC_URI = "\
58 file://glibc-2.6.1-RTLD_SINGLE_THREAD_P-1.patch;patch=1 \ 58 file://glibc-2.6.1-RTLD_SINGLE_THREAD_P-1.patch;patch=1 \
59 file://glibc-2.6.1-use-short-for-fnstsw.patch;patch=1 \ 59 file://glibc-2.6.1-use-short-for-fnstsw.patch;patch=1 \
60 file://glibc-include-fixed.patch;patch=1;pnum=0 \ 60 file://glibc-include-fixed.patch;patch=1;pnum=0 \
61 file://no-hwcaps.patch;patch=1 \
61" 62"
62 63
63# Build fails on sh3 and sh4 without additional patches 64# Build fails on sh3 and sh4 without additional patches