diff options
Diffstat (limited to 'packages/glibc/glibc-2.3.2/30_glibc232-base.patch')
-rw-r--r-- | packages/glibc/glibc-2.3.2/30_glibc232-base.patch | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/packages/glibc/glibc-2.3.2/30_glibc232-base.patch b/packages/glibc/glibc-2.3.2/30_glibc232-base.patch deleted file mode 100644 index 91c9b557d1..0000000000 --- a/packages/glibc/glibc-2.3.2/30_glibc232-base.patch +++ /dev/null @@ -1,55 +0,0 @@ ---- elf/do-lookup.h.base 2003-05-15 09:29:25.000000000 -0700 -+++ elf/do-lookup.h 2003-05-15 09:24:24.000000000 -0700 -@@ -52,7 +52,8 @@ FCT (const char *undef_name, unsigned lo - const ElfW(Sym) *sym; - #if ! VERSIONED - int num_versions = 0; -- const ElfW(Sym) *versioned_sym = NULL; -+ const ElfW(Sym) *default_version = NULL; -+ const ElfW(Sym) *first_version = NULL; - #endif - - map = list[i]; -@@ -155,16 +156,29 @@ FCT (const char *undef_name, unsigned lo - public interface should be returned. */ - if (verstab != NULL) - { -- if ((verstab[symidx] & 0x7fff) -- >= ((flags & DL_LOOKUP_RETURN_NEWEST) ? 2 : 3)) -+ ElfW(Half) ndx = verstab[symidx] & 0x7fff; -+ if (ndx >= ((flags & DL_LOOKUP_RETURN_NEWEST) ? 2 : 3)) - { - /* Don't accept hidden symbols. */ - if ((verstab[symidx] & 0x8000) == 0 && num_versions++ == 0) - /* No version so far. */ -- versioned_sym = sym; -+ default_version = sym; - - continue; - } -+ if ((flags & DL_LOOKUP_RETURN_NEWEST) == 0 && ndx != 0) -+ { -+ /* ndx == 1 is the base version. We will use it for -+ old unversioned application. */ -+ if (ndx != 1) -+ { -+ /* We remember the first version and keep looking -+ for the base version. */ -+ if (ndx == 2) -+ first_version = sym; -+ continue; -+ } -+ } - } - #endif - -@@ -179,7 +193,8 @@ FCT (const char *undef_name, unsigned lo - #if VERSIONED - sym = NULL; - #else -- sym = num_versions == 1 ? versioned_sym : NULL; -+ sym = first_version ?: (num_versions == 1 -+ ? default_version : NULL); - #endif - - if (sym != NULL) |