diff options
Diffstat (limited to 'meta/packages/glibc/ldconfig-native-2.5/ldconfig.patch')
-rw-r--r-- | meta/packages/glibc/ldconfig-native-2.5/ldconfig.patch | 460 |
1 files changed, 0 insertions, 460 deletions
diff --git a/meta/packages/glibc/ldconfig-native-2.5/ldconfig.patch b/meta/packages/glibc/ldconfig-native-2.5/ldconfig.patch deleted file mode 100644 index d143a075f..000000000 --- a/meta/packages/glibc/ldconfig-native-2.5/ldconfig.patch +++ /dev/null @@ -1,460 +0,0 @@ ---- - cache.c | 11 +- - chroot_canon.c | 7 + - dl-cache.c | 235 --------------------------------------------------------- - dl-cache.h | 3 - ldconfig.c | 27 ++++-- - readlib.c | 7 + - xstrdup.c | 11 -- - 7 files changed, 45 insertions(+), 256 deletions(-) - -Index: 1/cache.c -=================================================================== ---- 1.orig/cache.c 2007-11-23 17:05:44.000000000 +0000 -+++ 1/cache.c 2007-11-23 17:05:56.000000000 +0000 -@@ -15,6 +15,9 @@ - along with this program; if not, write to the Free Software Foundation, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -+#define _LARGEFILE64_SOURCE -+#define _GNU_SOURCE -+ - #include <errno.h> - #include <error.h> - #include <dirent.h> -@@ -29,8 +32,10 @@ - #include <sys/stat.h> - #include <sys/types.h> - --#include <ldconfig.h> --#include <dl-cache.h> -+#include "ldconfig.h" -+#include "dl-cache.h" -+# define N_(msgid) msgid -+#define _(msg) msg - - struct cache_entry - { -@@ -230,8 +235,6 @@ init_cache (void) - entries = NULL; - } - -- -- - static - int compare (const struct cache_entry *e1, const struct cache_entry *e2) - { -Index: 1/chroot_canon.c -=================================================================== ---- 1.orig/chroot_canon.c 2007-11-23 17:05:44.000000000 +0000 -+++ 1/chroot_canon.c 2007-11-23 17:05:56.000000000 +0000 -@@ -16,6 +16,9 @@ - along with this program; if not, write to the Free Software Foundation, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -+#define _LARGEFILE64_SOURCE -+#define _GNU_SOURCE -+ - #include <stdlib.h> - #include <string.h> - #include <unistd.h> -@@ -26,7 +29,9 @@ - #include <stddef.h> - #include <stdint.h> - --#include <ldconfig.h> -+#include "ldconfig.h" -+ -+#define __set_errno(Val) errno = (Val) - - #ifndef PATH_MAX - #define PATH_MAX 1024 -Index: 1/dl-cache.c -=================================================================== ---- 1.orig/dl-cache.c 2007-11-23 17:05:44.000000000 +0000 -+++ 1/dl-cache.c 2007-11-23 17:05:56.000000000 +0000 -@@ -19,12 +19,12 @@ - - #include <assert.h> - #include <unistd.h> --#include <ldsodefs.h> -+//#include "ldsodefs.h" - #include <sys/mman.h> - #include <dl-cache.h> - #include <dl-procinfo.h> - --#include <stdio-common/_itoa.h> -+//#include "_itoa.h" - - #ifndef _DL_PLATFORMS_COUNT - # define _DL_PLATFORMS_COUNT 0 -@@ -38,103 +38,7 @@ static size_t cachesize; - /* 1 if cache_data + PTR points into the cache. */ - #define _dl_cache_verify_ptr(ptr) (ptr < cache_data_size) - --#define SEARCH_CACHE(cache) \ --/* We use binary search since the table is sorted in the cache file. \ -- The first matching entry in the table is returned. \ -- It is important to use the same algorithm as used while generating \ -- the cache file. */ \ --do \ -- { \ -- left = 0; \ -- right = cache->nlibs - 1; \ -- \ -- while (left <= right) \ -- { \ -- __typeof__ (cache->libs[0].key) key; \ -- \ -- middle = (left + right) / 2; \ -- \ -- key = cache->libs[middle].key; \ -- \ -- /* Make sure string table indices are not bogus before using \ -- them. */ \ -- if (! _dl_cache_verify_ptr (key)) \ -- { \ -- cmpres = 1; \ -- break; \ -- } \ -- \ -- /* Actually compare the entry with the key. */ \ -- cmpres = _dl_cache_libcmp (name, cache_data + key); \ -- if (__builtin_expect (cmpres == 0, 0)) \ -- { \ -- /* Found it. LEFT now marks the last entry for which we \ -- know the name is correct. */ \ -- left = middle; \ -- \ -- /* There might be entries with this name before the one we \ -- found. So we have to find the beginning. */ \ -- while (middle > 0) \ -- { \ -- __typeof__ (cache->libs[0].key) key; \ -- \ -- key = cache->libs[middle - 1].key; \ -- /* Make sure string table indices are not bogus before \ -- using them. */ \ -- if (! _dl_cache_verify_ptr (key) \ -- /* Actually compare the entry. */ \ -- || _dl_cache_libcmp (name, cache_data + key) != 0) \ -- break; \ -- --middle; \ -- } \ -- \ -- do \ -- { \ -- int flags; \ -- __typeof__ (cache->libs[0]) *lib = &cache->libs[middle]; \ -- \ -- /* Only perform the name test if necessary. */ \ -- if (middle > left \ -- /* We haven't seen this string so far. Test whether the \ -- index is ok and whether the name matches. Otherwise \ -- we are done. */ \ -- && (! _dl_cache_verify_ptr (lib->key) \ -- || (_dl_cache_libcmp (name, cache_data + lib->key) \ -- != 0))) \ -- break; \ -- \ -- flags = lib->flags; \ -- if (_dl_cache_check_flags (flags) \ -- && _dl_cache_verify_ptr (lib->value)) \ -- { \ -- if (best == NULL || flags == GLRO(dl_correct_cache_id)) \ -- { \ -- HWCAP_CHECK; \ -- best = cache_data + lib->value; \ -- \ -- if (flags == GLRO(dl_correct_cache_id)) \ -- /* We've found an exact match for the shared \ -- object and no general `ELF' release. Stop \ -- searching. */ \ -- break; \ -- } \ -- } \ -- } \ -- while (++middle <= right); \ -- break; \ -- } \ -- \ -- if (cmpres < 0) \ -- left = middle + 1; \ -- else \ -- right = middle - 1; \ -- } \ -- } \ --while (0) -- -- - int --internal_function - _dl_cache_libcmp (const char *p1, const char *p2) - { - while (*p1 != '\0') -@@ -173,139 +77,4 @@ _dl_cache_libcmp (const char *p1, const - } - - --/* Look up NAME in ld.so.cache and return the file name stored there, -- or null if none is found. */ - --const char * --internal_function --_dl_load_cache_lookup (const char *name) --{ -- int left, right, middle; -- int cmpres; -- const char *cache_data; -- uint32_t cache_data_size; -- const char *best; -- -- /* Print a message if the loading of libs is traced. */ -- if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_LIBS, 0)) -- _dl_debug_printf (" search cache=%s\n", LD_SO_CACHE); -- -- if (cache == NULL) -- { -- /* Read the contents of the file. */ -- void *file = _dl_sysdep_read_whole_file (LD_SO_CACHE, &cachesize, -- PROT_READ); -- -- /* We can handle three different cache file formats here: -- - the old libc5/glibc2.0/2.1 format -- - the old format with the new format in it -- - only the new format -- The following checks if the cache contains any of these formats. */ -- if (file != MAP_FAILED && cachesize > sizeof *cache -- && memcmp (file, CACHEMAGIC, sizeof CACHEMAGIC - 1) == 0) -- { -- size_t offset; -- /* Looks ok. */ -- cache = file; -- -- /* Check for new version. */ -- offset = ALIGN_CACHE (sizeof (struct cache_file) -- + cache->nlibs * sizeof (struct file_entry)); -- -- cache_new = (struct cache_file_new *) ((void *) cache + offset); -- if (cachesize < (offset + sizeof (struct cache_file_new)) -- || memcmp (cache_new->magic, CACHEMAGIC_VERSION_NEW, -- sizeof CACHEMAGIC_VERSION_NEW - 1) != 0) -- cache_new = (void *) -1; -- } -- else if (file != MAP_FAILED && cachesize > sizeof *cache_new -- && memcmp (file, CACHEMAGIC_VERSION_NEW, -- sizeof CACHEMAGIC_VERSION_NEW - 1) == 0) -- { -- cache_new = file; -- cache = file; -- } -- else -- { -- if (file != MAP_FAILED) -- __munmap (file, cachesize); -- cache = (void *) -1; -- } -- -- assert (cache != NULL); -- } -- -- if (cache == (void *) -1) -- /* Previously looked for the cache file and didn't find it. */ -- return NULL; -- -- best = NULL; -- -- if (cache_new != (void *) -1) -- { -- uint64_t platform; -- -- /* This is where the strings start. */ -- cache_data = (const char *) cache_new; -- -- /* Now we can compute how large the string table is. */ -- cache_data_size = (const char *) cache + cachesize - cache_data; -- -- platform = _dl_string_platform (GLRO(dl_platform)); -- if (platform != (uint64_t) -1) -- platform = 1ULL << platform; -- -- /* Only accept hwcap if it's for the right platform. */ --#ifdef USE_TLS --# define _DL_HWCAP_TLS_MASK (1LL << 63) --#else --# define _DL_HWCAP_TLS_MASK 0 --#endif --#define HWCAP_CHECK \ -- if (GLRO(dl_osversion) && lib->osversion > GLRO(dl_osversion)) \ -- continue; \ -- if (_DL_PLATFORMS_COUNT \ -- && (lib->hwcap & _DL_HWCAP_PLATFORM) != 0 \ -- && (lib->hwcap & _DL_HWCAP_PLATFORM) != platform) \ -- continue; \ -- if (lib->hwcap \ -- & ~(GLRO(dl_hwcap) | _DL_HWCAP_PLATFORM | _DL_HWCAP_TLS_MASK)) \ -- continue -- SEARCH_CACHE (cache_new); -- } -- else -- { -- /* This is where the strings start. */ -- cache_data = (const char *) &cache->libs[cache->nlibs]; -- -- /* Now we can compute how large the string table is. */ -- cache_data_size = (const char *) cache + cachesize - cache_data; -- --#undef HWCAP_CHECK --#define HWCAP_CHECK do {} while (0) -- SEARCH_CACHE (cache); -- } -- -- /* Print our result if wanted. */ -- if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_LIBS, 0) -- && best != NULL) -- _dl_debug_printf (" trying file=%s\n", best); -- -- return best; --} -- --#ifndef MAP_COPY --/* If the system does not support MAP_COPY we cannot leave the file open -- all the time since this would create problems when the file is replaced. -- Therefore we provide this function to close the file and open it again -- once needed. */ --void --_dl_unload_cache (void) --{ -- if (cache != NULL && cache != (struct cache_file *) -1) -- { -- __munmap (cache, cachesize); -- cache = NULL; -- } --} --#endif -Index: 1/dl-cache.h -=================================================================== ---- 1.orig/dl-cache.h 2007-11-23 17:05:44.000000000 +0000 -+++ 1/dl-cache.h 2007-11-23 17:05:56.000000000 +0000 -@@ -101,5 +101,4 @@ struct cache_file_new - (((addr) + __alignof__ (struct cache_file_new) -1) \ - & (~(__alignof__ (struct cache_file_new) - 1))) - --extern int _dl_cache_libcmp (const char *p1, const char *p2) -- internal_function; -+extern int _dl_cache_libcmp (const char *p1, const char *p2); -Index: 1/ldconfig.c -=================================================================== ---- 1.orig/ldconfig.c 2007-11-23 17:05:44.000000000 +0000 -+++ 1/ldconfig.c 2007-11-23 17:05:56.000000000 +0000 -@@ -15,6 +15,9 @@ - along with this program; if not, write to the Free Software Foundation, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -+#define _LARGEFILE64_SOURCE -+#define _GNU_SOURCE -+ - #define PROCINFO_CLASS static - #include <alloca.h> - #include <argp.h> -@@ -37,10 +40,20 @@ - #include <glob.h> - #include <libgen.h> - --#include <ldconfig.h> --#include <dl-cache.h> -+#include "ldconfig.h" -+#include "dl-cache.h" -+ -+#include "dl-procinfo.h" -+ -+#include "argp.h" -+ -+ -+#define SYSCONFDIR "/etc" -+#define LIBDIR "/usr/lib" -+#define SLIBDIR "/lib" -+# define N_(msgid) msgid -+#define _(msg) msg - --#include <dl-procinfo.h> - - #ifdef _DL_FIRST_PLATFORM - # define _DL_FIRST_EXTRA (_DL_FIRST_PLATFORM + _DL_PLATFORMS_COUNT) -@@ -53,7 +66,7 @@ - #endif - - /* Get libc version number. */ --#include <version.h> -+#include "version.h" - - #define PACKAGE _libc_intl_domainname - -@@ -143,8 +156,8 @@ static const struct argp_option options[ - { NULL, 0, NULL, 0, NULL, 0 } - }; - --#define PROCINFO_CLASS static --#include <dl-procinfo.c> -+//#define PROCINFO_CLASS static -+//#include <dl-procinfo.c> - - /* Short description of program. */ - static const char doc[] = N_("Configure Dynamic Linker Run Time Bindings."); -@@ -281,7 +294,7 @@ parse_opt (int key, char *arg, struct ar - static void - print_version (FILE *stream, struct argp_state *state) - { -- fprintf (stream, "ldconfig (GNU %s) %s\n", PACKAGE, VERSION); -+ fprintf (stream, "ldconfig (Hacked Poky Version)\n"); - fprintf (stream, gettext ("\ - Copyright (C) %s Free Software Foundation, Inc.\n\ - This is free software; see the source for copying conditions. There is NO\n\ -Index: 1/readlib.c -=================================================================== ---- 1.orig/readlib.c 2007-11-23 17:05:44.000000000 +0000 -+++ 1/readlib.c 2007-11-23 17:05:56.000000000 +0000 -@@ -21,6 +21,9 @@ - development version. Besides the simplification, it has also been - modified to read some other file formats. */ - -+#define _LARGEFILE64_SOURCE -+#define _GNU_SOURCE -+ - #include <a.out.h> - #include <elf.h> - #include <error.h> -@@ -34,7 +37,9 @@ - #include <sys/stat.h> - #include <gnu/lib-names.h> - --#include <ldconfig.h> -+#include "ldconfig.h" -+ -+#define _(msg) msg - - #define Elf32_CLASS ELFCLASS32 - #define Elf64_CLASS ELFCLASS64 -Index: 1/xstrdup.c -=================================================================== ---- 1.orig/xstrdup.c 2007-11-23 17:05:44.000000000 +0000 -+++ 1/xstrdup.c 2007-11-23 17:05:56.000000000 +0000 -@@ -15,15 +15,10 @@ - along with this program; if not, write to the Free Software Foundation, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - --#ifdef HAVE_CONFIG_H --# include <config.h> --#endif -+#define _GNU_SOURCE -+ -+#include <string.h> - --#if defined STDC_HEADERS || defined HAVE_STRING_H || _LIBC --# include <string.h> --#else --# include <strings.h> --#endif - void *xmalloc (size_t n) __THROW; - char *xstrdup (char *string) __THROW; - |