From 54a3375a1084f02ebd95886739e951228e945c57 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 28 Aug 2014 06:00:54 +0000 Subject: glibc: Migrate eglibc 2.19 -> glibc 2.20 - This is a big swoop change where we switch to using glibc - option-groups are forward ported - cross-localedef is extracted out from eglibc and hosted at github.com/kraj/localedef, its used for cross-localedef recipe - Other non ported patches from eglibc are forward ported ppc8xx cache line workaround SH fpcr values dynamic resolver installing PIC archives is there but is not applied libc header bootstrap - Delete eglibc recipes we moved back to using glibc now - Fix ppc/e500 build - Fix crypt module build when options are used - Fix fnmatch build when options OPTION_EGLIBC_LOCALE_CODE is unset HAVE_MBSTATE_T and HAVE_MBSRTOWCS should be defined conditionally based upon OPTION_EGLIBC_LOCALE_CODE being set/unset - Move the ports/ patches to relevant files now that ports is gone (From OE-Core rev: 1027c535ea753e63d9ffe469a423e04467cf8940) Signed-off-by: Khem Raj Signed-off-by: Richard Purdie --- .../eglibc/ldconfig-native-2.12.1/ldconfig.patch | 471 --------------------- 1 file changed, 471 deletions(-) delete mode 100644 meta/recipes-core/eglibc/ldconfig-native-2.12.1/ldconfig.patch (limited to 'meta/recipes-core/eglibc/ldconfig-native-2.12.1/ldconfig.patch') diff --git a/meta/recipes-core/eglibc/ldconfig-native-2.12.1/ldconfig.patch b/meta/recipes-core/eglibc/ldconfig-native-2.12.1/ldconfig.patch deleted file mode 100644 index 52986e61c7..0000000000 --- a/meta/recipes-core/eglibc/ldconfig-native-2.12.1/ldconfig.patch +++ /dev/null @@ -1,471 +0,0 @@ -Upstream-Status: Inappropriate [embedded specific] - -enable standalone building of ldconfig - ---- - 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: ldconfig-native-2.12.1/cache.c -=================================================================== ---- ldconfig-native-2.12.1.orig/cache.c -+++ ldconfig-native-2.12.1/cache.c -@@ -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 - #include - #include -@@ -31,8 +34,10 @@ - #include - #include - --#include --#include -+#include "ldconfig.h" -+#include "dl-cache.h" -+# define N_(msgid) msgid -+#define _(msg) msg - - struct cache_entry - { -Index: ldconfig-native-2.12.1/chroot_canon.c -=================================================================== ---- ldconfig-native-2.12.1.orig/chroot_canon.c -+++ ldconfig-native-2.12.1/chroot_canon.c -@@ -17,6 +17,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 - #include - #include -@@ -27,7 +30,9 @@ - #include - #include - --#include -+#include "ldconfig.h" -+ -+#define __set_errno(Val) errno = (Val) - - #ifndef PATH_MAX - #define PATH_MAX 1024 -Index: ldconfig-native-2.12.1/dl-cache.c -=================================================================== ---- ldconfig-native-2.12.1.orig/dl-cache.c -+++ ldconfig-native-2.12.1/dl-cache.c -@@ -20,12 +20,12 @@ - - #include - #include --#include -+//#include "ldsodefs.h" - #include - #include - #include - --#include -+//#include "_itoa.h" - - #ifndef _DL_PLATFORMS_COUNT - # define _DL_PLATFORMS_COUNT 0 -@@ -39,103 +39,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') -@@ -172,139 +76,3 @@ _dl_cache_libcmp (const char *p1, const - } - return *p1 - *p2; - } -- -- --/* 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; -- --#define _DL_HWCAP_TLS_MASK (1LL << 63) -- uint64_t hwcap_exclude = ~((GLRO(dl_hwcap) & GLRO(dl_hwcap_mask)) -- | _DL_HWCAP_PLATFORM | _DL_HWCAP_TLS_MASK); -- -- /* Only accept hwcap if it's for the right platform. */ --#define HWCAP_CHECK \ -- if (lib->hwcap & hwcap_exclude) \ -- continue; \ -- 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 -- 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: ldconfig-native-2.12.1/dl-cache.h -=================================================================== ---- ldconfig-native-2.12.1.orig/dl-cache.h -+++ ldconfig-native-2.12.1/dl-cache.h -@@ -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: ldconfig-native-2.12.1/ldconfig.c -=================================================================== ---- ldconfig-native-2.12.1.orig/ldconfig.c -+++ ldconfig-native-2.12.1/ldconfig.c -@@ -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 -+ - #define PROCINFO_CLASS static - #include - #include -@@ -39,10 +42,20 @@ - #include - #include - --#include --#include -+#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 - - #ifdef _DL_FIRST_PLATFORM - # define _DL_FIRST_EXTRA (_DL_FIRST_PLATFORM + _DL_PLATFORMS_COUNT) -@@ -55,7 +68,7 @@ - #endif - - /* Get libc version number. */ --#include -+#include "version.h" - - #define PACKAGE _libc_intl_domainname - -@@ -152,8 +165,8 @@ static const struct argp_option options[ - { NULL, 0, NULL, 0, NULL, 0 } - }; - --#define PROCINFO_CLASS static --#include -+//#define PROCINFO_CLASS static -+//#include - - /* Short description of program. */ - static const char doc[] = N_("Configure Dynamic Linker Run Time Bindings."); -@@ -291,6 +304,7 @@ parse_opt (int key, char *arg, struct ar - return 0; - } - -+#define REPORT_BUGS_TO "mailing list : poky@yoctoproject.org" - /* Print bug-reporting information in the help message. */ - static char * - more_help (int key, const char *text, void *input) -@@ -315,7 +329,7 @@ For bug reporting instructions, please s - static void - print_version (FILE *stream, struct argp_state *state) - { -- fprintf (stream, "ldconfig %s%s\n", PKGVERSION, 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\ -@@ -1233,6 +1247,7 @@ set_hwcap (void) - hwcap_mask = strtoul (mask, NULL, 0); - } - -+const char _libc_intl_domainname[] = "libc"; - - int - main (int argc, char **argv) -Index: ldconfig-native-2.12.1/readlib.c -=================================================================== ---- ldconfig-native-2.12.1.orig/readlib.c -+++ ldconfig-native-2.12.1/readlib.c -@@ -22,6 +22,9 @@ - development version. Besides the simplification, it has also been - modified to read some other file formats. */ - -+#define _LARGEFILE64_SOURCE -+#define _GNU_SOURCE -+ - #include - #include - #include -@@ -35,7 +38,9 @@ - #include - #include - --#include -+#include "ldconfig.h" -+ -+#define _(msg) msg - - #define Elf32_CLASS ELFCLASS32 - #define Elf64_CLASS ELFCLASS64 -Index: ldconfig-native-2.12.1/xstrdup.c -=================================================================== ---- ldconfig-native-2.12.1.orig/xstrdup.c -+++ ldconfig-native-2.12.1/xstrdup.c -@@ -16,15 +16,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 --#endif -+#define _GNU_SOURCE -+ -+#include - --#if defined STDC_HEADERS || defined HAVE_STRING_H || _LIBC --# include --#else --# include --#endif - void *xmalloc (size_t n) __THROW; - char *xstrdup (char *string) __THROW; - -- cgit v1.2.3-54-g00ecf