summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Tilley <lv@gentoo.org>2004-10-27 03:37:23 +0000
committerTravis Tilley <lv@gentoo.org>2004-10-27 03:37:23 +0000
commitc6022958c164f64a0664375c75f7bafc2fa723ac (patch)
treed18562ef911bc9a177acfa3c36702cd770f828f9 /sys-libs/glibc/files
parentstable on ppc64, bug #66968 (diff)
downloadhistorical-c6022958c164f64a0664375c75f7bafc2fa723ac.tar.gz
historical-c6022958c164f64a0664375c75f7bafc2fa723ac.tar.bz2
historical-c6022958c164f64a0664375c75f7bafc2fa723ac.zip
updated to the fedora-branch snap in fedora's 2.3.3-73 src rpm and removed the glibc 2.0 compat (libNoVersion) changes
Diffstat (limited to 'sys-libs/glibc/files')
-rw-r--r--sys-libs/glibc/files/2.3.4/glibc-2.3.4-fedora-branch-no-force-nontls.patch57
-rw-r--r--sys-libs/glibc/files/2.3.4/glibc-2.3.4-fedora-branch-no-libnoversion.patch70
-rw-r--r--sys-libs/glibc/files/digest-glibc-2.3.4.200410215
3 files changed, 132 insertions, 0 deletions
diff --git a/sys-libs/glibc/files/2.3.4/glibc-2.3.4-fedora-branch-no-force-nontls.patch b/sys-libs/glibc/files/2.3.4/glibc-2.3.4-fedora-branch-no-force-nontls.patch
new file mode 100644
index 000000000000..ed0c993711f3
--- /dev/null
+++ b/sys-libs/glibc/files/2.3.4/glibc-2.3.4-fedora-branch-no-force-nontls.patch
@@ -0,0 +1,57 @@
+--- glibc-2.3.3.old/elf/rtld.c 2004-10-26 21:41:41.989117872 -0400
++++ glibc-2.3.3/elf/rtld.c 2004-10-26 21:45:15.015732904 -0400
+@@ -1087,53 +1087,6 @@
+ ++GL(dl_ns)[LM_ID_BASE]._ns_nloaded;
+ ++GL(dl_load_adds);
+
+-#if defined(__i386__)
+- /* Force non-TLS libraries for glibc 2.0 binaries
+- or if a buggy binary references non-TLS errno or h_errno. */
+- if (__builtin_expect (main_map->l_info[DT_NUM + DT_THISPROCNUM
+- + DT_VERSIONTAGIDX (DT_VERNEED)]
+- == NULL, 0)
+- && main_map->l_info[DT_DEBUG])
+- GLRO(dl_osversion) = 0x20205;
+- else if ((__builtin_expect (mode, normal) != normal
+- || main_map->l_info[ADDRIDX (DT_GNU_LIBLIST)] == NULL)
+- /* Only binaries have DT_DEBUG dynamic tags... */
+- && main_map->l_info[DT_DEBUG])
+- {
+- /* Workaround for buggy binaries. This doesn't handle buggy
+- libraries. */
+- bool buggy = false;
+- const ElfW(Sym) *symtab = (const void *) D_PTR (main_map,
+- l_info[DT_SYMTAB]);
+- const char *strtab = (const void *) D_PTR (main_map,
+- l_info[DT_STRTAB]);
+- Elf_Symndx symidx;
+- for (symidx = main_map->l_buckets[0x6c994f % main_map->l_nbuckets];
+- symidx != STN_UNDEF;
+- symidx = main_map->l_chain[symidx])
+- {
+- if (__builtin_expect (strcmp (strtab + symtab[symidx].st_name,
+- "errno") == 0, 0)
+- && ELFW(ST_TYPE) (symtab[symidx].st_info) != STT_TLS)
+- buggy = true;
+- }
+- for (symidx = main_map->l_buckets[0xe5c992f % main_map->l_nbuckets];
+- symidx != STN_UNDEF;
+- symidx = main_map->l_chain[symidx])
+- {
+- if (__builtin_expect (strcmp (strtab + symtab[symidx].st_name,
+- "h_errno") == 0, 0)
+- && ELFW(ST_TYPE) (symtab[symidx].st_info) != STT_TLS)
+- buggy = true;
+- }
+- if (__builtin_expect (buggy, false) && GLRO(dl_osversion) > 0x20401)
+- {
+- GLRO(dl_osversion) = 0x20401;
+- _dl_error_printf ("Incorrectly built binary which accesses errno or h_errno directly. Needs to be fixed.\n");
+- }
+- }
+-#endif
+-
+ /* If LD_USE_LOAD_BIAS env variable has not been seen, default
+ to not using bias for non-prelinked PIEs and libraries
+ and using it for executables or prelinked PIEs or libraries. */
+
diff --git a/sys-libs/glibc/files/2.3.4/glibc-2.3.4-fedora-branch-no-libnoversion.patch b/sys-libs/glibc/files/2.3.4/glibc-2.3.4-fedora-branch-no-libnoversion.patch
new file mode 100644
index 000000000000..34aed0fa7f96
--- /dev/null
+++ b/sys-libs/glibc/files/2.3.4/glibc-2.3.4-fedora-branch-no-libnoversion.patch
@@ -0,0 +1,70 @@
+--- glibc-2.3.3.old/elf/rtld.c 2004-10-26 21:41:41.989117872 -0400
++++ glibc-2.3.3/elf/rtld.c 2004-10-26 21:45:15.015732904 -0400
+@@ -1306,67 +1259,6 @@
+ }
+ }
+
+-
+-#if defined(__i386__) || defined(__alpha__) || (defined(__sparc__) && !defined(__arch64__))
+- /*
+- * Modifications by Red Hat Software
+- *
+- * Deal with the broken binaries from the non-versioned ages of glibc.
+- * If a binary does not have version information enabled, we assume that
+- * it is a glibc 2.0 binary and we load a compatibility library to try to
+- * overcome binary incompatibilities.
+- * Blame: gafton@redhat.com
+- */
+-#define LIB_NOVERSION "/lib/libNoVersion.so.1"
+-
+- if (__builtin_expect (main_map->l_info[DT_NUM + DT_THISPROCNUM
+- + DT_VERSIONTAGIDX (DT_VERNEED)]
+- == NULL, 0)
+- && (main_map->l_info[DT_DEBUG]
+- || !(GLRO(dl_debug_mask) & DL_DEBUG_PRELINK)))
+- {
+- struct stat test_st;
+- int test_fd;
+- int can_load;
+-
+- HP_TIMING_NOW (start);
+-
+-/* _dl_sysdep_message("Loading compatibility library... ", NULL); */
+-
+- can_load = 1;
+- test_fd = __open (LIB_NOVERSION, O_RDONLY);
+- if (test_fd < 0) {
+- can_load = 0;
+-/* _dl_sysdep_message(" Can't find " LIB_NOVERSION "\n", NULL); */
+- } else {
+- if (__fxstat (_STAT_VER, test_fd, &test_st) < 0 || test_st.st_size == 0) {
+- can_load = 0;
+-/* _dl_sysdep_message(" Can't stat " LIB_NOVERSION "\n", NULL); */
+- }
+- }
+-
+- if (test_fd >= 0) /* open did no fail.. */
+- __close(test_fd); /* avoid fd leaks */
+-
+- if (can_load != 0) {
+- struct link_map *new_map;
+- new_map = _dl_map_object (main_map, LIB_NOVERSION,
+- 1, lt_library, 0, 0, LM_ID_BASE);
+- if (++new_map->l_opencount == 1) {
+- /* It is no duplicate. */
+- ++npreloads;
+-/* _dl_sysdep_message(" DONE\n", NULL); */
+- } else {
+-/* _dl_sysdep_message(" FAILED\n", NULL); */
+- }
+- }
+-
+- HP_TIMING_NOW (stop);
+- HP_TIMING_DIFF (diff, start, stop);
+- HP_TIMING_ACCUM_NT (load_time, diff);
+- }
+-#endif
+-
+ if (__builtin_expect (npreloads, 0) != 0)
+ {
+ /* Set up PRELOADS with a vector of the preloaded libraries. */
diff --git a/sys-libs/glibc/files/digest-glibc-2.3.4.20041021 b/sys-libs/glibc/files/digest-glibc-2.3.4.20041021
new file mode 100644
index 000000000000..33f2939c6efa
--- /dev/null
+++ b/sys-libs/glibc/files/digest-glibc-2.3.4.20041021
@@ -0,0 +1,5 @@
+MD5 84dabbf0b9b5370793a416687d7b5252 glibc-2.3.3.tar.bz2 13298567
+MD5 2a138a32ffdb52fc1be54088d5d49420 glibc-manpages-2.3.4.tar.bz2 14759
+MD5 eabe1f4779fc27cde985b0713f930827 glibc-infopages-2.3.4.tar.bz2 1175502
+MD5 20cba284227f9ab99e504a88b3759f3c glibc-hppa-patches-2004-09-30.tar.gz 16407
+MD5 3439e70cd9b10bb25ad3d8f897fe5cf0 glibc-2.3.4-branch-update-20041021.patch.bz2 2778676