diff options
Diffstat (limited to 'packages/glibc/glibc-2.3.2/glibc-2.3.2-ldconfig-tls.patch')
-rw-r--r-- | packages/glibc/glibc-2.3.2/glibc-2.3.2-ldconfig-tls.patch | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/packages/glibc/glibc-2.3.2/glibc-2.3.2-ldconfig-tls.patch b/packages/glibc/glibc-2.3.2/glibc-2.3.2-ldconfig-tls.patch index e69de29bb2..660be1e140 100644 --- a/packages/glibc/glibc-2.3.2/glibc-2.3.2-ldconfig-tls.patch +++ b/packages/glibc/glibc-2.3.2/glibc-2.3.2-ldconfig-tls.patch @@ -0,0 +1,19 @@ +--- glibc-2.3.2/elf/cache.c.orig 2003-10-24 19:57:55.000000000 -0400 ++++ glibc-2.3.2/elf/cache.c 2003-10-24 20:06:06.000000000 -0400 +@@ -246,6 +246,16 @@ int compare (const struct cache_entry *e + return 1; + else if (e1->flags > e2->flags) + return -1; ++#ifdef USE_TLS ++ /* ld.so doesn't sort by "most specific hwcap". It searches based on ++ the numbering of the bits, and TLS takes precedence. This still ++ doesn't bring us in line with ld.so, but it does bring us closer - ++ close enough for Debian's current needs. */ ++ else if ((e2->hwcap & (1ULL << 63)) && ! (e1->hwcap & (1ULL << 63))) ++ return 1; ++ else if ((e1->hwcap & (1ULL << 63)) && ! (e2->hwcap & (1ULL << 63))) ++ return -1; ++#endif + /* Sort by most specific hwcap. */ + else if (e2->bits_hwcap > e1->bits_hwcap) + return 1; |