mirror of
https://git.yoctoproject.org/poky
synced 2026-09-15 15:49:32 +02:00
- 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 <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
55 lines
1.7 KiB
Diff
55 lines
1.7 KiB
Diff
cherry-picked from http://www.eglibc.org/archives/patches/msg00772.html
|
|
|
|
It hasnt yet been merged into glibc
|
|
|
|
Signed-off-by: Khem Raj
|
|
|
|
Upstream-Status: Pending
|
|
|
|
Index: git/resolv/res_libc.c
|
|
===================================================================
|
|
--- git.orig/resolv/res_libc.c 2014-08-27 18:35:15.492070587 +0000
|
|
+++ git/resolv/res_libc.c 2014-08-27 18:35:19.204070587 +0000
|
|
@@ -22,12 +22,13 @@
|
|
#include <arpa/nameser.h>
|
|
#include <resolv.h>
|
|
#include <bits/libc-lock.h>
|
|
-
|
|
+#include <sys/stat.h>
|
|
|
|
/* The following bit is copied from res_data.c (where it is #ifdef'ed
|
|
out) since res_init() should go into libc.so but the rest of that
|
|
file should not. */
|
|
|
|
+__libc_lock_define_initialized (static, lock);
|
|
extern unsigned long long int __res_initstamp attribute_hidden;
|
|
/* We have atomic increment operations on 64-bit platforms. */
|
|
#if __WORDSIZE == 64
|
|
@@ -35,7 +36,6 @@
|
|
# define atomicincunlock(lock) (void) 0
|
|
# define atomicinc(var) catomic_increment (&(var))
|
|
#else
|
|
-__libc_lock_define_initialized (static, lock);
|
|
# define atomicinclock(lock) __libc_lock_lock (lock)
|
|
# define atomicincunlock(lock) __libc_lock_unlock (lock)
|
|
# define atomicinc(var) ++var
|
|
@@ -94,7 +94,18 @@
|
|
int
|
|
__res_maybe_init (res_state resp, int preinit)
|
|
{
|
|
+ static time_t last_mtime;
|
|
+ struct stat statbuf;
|
|
+ int ret;
|
|
+
|
|
if (resp->options & RES_INIT) {
|
|
+ ret = stat (_PATH_RESCONF, &statbuf);
|
|
+ __libc_lock_lock (lock);
|
|
+ if ((ret == 0) && (last_mtime != statbuf.st_mtime)) {
|
|
+ last_mtime = statbuf.st_mtime;
|
|
+ atomicinc (__res_initstamp);
|
|
+ }
|
|
+ __libc_lock_unlock (lock);
|
|
if (__res_initstamp != resp->_u._ext.initstamp) {
|
|
if (resp->nscount > 0)
|
|
__res_iclose (resp, true);
|