mirror of
https://git.yoctoproject.org/poky
synced 2026-06-02 13:29:49 +00:00
glibc: Disable hwcaps for speed
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5087 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
@@ -0,0 +1,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;
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
require glibc.inc
|
require glibc.inc
|
||||||
PR = "r4"
|
PR = "r5"
|
||||||
|
|
||||||
ARM_INSTRUCTION_SET = "arm"
|
ARM_INSTRUCTION_SET = "arm"
|
||||||
|
|
||||||
@@ -58,6 +58,7 @@ SRC_URI = "\
|
|||||||
file://glibc-2.6.1-RTLD_SINGLE_THREAD_P-1.patch;patch=1 \
|
file://glibc-2.6.1-RTLD_SINGLE_THREAD_P-1.patch;patch=1 \
|
||||||
file://glibc-2.6.1-use-short-for-fnstsw.patch;patch=1 \
|
file://glibc-2.6.1-use-short-for-fnstsw.patch;patch=1 \
|
||||||
file://glibc-include-fixed.patch;patch=1;pnum=0 \
|
file://glibc-include-fixed.patch;patch=1;pnum=0 \
|
||||||
|
file://no-hwcaps.patch;patch=1 \
|
||||||
"
|
"
|
||||||
|
|
||||||
# Build fails on sh3 and sh4 without additional patches
|
# Build fails on sh3 and sh4 without additional patches
|
||||||
|
|||||||
Reference in New Issue
Block a user