commit 3af50a3968776e3f7d800ba896eb90a19c5af9eaf076c09fecc35b5e5240b53d Author: Adrian Schröter Date: Fri May 3 12:54:31 2024 +0200 Sync from SUSE:SLFO:Main glibc revision 058493c2c68e50f1893f9c004487a7d3 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/_constraints b/_constraints new file mode 100644 index 0000000..14bd648 --- /dev/null +++ b/_constraints @@ -0,0 +1,16 @@ + + + + + glibc:testsuite + + + + 3000 + + + 5600 + + + + diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..30d332b --- /dev/null +++ b/_multibuild @@ -0,0 +1,9 @@ + + i686 + utils + testsuite + cross-aarch64 + cross-ppc64le + cross-riscv64 + cross-s390x + diff --git a/aarch64-rawmemchr-unwind.patch b/aarch64-rawmemchr-unwind.patch new file mode 100644 index 0000000..ee6dc4a --- /dev/null +++ b/aarch64-rawmemchr-unwind.patch @@ -0,0 +1,29 @@ +From 3f798427884fa57770e8e2291cf58d5918254bb5 Mon Sep 17 00:00:00 2001 +From: Andreas Schwab +Date: Thu, 23 Nov 2023 18:23:46 +0100 +Subject: [PATCH] aarch64: correct CFI in rawmemchr (bug 31113) + +The .cfi_return_column directive changes the return column for the whole +FDE range. But the actual intent is to tell the unwinder that the value +in x30 (lr) now resides in x15 after the move, and that is expressed by +the .cfi_register directive. +--- + sysdeps/aarch64/rawmemchr.S | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sysdeps/aarch64/rawmemchr.S b/sysdeps/aarch64/rawmemchr.S +index efc4b7007b..1fff094215 100644 +--- a/sysdeps/aarch64/rawmemchr.S ++++ b/sysdeps/aarch64/rawmemchr.S +@@ -31,7 +31,7 @@ ENTRY (__rawmemchr) + + L(do_strlen): + mov x15, x30 +- cfi_return_column (x15) ++ cfi_register (x30, x15) + mov x14, x0 + bl __strlen + add x0, x14, x0 +-- +2.43.0 + diff --git a/add-locales.patch b/add-locales.patch new file mode 100644 index 0000000..bb2d61e --- /dev/null +++ b/add-locales.patch @@ -0,0 +1,29 @@ +Index: glibc-2.27/localedata/SUPPORTED +=================================================================== +--- glibc-2.27.orig/localedata/SUPPORTED ++++ glibc-2.27/localedata/SUPPORTED +@@ -135,6 +135,7 @@ en_CA.UTF-8/UTF-8 \ + en_CA/ISO-8859-1 \ + en_DK.UTF-8/UTF-8 \ + en_DK/ISO-8859-1 \ ++en_GB.ISO-8859-15/ISO-8859-15 \ + en_GB.UTF-8/UTF-8 \ + en_GB/ISO-8859-1 \ + en_HK.UTF-8/UTF-8 \ +@@ -152,6 +153,7 @@ en_PH/ISO-8859-1 \ + en_SC.UTF-8/UTF-8 \ + en_SG.UTF-8/UTF-8 \ + en_SG/ISO-8859-1 \ ++en_US.ISO-8859-15/ISO-8859-15 \ + en_US.UTF-8/UTF-8 \ + en_US/ISO-8859-1 \ + en_ZA.UTF-8/UTF-8 \ +@@ -277,6 +279,8 @@ it_IT/ISO-8859-1 \ + it_IT@euro/ISO-8859-15 \ + iu_CA/UTF-8 \ + ja_JP.EUC-JP/EUC-JP \ ++ja_JP.SHIFT_JISX0213/SHIFT_JISX0213 \ ++ja_JP.SJIS/SHIFT_JIS \ + ja_JP.UTF-8/UTF-8 \ + ka_GE.UTF-8/UTF-8 \ + ka_GE/GEORGIAN-PS \ diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..bbfdda3 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,28 @@ +glibc + arch i586 block! + targettype x86 +/etc/ld.so.conf + targettype x86 "/lib/ld-linux.so.2 -> /lib/ld-linux.so.2" + targettype x86 obsoletes "baselibs-x86" + targettype ia32 +/etc/ld.so.conf + targettype ia32 "/lib/ld-linux.so.2 -> /lib/ld-linux.so.2" + prereq -glibc-x86 + +/usr/lib/getconf/[^g] + +/usr/sbin/iconvconfig -> /usr/sbin/iconvconfig- +glibc-locale-base + arch i586 block! + +/usr/lib(64)?/gconv/gconv-modules + targettype x86 -/usr/lib(64)?/gconv/gconv-modules + obsoletes "glibc-locale-" + post "/usr/sbin/iconvconfig-" +glibc-devel + requires "glibc- = %version" + arch i586 block! + +^/usr/include/gnu/lib-names-.*\.h$ + +^/usr/include/gnu/stubs-.*\.h$ +glibc-devel-static + arch i586 block! +glibc-profile + arch i586 block! +glibc-utils +libnsl1 + arch i586 block! diff --git a/bindresvport.blacklist b/bindresvport.blacklist new file mode 100644 index 0000000..8b285bd --- /dev/null +++ b/bindresvport.blacklist @@ -0,0 +1,14 @@ +# +# This file contains a list of port numbers between 600 and 1024, +# which should not be used by bindresvport. bindresvport is mostly +# called by RPC services. This mostly solves the problem, that a +# RPC service uses a well known port of another service. +# +623 # ASF, used by IPMI on some cards +631 # cups +636 # ldaps +664 # Secure ASF, used by IPMI on some cards +774 # rpasswd +921 # lwresd +993 # imaps +995 # pops diff --git a/cache-amd-legacy.patch b/cache-amd-legacy.patch new file mode 100644 index 0000000..22f9b40 --- /dev/null +++ b/cache-amd-legacy.patch @@ -0,0 +1,286 @@ +From ced101ed9d3b7cfd12d97ef24940cb00b8658c81 Mon Sep 17 00:00:00 2001 +From: Sajan Karumanchi +Date: Tue, 1 Aug 2023 15:20:55 +0000 +Subject: [PATCH] x86: Fix for cache computation on AMD legacy cpus. + +Some legacy AMD CPUs and hypervisors have the _cpuid_ '0x8000_001D' +set to Zero, thus resulting in zeroed-out computed cache values. +This patch reintroduces the old way of cache computation as a +fail-safe option to handle these exceptions. +Fixed 'level4_cache_size' value through handle_amd(). + +Reviewed-by: Premachandra Mallappa +Tested-by: Florian Weimer +--- + sysdeps/x86/dl-cacheinfo.h | 226 ++++++++++++++++++++++++++++++++----- + 1 file changed, 199 insertions(+), 27 deletions(-) + +diff --git a/sysdeps/x86/dl-cacheinfo.h b/sysdeps/x86/dl-cacheinfo.h +index cd4d0351ae..285773039f 100644 +--- a/sysdeps/x86/dl-cacheinfo.h ++++ b/sysdeps/x86/dl-cacheinfo.h +@@ -315,40 +315,206 @@ handle_amd (int name) + { + unsigned int eax; + unsigned int ebx; +- unsigned int ecx; ++ unsigned int ecx = 0; + unsigned int edx; +- unsigned int count = 0x1; ++ unsigned int max_cpuid = 0; ++ unsigned int fn = 0; + + /* No level 4 cache (yet). */ + if (name > _SC_LEVEL3_CACHE_LINESIZE) + return 0; + +- if (name >= _SC_LEVEL3_CACHE_SIZE) +- count = 0x3; +- else if (name >= _SC_LEVEL2_CACHE_SIZE) +- count = 0x2; +- else if (name >= _SC_LEVEL1_DCACHE_SIZE) +- count = 0x0; ++ __cpuid (0x80000000, max_cpuid, ebx, ecx, edx); ++ ++ if (max_cpuid >= 0x8000001D) ++ /* Use __cpuid__ '0x8000_001D' to compute cache details. */ ++ { ++ unsigned int count = 0x1; ++ ++ if (name >= _SC_LEVEL3_CACHE_SIZE) ++ count = 0x3; ++ else if (name >= _SC_LEVEL2_CACHE_SIZE) ++ count = 0x2; ++ else if (name >= _SC_LEVEL1_DCACHE_SIZE) ++ count = 0x0; ++ ++ __cpuid_count (0x8000001D, count, eax, ebx, ecx, edx); ++ ++ if (ecx != 0) ++ { ++ switch (name) ++ { ++ case _SC_LEVEL1_ICACHE_ASSOC: ++ case _SC_LEVEL1_DCACHE_ASSOC: ++ case _SC_LEVEL2_CACHE_ASSOC: ++ case _SC_LEVEL3_CACHE_ASSOC: ++ return ((ebx >> 22) & 0x3ff) + 1; ++ case _SC_LEVEL1_ICACHE_LINESIZE: ++ case _SC_LEVEL1_DCACHE_LINESIZE: ++ case _SC_LEVEL2_CACHE_LINESIZE: ++ case _SC_LEVEL3_CACHE_LINESIZE: ++ return (ebx & 0xfff) + 1; ++ case _SC_LEVEL1_ICACHE_SIZE: ++ case _SC_LEVEL1_DCACHE_SIZE: ++ case _SC_LEVEL2_CACHE_SIZE: ++ case _SC_LEVEL3_CACHE_SIZE: ++ return (((ebx >> 22) & 0x3ff) + 1) * ((ebx & 0xfff) + 1) * (ecx + 1); ++ default: ++ __builtin_unreachable (); ++ } ++ return -1; ++ } ++ } ++ ++ /* Legacy cache computation for CPUs prior to Bulldozer family. ++ This is also a fail-safe mechanism for some hypervisors that ++ accidentally configure __cpuid__ '0x8000_001D' to Zero. */ + +- __cpuid_count (0x8000001D, count, eax, ebx, ecx, edx); ++ fn = 0x80000005 + (name >= _SC_LEVEL2_CACHE_SIZE); ++ ++ if (max_cpuid < fn) ++ return 0; ++ ++ __cpuid (fn, eax, ebx, ecx, edx); ++ ++ if (name < _SC_LEVEL1_DCACHE_SIZE) ++ { ++ name += _SC_LEVEL1_DCACHE_SIZE - _SC_LEVEL1_ICACHE_SIZE; ++ ecx = edx; ++ } + + switch (name) + { +- case _SC_LEVEL1_ICACHE_ASSOC: +- case _SC_LEVEL1_DCACHE_ASSOC: +- case _SC_LEVEL2_CACHE_ASSOC: ++ case _SC_LEVEL1_DCACHE_SIZE: ++ return (ecx >> 14) & 0x3fc00; ++ ++ case _SC_LEVEL1_DCACHE_ASSOC: ++ ecx >>= 16; ++ if ((ecx & 0xff) == 0xff) ++ { ++ /* Fully associative. */ ++ return (ecx << 2) & 0x3fc00; ++ } ++ return ecx & 0xff; ++ ++ case _SC_LEVEL1_DCACHE_LINESIZE: ++ return ecx & 0xff; ++ ++ case _SC_LEVEL2_CACHE_SIZE: ++ return (ecx & 0xf000) == 0 ? 0 : (ecx >> 6) & 0x3fffc00; ++ ++ case _SC_LEVEL2_CACHE_ASSOC: ++ switch ((ecx >> 12) & 0xf) ++ { ++ case 0: ++ case 1: ++ case 2: ++ case 4: ++ return (ecx >> 12) & 0xf; ++ case 6: ++ return 8; ++ case 8: ++ return 16; ++ case 10: ++ return 32; ++ case 11: ++ return 48; ++ case 12: ++ return 64; ++ case 13: ++ return 96; ++ case 14: ++ return 128; ++ case 15: ++ return ((ecx >> 6) & 0x3fffc00) / (ecx & 0xff); ++ default: ++ return 0; ++ } ++ ++ case _SC_LEVEL2_CACHE_LINESIZE: ++ return (ecx & 0xf000) == 0 ? 0 : ecx & 0xff; ++ ++ case _SC_LEVEL3_CACHE_SIZE: ++ { ++ long int total_l3_cache = 0, l3_cache_per_thread = 0; ++ unsigned int threads = 0; ++ const struct cpu_features *cpu_features; ++ ++ if ((edx & 0xf000) == 0) ++ return 0; ++ ++ total_l3_cache = (edx & 0x3ffc0000) << 1; ++ cpu_features = __get_cpu_features (); ++ ++ /* Figure out the number of logical threads that share L3. */ ++ if (max_cpuid >= 0x80000008) ++ { ++ /* Get width of APIC ID. */ ++ __cpuid (0x80000008, eax, ebx, ecx, edx); ++ threads = (ecx & 0xff) + 1; ++ } ++ ++ if (threads == 0) ++ { ++ /* If APIC ID width is not available, use logical ++ processor count. */ ++ __cpuid (0x00000001, eax, ebx, ecx, edx); ++ if ((edx & (1 << 28)) != 0) ++ threads = (ebx >> 16) & 0xff; ++ } ++ ++ /* Cap usage of highest cache level to the number of ++ supported threads. */ ++ if (threads > 0) ++ l3_cache_per_thread = total_l3_cache/threads; ++ ++ /* Get shared cache per ccx for Zen architectures. */ ++ if (cpu_features->basic.family >= 0x17) ++ { ++ long int l3_cache_per_ccx = 0; ++ /* Get number of threads share the L3 cache in CCX. */ ++ __cpuid_count (0x8000001D, 0x3, eax, ebx, ecx, edx); ++ unsigned int threads_per_ccx = ((eax >> 14) & 0xfff) + 1; ++ l3_cache_per_ccx = l3_cache_per_thread * threads_per_ccx; ++ return l3_cache_per_ccx; ++ } ++ else ++ { ++ return l3_cache_per_thread; ++ } ++ } ++ + case _SC_LEVEL3_CACHE_ASSOC: +- return ecx ? ((ebx >> 22) & 0x3ff) + 1 : 0; +- case _SC_LEVEL1_ICACHE_LINESIZE: +- case _SC_LEVEL1_DCACHE_LINESIZE: +- case _SC_LEVEL2_CACHE_LINESIZE: ++ switch ((edx >> 12) & 0xf) ++ { ++ case 0: ++ case 1: ++ case 2: ++ case 4: ++ return (edx >> 12) & 0xf; ++ case 6: ++ return 8; ++ case 8: ++ return 16; ++ case 10: ++ return 32; ++ case 11: ++ return 48; ++ case 12: ++ return 64; ++ case 13: ++ return 96; ++ case 14: ++ return 128; ++ case 15: ++ return ((edx & 0x3ffc0000) << 1) / (edx & 0xff); ++ default: ++ return 0; ++ } ++ + case _SC_LEVEL3_CACHE_LINESIZE: +- return ecx ? (ebx & 0xfff) + 1 : 0; +- case _SC_LEVEL1_ICACHE_SIZE: +- case _SC_LEVEL1_DCACHE_SIZE: +- case _SC_LEVEL2_CACHE_SIZE: +- case _SC_LEVEL3_CACHE_SIZE: +- return ecx ? (((ebx >> 22) & 0x3ff) + 1) * ((ebx & 0xfff) + 1) * (ecx + 1): 0; ++ return (edx & 0xf000) == 0 ? 0 : edx & 0xff; ++ + default: + __builtin_unreachable (); + } +@@ -703,7 +869,6 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) + data = handle_amd (_SC_LEVEL1_DCACHE_SIZE); + core = handle_amd (_SC_LEVEL2_CACHE_SIZE); + shared = handle_amd (_SC_LEVEL3_CACHE_SIZE); +- shared_per_thread = shared; + + level1_icache_size = handle_amd (_SC_LEVEL1_ICACHE_SIZE); + level1_icache_linesize = handle_amd (_SC_LEVEL1_ICACHE_LINESIZE); +@@ -716,13 +881,20 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) + level3_cache_size = shared; + level3_cache_assoc = handle_amd (_SC_LEVEL3_CACHE_ASSOC); + level3_cache_linesize = handle_amd (_SC_LEVEL3_CACHE_LINESIZE); ++ level4_cache_size = handle_amd (_SC_LEVEL4_CACHE_SIZE); + + if (shared <= 0) +- /* No shared L3 cache. All we have is the L2 cache. */ +- shared = core; ++ { ++ /* No shared L3 cache. All we have is the L2 cache. */ ++ shared = core; ++ } ++ else if (cpu_features->basic.family < 0x17) ++ { ++ /* Account for exclusive L2 and L3 caches. */ ++ shared += core; ++ } + +- if (shared_per_thread <= 0) +- shared_per_thread = shared; ++ shared_per_thread = shared; + } + + cpu_features->level1_icache_size = level1_icache_size; +-- +2.41.0 + diff --git a/cache-intel-shared.patch b/cache-intel-shared.patch new file mode 100644 index 0000000..d06fdd7 --- /dev/null +++ b/cache-intel-shared.patch @@ -0,0 +1,45 @@ +From 5ea70cc02626d9b85f1570153873d8648a47bf95 Mon Sep 17 00:00:00 2001 +From: Noah Goldstein +Date: Thu, 10 Aug 2023 19:28:24 -0500 +Subject: [PATCH] x86: Fix incorrect scope of setting `shared_per_thread` [BZ# + 30745] + +The: + +``` + if (shared_per_thread > 0 && threads > 0) + shared_per_thread /= threads; +``` + +Code was accidentally moved to inside the else scope. This doesn't +match how it was previously (before af992e7abd). + +This patch fixes that by putting the division after the `else` block. + +(cherry picked from commit 084fb31bc2c5f95ae0b9e6df4d3cf0ff43471ede) +--- + sysdeps/x86/dl-cacheinfo.h | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +diff --git a/sysdeps/x86/dl-cacheinfo.h b/sysdeps/x86/dl-cacheinfo.h +index 285773039f..5ddb35c9d9 100644 +--- a/sysdeps/x86/dl-cacheinfo.h ++++ b/sysdeps/x86/dl-cacheinfo.h +@@ -770,11 +770,10 @@ get_common_cache_info (long int *shared_ptr, long int * shared_per_thread_ptr, u + level. */ + threads = ((cpu_features->features[CPUID_INDEX_1].cpuid.ebx >> 16) + & 0xff); +- +- /* Get per-thread size of highest level cache. */ +- if (shared_per_thread > 0 && threads > 0) +- shared_per_thread /= threads; + } ++ /* Get per-thread size of highest level cache. */ ++ if (shared_per_thread > 0 && threads > 0) ++ shared_per_thread /= threads; + } + + /* Account for non-inclusive L2 and L3 caches. */ +-- +2.41.0 + diff --git a/call-init-proxy-objects.patch b/call-init-proxy-objects.patch new file mode 100644 index 0000000..ec3497b --- /dev/null +++ b/call-init-proxy-objects.patch @@ -0,0 +1,37 @@ +From 7ae211a01b085d0bde54bd13b887ce8f9d57c2b4 Mon Sep 17 00:00:00 2001 +From: Florian Weimer +Date: Tue, 22 Aug 2023 13:56:25 +0200 +Subject: [PATCH] elf: Do not run constructors for proxy objects + +Otherwise, the ld.so constructor runs for each audit namespace +and each dlmopen namespace. + +(cherry picked from commit f6c8204fd7fabf0cf4162eaf10ccf23258e4d10e) +--- + elf/dl-init.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/elf/dl-init.c b/elf/dl-init.c +index 5b0732590f..ba4d2fdc85 100644 +--- a/elf/dl-init.c ++++ b/elf/dl-init.c +@@ -25,10 +25,14 @@ + static void + call_init (struct link_map *l, int argc, char **argv, char **env) + { ++ /* Do not run constructors for proxy objects. */ ++ if (l != l->l_real) ++ return; ++ + /* If the object has not been relocated, this is a bug. The + function pointers are invalid in this case. (Executables do not +- need relocation, and neither do proxy objects.) */ +- assert (l->l_real->l_relocated || l->l_real->l_type == lt_executable); ++ need relocation.) */ ++ assert (l->l_relocated || l->l_type == lt_executable); + + if (l->l_init_called) + /* This object is all done. */ +-- +2.42.0 + diff --git a/duplocale-global-locale.patch b/duplocale-global-locale.patch new file mode 100644 index 0000000..fde9e71 --- /dev/null +++ b/duplocale-global-locale.patch @@ -0,0 +1,57 @@ +From 513331b788a3fa633f1d0417d43915e16a0c88f0 Mon Sep 17 00:00:00 2001 +From: Andreas Schwab +Date: Wed, 6 Mar 2024 12:59:47 +0100 +Subject: [PATCH] duplocale: protect use of global locale (bug 23970) + +Protect the global locale from being modified while we compute the size of +the locale category names. That allows the use of the global locale in a +single thread, while all other threads use the thread safe locale +functions. +--- + locale/duplocale.c | 14 ++++++++------ + 1 file changed, 8 insertions(+), 6 deletions(-) + +diff --git a/locale/duplocale.c b/locale/duplocale.c +index a755ac5c36..bad476700f 100644 +--- a/locale/duplocale.c ++++ b/locale/duplocale.c +@@ -43,6 +43,11 @@ __duplocale (locale_t dataset) + int cnt; + size_t names_len = 0; + ++ /* If dataset points to _nl_global_locale, we need to prevent other ++ threads from modifying it. We also modify global data below (the ++ usage counts). */ ++ __libc_rwlock_wrlock (__libc_setlocale_lock); ++ + /* Calculate the total space we need to store all the names. */ + for (cnt = 0; cnt < __LC_LAST; ++cnt) + if (cnt != LC_ALL && dataset->__names[cnt] != _nl_C_name) +@@ -55,9 +60,6 @@ __duplocale (locale_t dataset) + { + char *namep = (char *) (result + 1); + +- /* We modify global data (the usage counts). */ +- __libc_rwlock_wrlock (__libc_setlocale_lock); +- + for (cnt = 0; cnt < __LC_LAST; ++cnt) + if (cnt != LC_ALL) + { +@@ -78,11 +80,11 @@ __duplocale (locale_t dataset) + result->__ctype_b = dataset->__ctype_b; + result->__ctype_tolower = dataset->__ctype_tolower; + result->__ctype_toupper = dataset->__ctype_toupper; +- +- /* It's done. */ +- __libc_rwlock_unlock (__libc_setlocale_lock); + } + ++ /* It's done. */ ++ __libc_rwlock_unlock (__libc_setlocale_lock); ++ + return result; + } + weak_alias (__duplocale, duplocale) +-- +2.44.0 + diff --git a/fstat-implementation.patch b/fstat-implementation.patch new file mode 100644 index 0000000..93a2d42 --- /dev/null +++ b/fstat-implementation.patch @@ -0,0 +1,165 @@ +From 551101e8240b7514fc646d1722f8b79c90362b8f Mon Sep 17 00:00:00 2001 +From: Adhemerval Zanella +Date: Mon, 11 Sep 2023 10:25:48 -0300 +Subject: [PATCH] io: Do not implement fstat with fstatat + +AT_EMPTY_PATH is a requirement to implement fstat over fstatat, +however it does not prevent the kernel to read the path argument. +It is not an issue, but on x86-64 with SMAP-capable CPUs the kernel is +forced to perform expensive user memory access. After that regular +lookup is performed which adds even more overhead. + +Instead, issue the fstat syscall directly on LFS fstat implementation +(32 bit architectures will still continue to use statx, which is +required to have 64 bit time_t support). it should be even a +small performance gain on non x86_64, since there is no need +to handle the path argument. + +Checked on x86_64-linux-gnu. +--- + sysdeps/unix/sysv/linux/fstat64.c | 37 +++++++++++++++++++++++-- + sysdeps/unix/sysv/linux/fstatat64.c | 12 ++------ + sysdeps/unix/sysv/linux/internal-stat.h | 31 +++++++++++++++++++++ + 3 files changed, 68 insertions(+), 12 deletions(-) + create mode 100644 sysdeps/unix/sysv/linux/internal-stat.h + +diff --git a/sysdeps/unix/sysv/linux/fstat64.c b/sysdeps/unix/sysv/linux/fstat64.c +index 124384e57f..a291f0825b 100644 +--- a/sysdeps/unix/sysv/linux/fstat64.c ++++ b/sysdeps/unix/sysv/linux/fstat64.c +@@ -19,20 +19,53 @@ + #define __fstat __redirect___fstat + #define fstat __redirect_fstat + #include ++#undef __fstat ++#undef fstat + #include +-#include +-#include ++#include + #include + + int + __fstat64_time64 (int fd, struct __stat64_t64 *buf) + { ++#if !FSTATAT_USE_STATX ++# if XSTAT_IS_XSTAT64 ++# ifdef __NR_fstat ++ /* 64-bit kABI, e.g. aarch64, ia64, powerpc64*, s390x, riscv64, and ++ x86_64. */ ++ return INLINE_SYSCALL_CALL (fstat, fd, buf); ++# elif defined __NR_fstat64 ++# if STAT64_IS_KERNEL_STAT64 ++ /* 64-bit kABI outlier, e.g. alpha */ ++ return INLINE_SYSCALL_CALL (fstat64, fd, buf); ++# else ++ /* 64-bit kABI outlier, e.g. sparc64. */ ++ struct kernel_stat64 kst64; ++ int r = INLINE_SYSCALL_CALL (fstat64, fd, &kst64); ++ if (r == 0) ++ __cp_stat64_kstat64 (buf, &kst64); ++ return r; ++# endif /* STAT64_IS_KERNEL_STAT64 */ ++# endif ++# else /* XSTAT_IS_XSTAT64 */ ++ /* 64-bit kabi outlier, e.g. mips64 and mips64-n32. */ ++ struct kernel_stat kst; ++ int r = INLINE_SYSCALL_CALL (fstat, fd, &kst); ++ if (r == 0) ++ __cp_kstat_stat64_t64 (&kst, buf); ++ return r; ++# endif ++#else /* !FSTATAT_USE_STATX */ ++ /* All kABIs with non-LFS support and with old 32-bit time_t support ++ e.g. arm, csky, i386, hppa, m68k, microblaze, nios2, sh, powerpc32, ++ and sparc32. */ + if (fd < 0) + { + __set_errno (EBADF); + return -1; + } + return __fstatat64_time64 (fd, "", buf, AT_EMPTY_PATH); ++#endif + } + #if __TIMESIZE != 64 + hidden_def (__fstat64_time64) +diff --git a/sysdeps/unix/sysv/linux/fstatat64.c b/sysdeps/unix/sysv/linux/fstatat64.c +index 3509d3ca6d..127c6ff601 100644 +--- a/sysdeps/unix/sysv/linux/fstatat64.c ++++ b/sysdeps/unix/sysv/linux/fstatat64.c +@@ -21,12 +21,10 @@ + #include + #include + #include +-#include + #include + #include +-#include +-#include + #include ++#include + + #if __TIMESIZE == 64 \ + && (__WORDSIZE == 32 \ +@@ -40,11 +38,7 @@ _Static_assert (sizeof (__blkcnt_t) == sizeof (__blkcnt64_t), + "__blkcnt_t and __blkcnt64_t must match"); + #endif + +-#if (__WORDSIZE == 32 \ +- && (!defined __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32)) \ +- || defined STAT_HAS_TIME32 \ +- || (!defined __NR_newfstatat && !defined __NR_fstatat64) +-# define FSTATAT_USE_STATX 1 ++#if FSTATAT_USE_STATX + + static inline int + fstatat64_time64_statx (int fd, const char *file, struct __stat64_t64 *buf, +@@ -79,8 +73,6 @@ fstatat64_time64_statx (int fd, const char *file, struct __stat64_t64 *buf, + + return r; + } +-#else +-# define FSTATAT_USE_STATX 0 + #endif + + /* Only statx supports 64-bit timestamps for 32-bit architectures with +diff --git a/sysdeps/unix/sysv/linux/internal-stat.h b/sysdeps/unix/sysv/linux/internal-stat.h +new file mode 100644 +index 0000000000..e3b0569853 +--- /dev/null ++++ b/sysdeps/unix/sysv/linux/internal-stat.h +@@ -0,0 +1,31 @@ ++/* Internal stat definitions. ++ Copyright (C) 2023 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++#include ++#include ++#include ++#include ++ ++#if (__WORDSIZE == 32 \ ++ && (!defined __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32)) \ ++ || defined STAT_HAS_TIME32 \ ++ || (!defined __NR_newfstatat && !defined __NR_fstatat64) ++# define FSTATAT_USE_STATX 1 ++#else ++# define FSTATAT_USE_STATX 0 ++#endif +-- +2.42.0 + diff --git a/gb18030-2022.patch b/gb18030-2022.patch new file mode 100644 index 0000000..71904d5 --- /dev/null +++ b/gb18030-2022.patch @@ -0,0 +1,855 @@ +From e1d3312015e8f70344620375aedf91afe7e7e7a4 Mon Sep 17 00:00:00 2001 +From: lijianglin +Date: Tue, 27 Jun 2023 20:15:49 +0800 +Subject: [PATCH] add GB18030-2022 charmap and test the entire GB18030 charmap + [BZ #30243] + +support GB18030-2022 after add and change some transcoding relationship +of GB18030-2022.Details are as follows: +add 25 transcoding relationship + UE81E 0x82359037 + UE826 0x82359038 + UE82B 0x82359039 + UE82C 0x82359130 + UE832 0x82359131 + UE843 0x82359132 + UE854 0x82359133 + UE864 0x82359134 + UE78D 0x84318236 + UE78F 0x84318237 + UE78E 0x84318238 + UE790 0x84318239 + UE791 0x84318330 + UE792 0x84318331 + UE793 0x84318332 + UE794 0x84318333 + UE795 0x84318334 + UE796 0x84318335 + UE816 0xfe51 + UE817 0xfe52 + UE818 0xfe53 + UE831 0xfe6c + UE83B 0xfe76 + UE855 0xfe91 +change 6 transcoding relationship + U20087 0x95329031 + U20089 0x95329033 + U200CC 0x95329730 + U215D7 0x9536b937 + U2298F 0x9630ba35 + U241FE 0x9635b630 +Test the entire GB18030 charmap, not only the Unicode BMP part. + +Co-authored-by: yangyanchao +Co-authored-by: liqingqing +Co-authored-by: Bruno Haible +Reviewed-by: Andreas Schwab +Reviewed-by: Mike FABIAN +--- + iconvdata/gb18030.c | 423 +++++++++++++++++++----------------- + iconvdata/tst-table-from.c | 5 +- + iconvdata/tst-table-to.c | 12 +- + iconvdata/tst-table.sh | 50 +++-- + localedata/charmaps/GB18030 | 91 +++----- + 5 files changed, 292 insertions(+), 289 deletions(-) + +diff --git a/iconvdata/gb18030.c b/iconvdata/gb18030.c +index 9996a59eaf..be6cfe652c 100644 +--- a/iconvdata/gb18030.c ++++ b/iconvdata/gb18030.c +@@ -6009,49 +6009,50 @@ static const uint16_t __twobyte_to_ucs[] = + [0x5dc2] = 0xfa0e, [0x5dc3] = 0xfa0f, [0x5dc4] = 0xfa11, [0x5dc5] = 0xfa13, + [0x5dc6] = 0xfa14, [0x5dc7] = 0xfa18, [0x5dc8] = 0xfa1f, [0x5dc9] = 0xfa20, + [0x5dca] = 0xfa21, [0x5dcb] = 0xfa23, [0x5dcc] = 0xfa24, [0x5dcd] = 0xfa27, +- [0x5dce] = 0xfa28, [0x5dcf] = 0xfa29, [0x5dd0] = 0x2e81, [0x5dd4] = 0x2e84, +- [0x5dd5] = 0x3473, [0x5dd6] = 0x3447, [0x5dd7] = 0x2e88, [0x5dd8] = 0x2e8b, +- [0x5dd9] = 0x9fb4, [0x5dda] = 0x359e, [0x5ddb] = 0x361a, [0x5ddc] = 0x360e, +- [0x5ddd] = 0x2e8c, [0x5dde] = 0x2e97, [0x5ddf] = 0x396e, [0x5de0] = 0x3918, +- [0x5de1] = 0x9fb5, [0x5de2] = 0x39cf, [0x5de3] = 0x39df, [0x5de4] = 0x3a73, +- [0x5de5] = 0x39d0, [0x5de6] = 0x9fb6, [0x5de7] = 0x9fb7, [0x5de8] = 0x3b4e, +- [0x5de9] = 0x3c6e, [0x5dea] = 0x3ce0, [0x5deb] = 0x2ea7, [0x5ded] = 0x9fb8, ++ [0x5dce] = 0xfa28, [0x5dcf] = 0xfa29, [0x5dd0] = 0x2e81, [0x5dd1] = 0xe816, ++ [0x5dd2] = 0xe817, [0x5dd3] = 0xe818, [0x5dd4] = 0x2e84, [0x5dd5] = 0x3473, ++ [0x5dd6] = 0x3447, [0x5dd7] = 0x2e88, [0x5dd8] = 0x2e8b, [0x5dd9] = 0x9fb4, ++ [0x5dda] = 0x359e, [0x5ddb] = 0x361a, [0x5ddc] = 0x360e, [0x5ddd] = 0x2e8c, ++ [0x5dde] = 0x2e97, [0x5ddf] = 0x396e, [0x5de0] = 0x3918, [0x5de1] = 0x9fb5, ++ [0x5de2] = 0x39cf, [0x5de3] = 0x39df, [0x5de4] = 0x3a73, [0x5de5] = 0x39d0, ++ [0x5de6] = 0x9fb6, [0x5de7] = 0x9fb7, [0x5de8] = 0x3b4e, [0x5de9] = 0x3c6e, ++ [0x5dea] = 0x3ce0, [0x5deb] = 0x2ea7, [0x5dec] = 0xe831, [0x5ded] = 0x9fb8, + [0x5dee] = 0x2eaa, [0x5def] = 0x4056, [0x5df0] = 0x415f, [0x5df1] = 0x2eae, + [0x5df2] = 0x4337, [0x5df3] = 0x2eb3, [0x5df4] = 0x2eb6, [0x5df5] = 0x2eb7, +- [0x5df7] = 0x43b1, [0x5df8] = 0x43ac, [0x5df9] = 0x2ebb, [0x5dfa] = 0x43dd, +- [0x5dfb] = 0x44d6, [0x5dfc] = 0x4661, [0x5dfd] = 0x464c, [0x5dfe] = 0x9fb9, +- [0x5e00] = 0x4723, [0x5e01] = 0x4729, [0x5e02] = 0x477c, [0x5e03] = 0x478d, +- [0x5e04] = 0x2eca, [0x5e05] = 0x4947, [0x5e06] = 0x497a, [0x5e07] = 0x497d, +- [0x5e08] = 0x4982, [0x5e09] = 0x4983, [0x5e0a] = 0x4985, [0x5e0b] = 0x4986, +- [0x5e0c] = 0x499f, [0x5e0d] = 0x499b, [0x5e0e] = 0x49b7, [0x5e0f] = 0x49b6, +- [0x5e10] = 0x9fba, [0x5e12] = 0x4ca3, [0x5e13] = 0x4c9f, [0x5e14] = 0x4ca0, +- [0x5e15] = 0x4ca1, [0x5e16] = 0x4c77, [0x5e17] = 0x4ca2, [0x5e18] = 0x4d13, +- [0x5e19] = 0x4d14, [0x5e1a] = 0x4d15, [0x5e1b] = 0x4d16, [0x5e1c] = 0x4d17, +- [0x5e1d] = 0x4d18, [0x5e1e] = 0x4d19, [0x5e1f] = 0x4dae, [0x5e20] = 0x9fbb, +- [0x5e21] = 0xe468, [0x5e22] = 0xe469, [0x5e23] = 0xe46a, [0x5e24] = 0xe46b, +- [0x5e25] = 0xe46c, [0x5e26] = 0xe46d, [0x5e27] = 0xe46e, [0x5e28] = 0xe46f, +- [0x5e29] = 0xe470, [0x5e2a] = 0xe471, [0x5e2b] = 0xe472, [0x5e2c] = 0xe473, +- [0x5e2d] = 0xe474, [0x5e2e] = 0xe475, [0x5e2f] = 0xe476, [0x5e30] = 0xe477, +- [0x5e31] = 0xe478, [0x5e32] = 0xe479, [0x5e33] = 0xe47a, [0x5e34] = 0xe47b, +- [0x5e35] = 0xe47c, [0x5e36] = 0xe47d, [0x5e37] = 0xe47e, [0x5e38] = 0xe47f, +- [0x5e39] = 0xe480, [0x5e3a] = 0xe481, [0x5e3b] = 0xe482, [0x5e3c] = 0xe483, +- [0x5e3d] = 0xe484, [0x5e3e] = 0xe485, [0x5e3f] = 0xe486, [0x5e40] = 0xe487, +- [0x5e41] = 0xe488, [0x5e42] = 0xe489, [0x5e43] = 0xe48a, [0x5e44] = 0xe48b, +- [0x5e45] = 0xe48c, [0x5e46] = 0xe48d, [0x5e47] = 0xe48e, [0x5e48] = 0xe48f, +- [0x5e49] = 0xe490, [0x5e4a] = 0xe491, [0x5e4b] = 0xe492, [0x5e4c] = 0xe493, +- [0x5e4d] = 0xe494, [0x5e4e] = 0xe495, [0x5e4f] = 0xe496, [0x5e50] = 0xe497, +- [0x5e51] = 0xe498, [0x5e52] = 0xe499, [0x5e53] = 0xe49a, [0x5e54] = 0xe49b, +- [0x5e55] = 0xe49c, [0x5e56] = 0xe49d, [0x5e57] = 0xe49e, [0x5e58] = 0xe49f, +- [0x5e59] = 0xe4a0, [0x5e5a] = 0xe4a1, [0x5e5b] = 0xe4a2, [0x5e5c] = 0xe4a3, +- [0x5e5d] = 0xe4a4, [0x5e5e] = 0xe4a5, [0x5e5f] = 0xe4a6, [0x5e60] = 0xe4a7, +- [0x5e61] = 0xe4a8, [0x5e62] = 0xe4a9, [0x5e63] = 0xe4aa, [0x5e64] = 0xe4ab, +- [0x5e65] = 0xe4ac, [0x5e66] = 0xe4ad, [0x5e67] = 0xe4ae, [0x5e68] = 0xe4af, +- [0x5e69] = 0xe4b0, [0x5e6a] = 0xe4b1, [0x5e6b] = 0xe4b2, [0x5e6c] = 0xe4b3, +- [0x5e6d] = 0xe4b4, [0x5e6e] = 0xe4b5, [0x5e6f] = 0xe4b6, [0x5e70] = 0xe4b7, +- [0x5e71] = 0xe4b8, [0x5e72] = 0xe4b9, [0x5e73] = 0xe4ba, [0x5e74] = 0xe4bb, +- [0x5e75] = 0xe4bc, [0x5e76] = 0xe4bd, [0x5e77] = 0xe4be, [0x5e78] = 0xe4bf, +- [0x5e79] = 0xe4c0, [0x5e7a] = 0xe4c1, [0x5e7b] = 0xe4c2, [0x5e7c] = 0xe4c3, +- [0x5e7d] = 0xe4c4, [0x5e7e] = 0xe4c5, ++ [0x5df6] = 0xe83b, [0x5df7] = 0x43b1, [0x5df8] = 0x43ac, [0x5df9] = 0x2ebb, ++ [0x5dfa] = 0x43dd, [0x5dfb] = 0x44d6, [0x5dfc] = 0x4661, [0x5dfd] = 0x464c, ++ [0x5dfe] = 0x9fb9, [0x5e00] = 0x4723, [0x5e01] = 0x4729, [0x5e02] = 0x477c, ++ [0x5e03] = 0x478d, [0x5e04] = 0x2eca, [0x5e05] = 0x4947, [0x5e06] = 0x497a, ++ [0x5e07] = 0x497d, [0x5e08] = 0x4982, [0x5e09] = 0x4983, [0x5e0a] = 0x4985, ++ [0x5e0b] = 0x4986, [0x5e0c] = 0x499f, [0x5e0d] = 0x499b, [0x5e0e] = 0x49b7, ++ [0x5e0f] = 0x49b6, [0x5e10] = 0x9fba, [0x5e11] = 0xe855, [0x5e12] = 0x4ca3, ++ [0x5e13] = 0x4c9f, [0x5e14] = 0x4ca0, [0x5e15] = 0x4ca1, [0x5e16] = 0x4c77, ++ [0x5e17] = 0x4ca2, [0x5e18] = 0x4d13, [0x5e19] = 0x4d14, [0x5e1a] = 0x4d15, ++ [0x5e1b] = 0x4d16, [0x5e1c] = 0x4d17, [0x5e1d] = 0x4d18, [0x5e1e] = 0x4d19, ++ [0x5e1f] = 0x4dae, [0x5e20] = 0x9fbb, [0x5e21] = 0xe468, [0x5e22] = 0xe469, ++ [0x5e23] = 0xe46a, [0x5e24] = 0xe46b, [0x5e25] = 0xe46c, [0x5e26] = 0xe46d, ++ [0x5e27] = 0xe46e, [0x5e28] = 0xe46f, [0x5e29] = 0xe470, [0x5e2a] = 0xe471, ++ [0x5e2b] = 0xe472, [0x5e2c] = 0xe473, [0x5e2d] = 0xe474, [0x5e2e] = 0xe475, ++ [0x5e2f] = 0xe476, [0x5e30] = 0xe477, [0x5e31] = 0xe478, [0x5e32] = 0xe479, ++ [0x5e33] = 0xe47a, [0x5e34] = 0xe47b, [0x5e35] = 0xe47c, [0x5e36] = 0xe47d, ++ [0x5e37] = 0xe47e, [0x5e38] = 0xe47f, [0x5e39] = 0xe480, [0x5e3a] = 0xe481, ++ [0x5e3b] = 0xe482, [0x5e3c] = 0xe483, [0x5e3d] = 0xe484, [0x5e3e] = 0xe485, ++ [0x5e3f] = 0xe486, [0x5e40] = 0xe487, [0x5e41] = 0xe488, [0x5e42] = 0xe489, ++ [0x5e43] = 0xe48a, [0x5e44] = 0xe48b, [0x5e45] = 0xe48c, [0x5e46] = 0xe48d, ++ [0x5e47] = 0xe48e, [0x5e48] = 0xe48f, [0x5e49] = 0xe490, [0x5e4a] = 0xe491, ++ [0x5e4b] = 0xe492, [0x5e4c] = 0xe493, [0x5e4d] = 0xe494, [0x5e4e] = 0xe495, ++ [0x5e4f] = 0xe496, [0x5e50] = 0xe497, [0x5e51] = 0xe498, [0x5e52] = 0xe499, ++ [0x5e53] = 0xe49a, [0x5e54] = 0xe49b, [0x5e55] = 0xe49c, [0x5e56] = 0xe49d, ++ [0x5e57] = 0xe49e, [0x5e58] = 0xe49f, [0x5e59] = 0xe4a0, [0x5e5a] = 0xe4a1, ++ [0x5e5b] = 0xe4a2, [0x5e5c] = 0xe4a3, [0x5e5d] = 0xe4a4, [0x5e5e] = 0xe4a5, ++ [0x5e5f] = 0xe4a6, [0x5e60] = 0xe4a7, [0x5e61] = 0xe4a8, [0x5e62] = 0xe4a9, ++ [0x5e63] = 0xe4aa, [0x5e64] = 0xe4ab, [0x5e65] = 0xe4ac, [0x5e66] = 0xe4ad, ++ [0x5e67] = 0xe4ae, [0x5e68] = 0xe4af, [0x5e69] = 0xe4b0, [0x5e6a] = 0xe4b1, ++ [0x5e6b] = 0xe4b2, [0x5e6c] = 0xe4b3, [0x5e6d] = 0xe4b4, [0x5e6e] = 0xe4b5, ++ [0x5e6f] = 0xe4b6, [0x5e70] = 0xe4b7, [0x5e71] = 0xe4b8, [0x5e72] = 0xe4b9, ++ [0x5e73] = 0xe4ba, [0x5e74] = 0xe4bb, [0x5e75] = 0xe4bc, [0x5e76] = 0xe4bd, ++ [0x5e77] = 0xe4be, [0x5e78] = 0xe4bf, [0x5e79] = 0xe4c0, [0x5e7a] = 0xe4c1, ++ [0x5e7b] = 0xe4c2, [0x5e7c] = 0xe4c3, [0x5e7d] = 0xe4c4, [0x5e7e] = 0xe4c5, + }; + + /* Table for GB18030 -> UCS-4, containing the four-byte characters only, +@@ -8680,7 +8681,9 @@ static const uint16_t __fourbyte_to_ucs[0x99e2 - 6637 - 2110 - 14404 - 4295] = + [0x2838] = 0x9fa6, [0x2839] = 0x9fa7, [0x283a] = 0x9fa8, [0x283b] = 0x9fa9, + [0x283c] = 0x9faa, [0x283d] = 0x9fab, [0x283e] = 0x9fac, [0x283f] = 0x9fad, + [0x2840] = 0x9fae, [0x2841] = 0x9faf, [0x2842] = 0x9fb0, [0x2843] = 0x9fb1, +- [0x2844] = 0x9fb2, [0x2845] = 0x9fb3, [0x284e] = 0xe76c, [0x284f] = 0xe7c8, ++ [0x2844] = 0x9fb2, [0x2845] = 0x9fb3, [0x2846] = 0xe81e, [0x2847] = 0xe826, ++ [0x2848] = 0xe82b, [0x2849] = 0xe82c, [0x284a] = 0xe832, [0x284b] = 0xe843, ++ [0x284c] = 0xe854, [0x284d] = 0xe864, [0x284e] = 0xe76c, [0x284f] = 0xe7c8, + [0x2850] = 0xe7e7, [0x2851] = 0xe7e8, [0x2852] = 0xe7e9, [0x2853] = 0xe7ea, + [0x2854] = 0xe7eb, [0x2855] = 0xe7ec, [0x2856] = 0xe7ed, [0x2857] = 0xe7ee, + [0x2858] = 0xe7ef, [0x2859] = 0xe7f0, [0x285a] = 0xe7f1, [0x285b] = 0xe7f2, +@@ -9008,84 +9011,86 @@ static const uint16_t __fourbyte_to_ucs[0x99e2 - 6637 - 2110 - 14404 - 4295] = + [0x2d60] = 0xfe02, [0x2d61] = 0xfe03, [0x2d62] = 0xfe04, [0x2d63] = 0xfe05, + [0x2d64] = 0xfe06, [0x2d65] = 0xfe07, [0x2d66] = 0xfe08, [0x2d67] = 0xfe09, + [0x2d68] = 0xfe0a, [0x2d69] = 0xfe0b, [0x2d6a] = 0xfe0c, [0x2d6b] = 0xfe0d, +- [0x2d6c] = 0xfe0e, [0x2d6d] = 0xfe0f, [0x2d78] = 0xfe1a, [0x2d79] = 0xfe1b, +- [0x2d7a] = 0xfe1c, [0x2d7b] = 0xfe1d, [0x2d7c] = 0xfe1e, [0x2d7d] = 0xfe1f, +- [0x2d7e] = 0xfe20, [0x2d7f] = 0xfe21, [0x2d80] = 0xfe22, [0x2d81] = 0xfe23, +- [0x2d82] = 0xfe24, [0x2d83] = 0xfe25, [0x2d84] = 0xfe26, [0x2d85] = 0xfe27, +- [0x2d86] = 0xfe28, [0x2d87] = 0xfe29, [0x2d88] = 0xfe2a, [0x2d89] = 0xfe2b, +- [0x2d8a] = 0xfe2c, [0x2d8b] = 0xfe2d, [0x2d8c] = 0xfe2e, [0x2d8d] = 0xfe2f, +- [0x2d8e] = 0xfe32, [0x2d8f] = 0xfe45, [0x2d90] = 0xfe46, [0x2d91] = 0xfe47, +- [0x2d92] = 0xfe48, [0x2d93] = 0xfe53, [0x2d94] = 0xfe58, [0x2d95] = 0xfe67, +- [0x2d96] = 0xfe6c, [0x2d97] = 0xfe6d, [0x2d98] = 0xfe6e, [0x2d99] = 0xfe6f, +- [0x2d9a] = 0xfe70, [0x2d9b] = 0xfe71, [0x2d9c] = 0xfe72, [0x2d9d] = 0xfe73, +- [0x2d9e] = 0xfe74, [0x2d9f] = 0xfe75, [0x2da0] = 0xfe76, [0x2da1] = 0xfe77, +- [0x2da2] = 0xfe78, [0x2da3] = 0xfe79, [0x2da4] = 0xfe7a, [0x2da5] = 0xfe7b, +- [0x2da6] = 0xfe7c, [0x2da7] = 0xfe7d, [0x2da8] = 0xfe7e, [0x2da9] = 0xfe7f, +- [0x2daa] = 0xfe80, [0x2dab] = 0xfe81, [0x2dac] = 0xfe82, [0x2dad] = 0xfe83, +- [0x2dae] = 0xfe84, [0x2daf] = 0xfe85, [0x2db0] = 0xfe86, [0x2db1] = 0xfe87, +- [0x2db2] = 0xfe88, [0x2db3] = 0xfe89, [0x2db4] = 0xfe8a, [0x2db5] = 0xfe8b, +- [0x2db6] = 0xfe8c, [0x2db7] = 0xfe8d, [0x2db8] = 0xfe8e, [0x2db9] = 0xfe8f, +- [0x2dba] = 0xfe90, [0x2dbb] = 0xfe91, [0x2dbc] = 0xfe92, [0x2dbd] = 0xfe93, +- [0x2dbe] = 0xfe94, [0x2dbf] = 0xfe95, [0x2dc0] = 0xfe96, [0x2dc1] = 0xfe97, +- [0x2dc2] = 0xfe98, [0x2dc3] = 0xfe99, [0x2dc4] = 0xfe9a, [0x2dc5] = 0xfe9b, +- [0x2dc6] = 0xfe9c, [0x2dc7] = 0xfe9d, [0x2dc8] = 0xfe9e, [0x2dc9] = 0xfe9f, +- [0x2dca] = 0xfea0, [0x2dcb] = 0xfea1, [0x2dcc] = 0xfea2, [0x2dcd] = 0xfea3, +- [0x2dce] = 0xfea4, [0x2dcf] = 0xfea5, [0x2dd0] = 0xfea6, [0x2dd1] = 0xfea7, +- [0x2dd2] = 0xfea8, [0x2dd3] = 0xfea9, [0x2dd4] = 0xfeaa, [0x2dd5] = 0xfeab, +- [0x2dd6] = 0xfeac, [0x2dd7] = 0xfead, [0x2dd8] = 0xfeae, [0x2dd9] = 0xfeaf, +- [0x2dda] = 0xfeb0, [0x2ddb] = 0xfeb1, [0x2ddc] = 0xfeb2, [0x2ddd] = 0xfeb3, +- [0x2dde] = 0xfeb4, [0x2ddf] = 0xfeb5, [0x2de0] = 0xfeb6, [0x2de1] = 0xfeb7, +- [0x2de2] = 0xfeb8, [0x2de3] = 0xfeb9, [0x2de4] = 0xfeba, [0x2de5] = 0xfebb, +- [0x2de6] = 0xfebc, [0x2de7] = 0xfebd, [0x2de8] = 0xfebe, [0x2de9] = 0xfebf, +- [0x2dea] = 0xfec0, [0x2deb] = 0xfec1, [0x2dec] = 0xfec2, [0x2ded] = 0xfec3, +- [0x2dee] = 0xfec4, [0x2def] = 0xfec5, [0x2df0] = 0xfec6, [0x2df1] = 0xfec7, +- [0x2df2] = 0xfec8, [0x2df3] = 0xfec9, [0x2df4] = 0xfeca, [0x2df5] = 0xfecb, +- [0x2df6] = 0xfecc, [0x2df7] = 0xfecd, [0x2df8] = 0xfece, [0x2df9] = 0xfecf, +- [0x2dfa] = 0xfed0, [0x2dfb] = 0xfed1, [0x2dfc] = 0xfed2, [0x2dfd] = 0xfed3, +- [0x2dfe] = 0xfed4, [0x2dff] = 0xfed5, [0x2e00] = 0xfed6, [0x2e01] = 0xfed7, +- [0x2e02] = 0xfed8, [0x2e03] = 0xfed9, [0x2e04] = 0xfeda, [0x2e05] = 0xfedb, +- [0x2e06] = 0xfedc, [0x2e07] = 0xfedd, [0x2e08] = 0xfede, [0x2e09] = 0xfedf, +- [0x2e0a] = 0xfee0, [0x2e0b] = 0xfee1, [0x2e0c] = 0xfee2, [0x2e0d] = 0xfee3, +- [0x2e0e] = 0xfee4, [0x2e0f] = 0xfee5, [0x2e10] = 0xfee6, [0x2e11] = 0xfee7, +- [0x2e12] = 0xfee8, [0x2e13] = 0xfee9, [0x2e14] = 0xfeea, [0x2e15] = 0xfeeb, +- [0x2e16] = 0xfeec, [0x2e17] = 0xfeed, [0x2e18] = 0xfeee, [0x2e19] = 0xfeef, +- [0x2e1a] = 0xfef0, [0x2e1b] = 0xfef1, [0x2e1c] = 0xfef2, [0x2e1d] = 0xfef3, +- [0x2e1e] = 0xfef4, [0x2e1f] = 0xfef5, [0x2e20] = 0xfef6, [0x2e21] = 0xfef7, +- [0x2e22] = 0xfef8, [0x2e23] = 0xfef9, [0x2e24] = 0xfefa, [0x2e25] = 0xfefb, +- [0x2e26] = 0xfefc, [0x2e27] = 0xfefd, [0x2e28] = 0xfefe, [0x2e29] = 0xfeff, +- [0x2e2a] = 0xff00, [0x2e2b] = 0xff5f, [0x2e2c] = 0xff60, [0x2e2d] = 0xff61, +- [0x2e2e] = 0xff62, [0x2e2f] = 0xff63, [0x2e30] = 0xff64, [0x2e31] = 0xff65, +- [0x2e32] = 0xff66, [0x2e33] = 0xff67, [0x2e34] = 0xff68, [0x2e35] = 0xff69, +- [0x2e36] = 0xff6a, [0x2e37] = 0xff6b, [0x2e38] = 0xff6c, [0x2e39] = 0xff6d, +- [0x2e3a] = 0xff6e, [0x2e3b] = 0xff6f, [0x2e3c] = 0xff70, [0x2e3d] = 0xff71, +- [0x2e3e] = 0xff72, [0x2e3f] = 0xff73, [0x2e40] = 0xff74, [0x2e41] = 0xff75, +- [0x2e42] = 0xff76, [0x2e43] = 0xff77, [0x2e44] = 0xff78, [0x2e45] = 0xff79, +- [0x2e46] = 0xff7a, [0x2e47] = 0xff7b, [0x2e48] = 0xff7c, [0x2e49] = 0xff7d, +- [0x2e4a] = 0xff7e, [0x2e4b] = 0xff7f, [0x2e4c] = 0xff80, [0x2e4d] = 0xff81, +- [0x2e4e] = 0xff82, [0x2e4f] = 0xff83, [0x2e50] = 0xff84, [0x2e51] = 0xff85, +- [0x2e52] = 0xff86, [0x2e53] = 0xff87, [0x2e54] = 0xff88, [0x2e55] = 0xff89, +- [0x2e56] = 0xff8a, [0x2e57] = 0xff8b, [0x2e58] = 0xff8c, [0x2e59] = 0xff8d, +- [0x2e5a] = 0xff8e, [0x2e5b] = 0xff8f, [0x2e5c] = 0xff90, [0x2e5d] = 0xff91, +- [0x2e5e] = 0xff92, [0x2e5f] = 0xff93, [0x2e60] = 0xff94, [0x2e61] = 0xff95, +- [0x2e62] = 0xff96, [0x2e63] = 0xff97, [0x2e64] = 0xff98, [0x2e65] = 0xff99, +- [0x2e66] = 0xff9a, [0x2e67] = 0xff9b, [0x2e68] = 0xff9c, [0x2e69] = 0xff9d, +- [0x2e6a] = 0xff9e, [0x2e6b] = 0xff9f, [0x2e6c] = 0xffa0, [0x2e6d] = 0xffa1, +- [0x2e6e] = 0xffa2, [0x2e6f] = 0xffa3, [0x2e70] = 0xffa4, [0x2e71] = 0xffa5, +- [0x2e72] = 0xffa6, [0x2e73] = 0xffa7, [0x2e74] = 0xffa8, [0x2e75] = 0xffa9, +- [0x2e76] = 0xffaa, [0x2e77] = 0xffab, [0x2e78] = 0xffac, [0x2e79] = 0xffad, +- [0x2e7a] = 0xffae, [0x2e7b] = 0xffaf, [0x2e7c] = 0xffb0, [0x2e7d] = 0xffb1, +- [0x2e7e] = 0xffb2, [0x2e7f] = 0xffb3, [0x2e80] = 0xffb4, [0x2e81] = 0xffb5, +- [0x2e82] = 0xffb6, [0x2e83] = 0xffb7, [0x2e84] = 0xffb8, [0x2e85] = 0xffb9, +- [0x2e86] = 0xffba, [0x2e87] = 0xffbb, [0x2e88] = 0xffbc, [0x2e89] = 0xffbd, +- [0x2e8a] = 0xffbe, [0x2e8b] = 0xffbf, [0x2e8c] = 0xffc0, [0x2e8d] = 0xffc1, +- [0x2e8e] = 0xffc2, [0x2e8f] = 0xffc3, [0x2e90] = 0xffc4, [0x2e91] = 0xffc5, +- [0x2e92] = 0xffc6, [0x2e93] = 0xffc7, [0x2e94] = 0xffc8, [0x2e95] = 0xffc9, +- [0x2e96] = 0xffca, [0x2e97] = 0xffcb, [0x2e98] = 0xffcc, [0x2e99] = 0xffcd, +- [0x2e9a] = 0xffce, [0x2e9b] = 0xffcf, [0x2e9c] = 0xffd0, [0x2e9d] = 0xffd1, +- [0x2e9e] = 0xffd2, [0x2e9f] = 0xffd3, [0x2ea0] = 0xffd4, [0x2ea1] = 0xffd5, +- [0x2ea2] = 0xffd6, [0x2ea3] = 0xffd7, [0x2ea4] = 0xffd8, [0x2ea5] = 0xffd9, +- [0x2ea6] = 0xffda, [0x2ea7] = 0xffdb, [0x2ea8] = 0xffdc, [0x2ea9] = 0xffdd, +- [0x2eaa] = 0xffde, [0x2eab] = 0xffdf, ++ [0x2d6c] = 0xfe0e, [0x2d6d] = 0xfe0f, [0x2d6e] = 0xe78d, [0x2d6f] = 0xe78f, ++ [0x2d70] = 0xe78e, [0x2d71] = 0xe790, [0x2d72] = 0xe791, [0x2d73] = 0xe792, ++ [0x2d74] = 0xe793, [0x2d75] = 0xe794, [0x2d76] = 0xe795, [0x2d77] = 0xe796, ++ [0x2d78] = 0xfe1a, [0x2d79] = 0xfe1b, [0x2d7a] = 0xfe1c, [0x2d7b] = 0xfe1d, ++ [0x2d7c] = 0xfe1e, [0x2d7d] = 0xfe1f, [0x2d7e] = 0xfe20, [0x2d7f] = 0xfe21, ++ [0x2d80] = 0xfe22, [0x2d81] = 0xfe23, [0x2d82] = 0xfe24, [0x2d83] = 0xfe25, ++ [0x2d84] = 0xfe26, [0x2d85] = 0xfe27, [0x2d86] = 0xfe28, [0x2d87] = 0xfe29, ++ [0x2d88] = 0xfe2a, [0x2d89] = 0xfe2b, [0x2d8a] = 0xfe2c, [0x2d8b] = 0xfe2d, ++ [0x2d8c] = 0xfe2e, [0x2d8d] = 0xfe2f, [0x2d8e] = 0xfe32, [0x2d8f] = 0xfe45, ++ [0x2d90] = 0xfe46, [0x2d91] = 0xfe47, [0x2d92] = 0xfe48, [0x2d93] = 0xfe53, ++ [0x2d94] = 0xfe58, [0x2d95] = 0xfe67, [0x2d96] = 0xfe6c, [0x2d97] = 0xfe6d, ++ [0x2d98] = 0xfe6e, [0x2d99] = 0xfe6f, [0x2d9a] = 0xfe70, [0x2d9b] = 0xfe71, ++ [0x2d9c] = 0xfe72, [0x2d9d] = 0xfe73, [0x2d9e] = 0xfe74, [0x2d9f] = 0xfe75, ++ [0x2da0] = 0xfe76, [0x2da1] = 0xfe77, [0x2da2] = 0xfe78, [0x2da3] = 0xfe79, ++ [0x2da4] = 0xfe7a, [0x2da5] = 0xfe7b, [0x2da6] = 0xfe7c, [0x2da7] = 0xfe7d, ++ [0x2da8] = 0xfe7e, [0x2da9] = 0xfe7f, [0x2daa] = 0xfe80, [0x2dab] = 0xfe81, ++ [0x2dac] = 0xfe82, [0x2dad] = 0xfe83, [0x2dae] = 0xfe84, [0x2daf] = 0xfe85, ++ [0x2db0] = 0xfe86, [0x2db1] = 0xfe87, [0x2db2] = 0xfe88, [0x2db3] = 0xfe89, ++ [0x2db4] = 0xfe8a, [0x2db5] = 0xfe8b, [0x2db6] = 0xfe8c, [0x2db7] = 0xfe8d, ++ [0x2db8] = 0xfe8e, [0x2db9] = 0xfe8f, [0x2dba] = 0xfe90, [0x2dbb] = 0xfe91, ++ [0x2dbc] = 0xfe92, [0x2dbd] = 0xfe93, [0x2dbe] = 0xfe94, [0x2dbf] = 0xfe95, ++ [0x2dc0] = 0xfe96, [0x2dc1] = 0xfe97, [0x2dc2] = 0xfe98, [0x2dc3] = 0xfe99, ++ [0x2dc4] = 0xfe9a, [0x2dc5] = 0xfe9b, [0x2dc6] = 0xfe9c, [0x2dc7] = 0xfe9d, ++ [0x2dc8] = 0xfe9e, [0x2dc9] = 0xfe9f, [0x2dca] = 0xfea0, [0x2dcb] = 0xfea1, ++ [0x2dcc] = 0xfea2, [0x2dcd] = 0xfea3, [0x2dce] = 0xfea4, [0x2dcf] = 0xfea5, ++ [0x2dd0] = 0xfea6, [0x2dd1] = 0xfea7, [0x2dd2] = 0xfea8, [0x2dd3] = 0xfea9, ++ [0x2dd4] = 0xfeaa, [0x2dd5] = 0xfeab, [0x2dd6] = 0xfeac, [0x2dd7] = 0xfead, ++ [0x2dd8] = 0xfeae, [0x2dd9] = 0xfeaf, [0x2dda] = 0xfeb0, [0x2ddb] = 0xfeb1, ++ [0x2ddc] = 0xfeb2, [0x2ddd] = 0xfeb3, [0x2dde] = 0xfeb4, [0x2ddf] = 0xfeb5, ++ [0x2de0] = 0xfeb6, [0x2de1] = 0xfeb7, [0x2de2] = 0xfeb8, [0x2de3] = 0xfeb9, ++ [0x2de4] = 0xfeba, [0x2de5] = 0xfebb, [0x2de6] = 0xfebc, [0x2de7] = 0xfebd, ++ [0x2de8] = 0xfebe, [0x2de9] = 0xfebf, [0x2dea] = 0xfec0, [0x2deb] = 0xfec1, ++ [0x2dec] = 0xfec2, [0x2ded] = 0xfec3, [0x2dee] = 0xfec4, [0x2def] = 0xfec5, ++ [0x2df0] = 0xfec6, [0x2df1] = 0xfec7, [0x2df2] = 0xfec8, [0x2df3] = 0xfec9, ++ [0x2df4] = 0xfeca, [0x2df5] = 0xfecb, [0x2df6] = 0xfecc, [0x2df7] = 0xfecd, ++ [0x2df8] = 0xfece, [0x2df9] = 0xfecf, [0x2dfa] = 0xfed0, [0x2dfb] = 0xfed1, ++ [0x2dfc] = 0xfed2, [0x2dfd] = 0xfed3, [0x2dfe] = 0xfed4, [0x2dff] = 0xfed5, ++ [0x2e00] = 0xfed6, [0x2e01] = 0xfed7, [0x2e02] = 0xfed8, [0x2e03] = 0xfed9, ++ [0x2e04] = 0xfeda, [0x2e05] = 0xfedb, [0x2e06] = 0xfedc, [0x2e07] = 0xfedd, ++ [0x2e08] = 0xfede, [0x2e09] = 0xfedf, [0x2e0a] = 0xfee0, [0x2e0b] = 0xfee1, ++ [0x2e0c] = 0xfee2, [0x2e0d] = 0xfee3, [0x2e0e] = 0xfee4, [0x2e0f] = 0xfee5, ++ [0x2e10] = 0xfee6, [0x2e11] = 0xfee7, [0x2e12] = 0xfee8, [0x2e13] = 0xfee9, ++ [0x2e14] = 0xfeea, [0x2e15] = 0xfeeb, [0x2e16] = 0xfeec, [0x2e17] = 0xfeed, ++ [0x2e18] = 0xfeee, [0x2e19] = 0xfeef, [0x2e1a] = 0xfef0, [0x2e1b] = 0xfef1, ++ [0x2e1c] = 0xfef2, [0x2e1d] = 0xfef3, [0x2e1e] = 0xfef4, [0x2e1f] = 0xfef5, ++ [0x2e20] = 0xfef6, [0x2e21] = 0xfef7, [0x2e22] = 0xfef8, [0x2e23] = 0xfef9, ++ [0x2e24] = 0xfefa, [0x2e25] = 0xfefb, [0x2e26] = 0xfefc, [0x2e27] = 0xfefd, ++ [0x2e28] = 0xfefe, [0x2e29] = 0xfeff, [0x2e2a] = 0xff00, [0x2e2b] = 0xff5f, ++ [0x2e2c] = 0xff60, [0x2e2d] = 0xff61, [0x2e2e] = 0xff62, [0x2e2f] = 0xff63, ++ [0x2e30] = 0xff64, [0x2e31] = 0xff65, [0x2e32] = 0xff66, [0x2e33] = 0xff67, ++ [0x2e34] = 0xff68, [0x2e35] = 0xff69, [0x2e36] = 0xff6a, [0x2e37] = 0xff6b, ++ [0x2e38] = 0xff6c, [0x2e39] = 0xff6d, [0x2e3a] = 0xff6e, [0x2e3b] = 0xff6f, ++ [0x2e3c] = 0xff70, [0x2e3d] = 0xff71, [0x2e3e] = 0xff72, [0x2e3f] = 0xff73, ++ [0x2e40] = 0xff74, [0x2e41] = 0xff75, [0x2e42] = 0xff76, [0x2e43] = 0xff77, ++ [0x2e44] = 0xff78, [0x2e45] = 0xff79, [0x2e46] = 0xff7a, [0x2e47] = 0xff7b, ++ [0x2e48] = 0xff7c, [0x2e49] = 0xff7d, [0x2e4a] = 0xff7e, [0x2e4b] = 0xff7f, ++ [0x2e4c] = 0xff80, [0x2e4d] = 0xff81, [0x2e4e] = 0xff82, [0x2e4f] = 0xff83, ++ [0x2e50] = 0xff84, [0x2e51] = 0xff85, [0x2e52] = 0xff86, [0x2e53] = 0xff87, ++ [0x2e54] = 0xff88, [0x2e55] = 0xff89, [0x2e56] = 0xff8a, [0x2e57] = 0xff8b, ++ [0x2e58] = 0xff8c, [0x2e59] = 0xff8d, [0x2e5a] = 0xff8e, [0x2e5b] = 0xff8f, ++ [0x2e5c] = 0xff90, [0x2e5d] = 0xff91, [0x2e5e] = 0xff92, [0x2e5f] = 0xff93, ++ [0x2e60] = 0xff94, [0x2e61] = 0xff95, [0x2e62] = 0xff96, [0x2e63] = 0xff97, ++ [0x2e64] = 0xff98, [0x2e65] = 0xff99, [0x2e66] = 0xff9a, [0x2e67] = 0xff9b, ++ [0x2e68] = 0xff9c, [0x2e69] = 0xff9d, [0x2e6a] = 0xff9e, [0x2e6b] = 0xff9f, ++ [0x2e6c] = 0xffa0, [0x2e6d] = 0xffa1, [0x2e6e] = 0xffa2, [0x2e6f] = 0xffa3, ++ [0x2e70] = 0xffa4, [0x2e71] = 0xffa5, [0x2e72] = 0xffa6, [0x2e73] = 0xffa7, ++ [0x2e74] = 0xffa8, [0x2e75] = 0xffa9, [0x2e76] = 0xffaa, [0x2e77] = 0xffab, ++ [0x2e78] = 0xffac, [0x2e79] = 0xffad, [0x2e7a] = 0xffae, [0x2e7b] = 0xffaf, ++ [0x2e7c] = 0xffb0, [0x2e7d] = 0xffb1, [0x2e7e] = 0xffb2, [0x2e7f] = 0xffb3, ++ [0x2e80] = 0xffb4, [0x2e81] = 0xffb5, [0x2e82] = 0xffb6, [0x2e83] = 0xffb7, ++ [0x2e84] = 0xffb8, [0x2e85] = 0xffb9, [0x2e86] = 0xffba, [0x2e87] = 0xffbb, ++ [0x2e88] = 0xffbc, [0x2e89] = 0xffbd, [0x2e8a] = 0xffbe, [0x2e8b] = 0xffbf, ++ [0x2e8c] = 0xffc0, [0x2e8d] = 0xffc1, [0x2e8e] = 0xffc2, [0x2e8f] = 0xffc3, ++ [0x2e90] = 0xffc4, [0x2e91] = 0xffc5, [0x2e92] = 0xffc6, [0x2e93] = 0xffc7, ++ [0x2e94] = 0xffc8, [0x2e95] = 0xffc9, [0x2e96] = 0xffca, [0x2e97] = 0xffcb, ++ [0x2e98] = 0xffcc, [0x2e99] = 0xffcd, [0x2e9a] = 0xffce, [0x2e9b] = 0xffcf, ++ [0x2e9c] = 0xffd0, [0x2e9d] = 0xffd1, [0x2e9e] = 0xffd2, [0x2e9f] = 0xffd3, ++ [0x2ea0] = 0xffd4, [0x2ea1] = 0xffd5, [0x2ea2] = 0xffd6, [0x2ea3] = 0xffd7, ++ [0x2ea4] = 0xffd8, [0x2ea5] = 0xffd9, [0x2ea6] = 0xffda, [0x2ea7] = 0xffdb, ++ [0x2ea8] = 0xffdc, [0x2ea9] = 0xffdd, [0x2eaa] = 0xffde, [0x2eab] = 0xffdf, + }; + + /* Table for UCS-4 -> GB18030, for the range U+0080..U+9FBB. +@@ -23437,71 +23442,79 @@ static const unsigned char __ucs_to_gb18030_tab2[][2] = + [0x0783] = "\xa5\xfd", [0x0784] = "\xa5\xfe", [0x0785] = "\xa6\xb9", + [0x0786] = "\xa6\xba", [0x0787] = "\xa6\xbb", [0x0788] = "\xa6\xbc", + [0x0789] = "\xa6\xbd", [0x078a] = "\xa6\xbe", [0x078b] = "\xa6\xbf", +- [0x078c] = "\xa6\xc0", [0x0797] = "\xa6\xf6", [0x0798] = "\xa6\xf7", +- [0x0799] = "\xa6\xf8", [0x079a] = "\xa6\xf9", [0x079b] = "\xa6\xfa", +- [0x079c] = "\xa6\xfb", [0x079d] = "\xa6\xfc", [0x079e] = "\xa6\xfd", +- [0x079f] = "\xa6\xfe", [0x07a0] = "\xa7\xc2", [0x07a1] = "\xa7\xc3", +- [0x07a2] = "\xa7\xc4", [0x07a3] = "\xa7\xc5", [0x07a4] = "\xa7\xc6", +- [0x07a5] = "\xa7\xc7", [0x07a6] = "\xa7\xc8", [0x07a7] = "\xa7\xc9", +- [0x07a8] = "\xa7\xca", [0x07a9] = "\xa7\xcb", [0x07aa] = "\xa7\xcc", +- [0x07ab] = "\xa7\xcd", [0x07ac] = "\xa7\xce", [0x07ad] = "\xa7\xcf", +- [0x07ae] = "\xa7\xd0", [0x07af] = "\xa7\xf2", [0x07b0] = "\xa7\xf3", +- [0x07b1] = "\xa7\xf4", [0x07b2] = "\xa7\xf5", [0x07b3] = "\xa7\xf6", +- [0x07b4] = "\xa7\xf7", [0x07b5] = "\xa7\xf8", [0x07b6] = "\xa7\xf9", +- [0x07b7] = "\xa7\xfa", [0x07b8] = "\xa7\xfb", [0x07b9] = "\xa7\xfc", +- [0x07ba] = "\xa7\xfd", [0x07bb] = "\xa7\xfe", [0x07bc] = "\xa8\x96", +- [0x07bd] = "\xa8\x97", [0x07be] = "\xa8\x98", [0x07bf] = "\xa8\x99", +- [0x07c0] = "\xa8\x9a", [0x07c1] = "\xa8\x9b", [0x07c2] = "\xa8\x9c", +- [0x07c3] = "\xa8\x9d", [0x07c4] = "\xa8\x9e", [0x07c5] = "\xa8\x9f", +- [0x07c6] = "\xa8\xa0", [0x07c7] = "\x00\x01", [0x07c8] = "\x65\x9e", +- [0x07c9] = "\xa8\xc1", [0x07ca] = "\xa8\xc2", [0x07cb] = "\xa8\xc3", +- [0x07cc] = "\xa8\xc4", [0x07cd] = "\xa8\xea", [0x07ce] = "\xa8\xeb", +- [0x07cf] = "\xa8\xec", [0x07d0] = "\xa8\xed", [0x07d1] = "\xa8\xee", +- [0x07d2] = "\xa8\xef", [0x07d3] = "\xa8\xf0", [0x07d4] = "\xa8\xf1", +- [0x07d5] = "\xa8\xf2", [0x07d6] = "\xa8\xf3", [0x07d7] = "\xa8\xf4", +- [0x07d8] = "\xa8\xf5", [0x07d9] = "\xa8\xf6", [0x07da] = "\xa8\xf7", +- [0x07db] = "\xa8\xf8", [0x07dc] = "\xa8\xf9", [0x07dd] = "\xa8\xfa", +- [0x07de] = "\xa8\xfb", [0x07df] = "\xa8\xfc", [0x07e0] = "\xa8\xfd", +- [0x07e1] = "\xa8\xfe", [0x07e2] = "\xa9\x58", [0x07e3] = "\xa9\x5b", +- [0x07e4] = "\xa9\x5d", [0x07e5] = "\xa9\x5e", [0x07e6] = "\xa9\x5f", +- [0x07e7] = "\x65\x9f", [0x07e8] = "\x65\xa0", [0x07e9] = "\x65\xa1", +- [0x07ea] = "\x65\xa2", [0x07eb] = "\x65\xa3", [0x07ec] = "\x65\xa4", +- [0x07ed] = "\x65\xa5", [0x07ee] = "\x65\xa6", [0x07ef] = "\x65\xa7", +- [0x07f0] = "\x65\xa8", [0x07f1] = "\x65\xa9", [0x07f2] = "\x65\xaa", +- [0x07f3] = "\x65\xab", [0x07f4] = "\xa9\x97", [0x07f5] = "\xa9\x98", +- [0x07f6] = "\xa9\x99", [0x07f7] = "\xa9\x9a", [0x07f8] = "\xa9\x9b", +- [0x07f9] = "\xa9\x9c", [0x07fa] = "\xa9\x9d", [0x07fb] = "\xa9\x9e", +- [0x07fc] = "\xa9\x9f", [0x07fd] = "\xa9\xa0", [0x07fe] = "\xa9\xa1", +- [0x07ff] = "\xa9\xa2", [0x0800] = "\xa9\xa3", [0x0801] = "\xa9\xf0", +- [0x0802] = "\xa9\xf1", [0x0803] = "\xa9\xf2", [0x0804] = "\xa9\xf3", +- [0x0805] = "\xa9\xf4", [0x0806] = "\xa9\xf5", [0x0807] = "\xa9\xf6", +- [0x0808] = "\xa9\xf7", [0x0809] = "\xa9\xf8", [0x080a] = "\xa9\xf9", +- [0x080b] = "\xa9\xfa", [0x080c] = "\xa9\xfb", [0x080d] = "\xa9\xfc", +- [0x080e] = "\xa9\xfd", [0x080f] = "\xa9\xfe", [0x0810] = "\xd7\xfa", +- [0x0811] = "\xd7\xfb", [0x0812] = "\xd7\xfc", [0x0813] = "\xd7\xfd", +- [0x0814] = "\xd7\xfe", [0x0815] = "\x65\xac", [0x0819] = "\x65\xad", +- [0x081a] = "\x65\xae", [0x081b] = "\x65\xaf", [0x081c] = "\x65\xb0", +- [0x081d] = "\x65\xb1", [0x081f] = "\x65\xb2", [0x0820] = "\x65\xb3", +- [0x0821] = "\x65\xb4", [0x0822] = "\x65\xb5", [0x0823] = "\x65\xb6", +- [0x0824] = "\x65\xb7", [0x0825] = "\x65\xb8", [0x0827] = "\x65\xb9", ++ [0x078c] = "\xa6\xc0", [0x078d] = "\x7b\x84", [0x078e] = "\x7b\x86", ++ [0x078f] = "\x7b\x85", [0x0790] = "\x7b\x87", [0x0791] = "\x7b\x88", ++ [0x0792] = "\x7b\x89", [0x0793] = "\x7b\x8a", [0x0794] = "\x7b\x8b", ++ [0x0795] = "\x7b\x8c", [0x0796] = "\x7b\x8d", [0x0797] = "\xa6\xf6", ++ [0x0798] = "\xa6\xf7", [0x0799] = "\xa6\xf8", [0x079a] = "\xa6\xf9", ++ [0x079b] = "\xa6\xfa", [0x079c] = "\xa6\xfb", [0x079d] = "\xa6\xfc", ++ [0x079e] = "\xa6\xfd", [0x079f] = "\xa6\xfe", [0x07a0] = "\xa7\xc2", ++ [0x07a1] = "\xa7\xc3", [0x07a2] = "\xa7\xc4", [0x07a3] = "\xa7\xc5", ++ [0x07a4] = "\xa7\xc6", [0x07a5] = "\xa7\xc7", [0x07a6] = "\xa7\xc8", ++ [0x07a7] = "\xa7\xc9", [0x07a8] = "\xa7\xca", [0x07a9] = "\xa7\xcb", ++ [0x07aa] = "\xa7\xcc", [0x07ab] = "\xa7\xcd", [0x07ac] = "\xa7\xce", ++ [0x07ad] = "\xa7\xcf", [0x07ae] = "\xa7\xd0", [0x07af] = "\xa7\xf2", ++ [0x07b0] = "\xa7\xf3", [0x07b1] = "\xa7\xf4", [0x07b2] = "\xa7\xf5", ++ [0x07b3] = "\xa7\xf6", [0x07b4] = "\xa7\xf7", [0x07b5] = "\xa7\xf8", ++ [0x07b6] = "\xa7\xf9", [0x07b7] = "\xa7\xfa", [0x07b8] = "\xa7\xfb", ++ [0x07b9] = "\xa7\xfc", [0x07ba] = "\xa7\xfd", [0x07bb] = "\xa7\xfe", ++ [0x07bc] = "\xa8\x96", [0x07bd] = "\xa8\x97", [0x07be] = "\xa8\x98", ++ [0x07bf] = "\xa8\x99", [0x07c0] = "\xa8\x9a", [0x07c1] = "\xa8\x9b", ++ [0x07c2] = "\xa8\x9c", [0x07c3] = "\xa8\x9d", [0x07c4] = "\xa8\x9e", ++ [0x07c5] = "\xa8\x9f", [0x07c6] = "\xa8\xa0", [0x07c7] = "\x00\x01", ++ [0x07c8] = "\x65\x9e", [0x07c9] = "\xa8\xc1", [0x07ca] = "\xa8\xc2", ++ [0x07cb] = "\xa8\xc3", [0x07cc] = "\xa8\xc4", [0x07cd] = "\xa8\xea", ++ [0x07ce] = "\xa8\xeb", [0x07cf] = "\xa8\xec", [0x07d0] = "\xa8\xed", ++ [0x07d1] = "\xa8\xee", [0x07d2] = "\xa8\xef", [0x07d3] = "\xa8\xf0", ++ [0x07d4] = "\xa8\xf1", [0x07d5] = "\xa8\xf2", [0x07d6] = "\xa8\xf3", ++ [0x07d7] = "\xa8\xf4", [0x07d8] = "\xa8\xf5", [0x07d9] = "\xa8\xf6", ++ [0x07da] = "\xa8\xf7", [0x07db] = "\xa8\xf8", [0x07dc] = "\xa8\xf9", ++ [0x07dd] = "\xa8\xfa", [0x07de] = "\xa8\xfb", [0x07df] = "\xa8\xfc", ++ [0x07e0] = "\xa8\xfd", [0x07e1] = "\xa8\xfe", [0x07e2] = "\xa9\x58", ++ [0x07e3] = "\xa9\x5b", [0x07e4] = "\xa9\x5d", [0x07e5] = "\xa9\x5e", ++ [0x07e6] = "\xa9\x5f", [0x07e7] = "\x65\x9f", [0x07e8] = "\x65\xa0", ++ [0x07e9] = "\x65\xa1", [0x07ea] = "\x65\xa2", [0x07eb] = "\x65\xa3", ++ [0x07ec] = "\x65\xa4", [0x07ed] = "\x65\xa5", [0x07ee] = "\x65\xa6", ++ [0x07ef] = "\x65\xa7", [0x07f0] = "\x65\xa8", [0x07f1] = "\x65\xa9", ++ [0x07f2] = "\x65\xaa", [0x07f3] = "\x65\xab", [0x07f4] = "\xa9\x97", ++ [0x07f5] = "\xa9\x98", [0x07f6] = "\xa9\x99", [0x07f7] = "\xa9\x9a", ++ [0x07f8] = "\xa9\x9b", [0x07f9] = "\xa9\x9c", [0x07fa] = "\xa9\x9d", ++ [0x07fb] = "\xa9\x9e", [0x07fc] = "\xa9\x9f", [0x07fd] = "\xa9\xa0", ++ [0x07fe] = "\xa9\xa1", [0x07ff] = "\xa9\xa2", [0x0800] = "\xa9\xa3", ++ [0x0801] = "\xa9\xf0", [0x0802] = "\xa9\xf1", [0x0803] = "\xa9\xf2", ++ [0x0804] = "\xa9\xf3", [0x0805] = "\xa9\xf4", [0x0806] = "\xa9\xf5", ++ [0x0807] = "\xa9\xf6", [0x0808] = "\xa9\xf7", [0x0809] = "\xa9\xf8", ++ [0x080a] = "\xa9\xf9", [0x080b] = "\xa9\xfa", [0x080c] = "\xa9\xfb", ++ [0x080d] = "\xa9\xfc", [0x080e] = "\xa9\xfd", [0x080f] = "\xa9\xfe", ++ [0x0810] = "\xd7\xfa", [0x0811] = "\xd7\xfb", [0x0812] = "\xd7\xfc", ++ [0x0813] = "\xd7\xfd", [0x0814] = "\xd7\xfe", [0x0815] = "\x65\xac", ++ [0x0816] = "\xfe\x51", [0x0817] = "\xfe\x52", [0x0818] = "\xfe\x53", ++ [0x0819] = "\x65\xad", [0x081a] = "\x65\xae", [0x081b] = "\x65\xaf", ++ [0x081c] = "\x65\xb0", [0x081d] = "\x65\xb1", [0x081e] = "\x2d\x51", ++ [0x081f] = "\x65\xb2", [0x0820] = "\x65\xb3", [0x0821] = "\x65\xb4", ++ [0x0822] = "\x65\xb5", [0x0823] = "\x65\xb6", [0x0824] = "\x65\xb7", ++ [0x0825] = "\x65\xb8", [0x0826] = "\x2d\x52", [0x0827] = "\x65\xb9", + [0x0828] = "\x65\xba", [0x0829] = "\x65\xbb", [0x082a] = "\x65\xbc", +- [0x082d] = "\x65\xbd", [0x082e] = "\x65\xbe", [0x082f] = "\x65\xbf", +- [0x0830] = "\x65\xc0", [0x0833] = "\x65\xc1", [0x0834] = "\x65\xc2", +- [0x0835] = "\x65\xc3", [0x0836] = "\x65\xc4", [0x0837] = "\x65\xc5", +- [0x0838] = "\x65\xc6", [0x0839] = "\x65\xc7", [0x083a] = "\x65\xc8", +- [0x083c] = "\x65\xc9", [0x083d] = "\x65\xca", [0x083e] = "\x65\xcb", +- [0x083f] = "\x65\xcc", [0x0840] = "\x65\xcd", [0x0841] = "\x65\xce", +- [0x0842] = "\x65\xcf", [0x0844] = "\x65\xd0", [0x0845] = "\x65\xd1", ++ [0x082b] = "\x2d\x53", [0x082c] = "\x2d\x54", [0x082d] = "\x65\xbd", ++ [0x082e] = "\x65\xbe", [0x082f] = "\x65\xbf", [0x0830] = "\x65\xc0", ++ [0x0831] = "\xfe\x6c", [0x0832] = "\x2d\x55", [0x0833] = "\x65\xc1", ++ [0x0834] = "\x65\xc2", [0x0835] = "\x65\xc3", [0x0836] = "\x65\xc4", ++ [0x0837] = "\x65\xc5", [0x0838] = "\x65\xc6", [0x0839] = "\x65\xc7", ++ [0x083a] = "\x65\xc8", [0x083b] = "\xfe\x76", [0x083c] = "\x65\xc9", ++ [0x083d] = "\x65\xca", [0x083e] = "\x65\xcb", [0x083f] = "\x65\xcc", ++ [0x0840] = "\x65\xcd", [0x0841] = "\x65\xce", [0x0842] = "\x65\xcf", ++ [0x0843] = "\x2d\x56", [0x0844] = "\x65\xd0", [0x0845] = "\x65\xd1", + [0x0846] = "\x65\xd2", [0x0847] = "\x65\xd3", [0x0848] = "\x65\xd4", + [0x0849] = "\x65\xd5", [0x084a] = "\x65\xd6", [0x084b] = "\x65\xd7", + [0x084c] = "\x65\xd8", [0x084d] = "\x65\xd9", [0x084e] = "\x65\xda", + [0x084f] = "\x65\xdb", [0x0850] = "\x65\xdc", [0x0851] = "\x65\xdd", +- [0x0852] = "\x65\xde", [0x0853] = "\x65\xdf", [0x0856] = "\x65\xe0", +- [0x0857] = "\x65\xe1", [0x0858] = "\x65\xe2", [0x0859] = "\x65\xe3", +- [0x085a] = "\x65\xe4", [0x085b] = "\x65\xe5", [0x085c] = "\x65\xe6", +- [0x085d] = "\x65\xe7", [0x085e] = "\x65\xe8", [0x085f] = "\x65\xe9", +- [0x0860] = "\x65\xea", [0x0861] = "\x65\xeb", [0x0862] = "\x65\xec", +- [0x0863] = "\x65\xed", [0x0865] = "\xfd\x9c", [0x0866] = "\x76\xb5", ++ [0x0852] = "\x65\xde", [0x0853] = "\x65\xdf", [0x0854] = "\x2d\x57", ++ [0x0855] = "\xfe\x91", [0x0856] = "\x65\xe0", [0x0857] = "\x65\xe1", ++ [0x0858] = "\x65\xe2", [0x0859] = "\x65\xe3", [0x085a] = "\x65\xe4", ++ [0x085b] = "\x65\xe5", [0x085c] = "\x65\xe6", [0x085d] = "\x65\xe7", ++ [0x085e] = "\x65\xe8", [0x085f] = "\x65\xe9", [0x0860] = "\x65\xea", ++ [0x0861] = "\x65\xeb", [0x0862] = "\x65\xec", [0x0863] = "\x65\xed", ++ [0x0864] = "\x2d\x58", [0x0865] = "\xfd\x9c", [0x0866] = "\x76\xb5", + [0x0867] = "\x76\xb6", [0x0868] = "\x76\xb7", [0x0869] = "\x76\xb8", + [0x086a] = "\x76\xb9", [0x086b] = "\x76\xba", [0x086c] = "\x76\xbb", + [0x086d] = "\x76\xbc", [0x086e] = "\x76\xbd", [0x086f] = "\x76\xbe", +@@ -24211,24 +24224,8 @@ static const unsigned char __ucs_to_gb18030_tab2[][2] = + || (ch = __twobyte_to_ucs[idx], \ + ch == 0 && *inptr != '\0')) \ + { \ +- /* Handle a few special cases. */ \ +- if (idx == 0x5dd1) \ +- ch = 0x20087; \ +- else if (idx == 0x5dd2) \ +- ch = 0x20089; \ +- else if (idx == 0x5dd3) \ +- ch = 0x200cc; \ +- else if (idx == 0x5dec) \ +- ch = 0x215D7; \ +- else if (idx == 0x5df6) \ +- ch = 0x2298F; \ +- else if (idx == 0x5e11) \ +- ch = 0x241FE; \ +- else \ +- { \ +- /* This is an illegal character. */ \ +- STANDARD_FROM_LOOP_ERR_HANDLER (2); \ +- } \ ++ /* This is an illegal character. */ \ ++ STANDARD_FROM_LOOP_ERR_HANDLER (2); \ + } \ + \ + inptr += 2; \ +@@ -24320,17 +24317,35 @@ static const unsigned char __ucs_to_gb18030_tab2[][2] = + len = 4; \ + } \ + else if (ch == 0x20087) \ +- cp = (const unsigned char *) "\xfe\x51"; \ ++ { \ ++ idx = 0x3E2CF; \ ++ len = 4; \ ++ } \ + else if (ch == 0x20089) \ +- cp = (const unsigned char *) "\xfe\x52"; \ ++ { \ ++ idx = 0x3E2D1; \ ++ len = 4; \ ++ } \ + else if (ch == 0x200CC) \ +- cp = (const unsigned char *) "\xfe\x53"; \ ++ { \ ++ idx = 0x3E314; \ ++ len = 4; \ ++ } \ + else if (ch == 0x215d7) \ +- cp = (const unsigned char *) "\xfe\x6c"; \ ++ { \ ++ idx = 0x3F81F; \ ++ len = 4; \ ++ } \ + else if (ch == 0x2298F) \ +- cp = (const unsigned char *) "\xfe\x76"; \ ++ { \ ++ idx = 0x40BD7; \ ++ len = 4; \ ++ } \ + else if (ch == 0x241FE) \ +- cp = (const unsigned char *) "\xfe\x91"; \ ++ { \ ++ idx = 0x42446; \ ++ len = 4; \ ++ } \ + else if (ch >= 0x10000 && ch <= 0x10FFFF) \ + { \ + idx = ch + 0x1E248; \ +diff --git a/iconvdata/tst-table-from.c b/iconvdata/tst-table-from.c +index 09aaaf0942..55a7113d8c 100644 +--- a/iconvdata/tst-table-from.c ++++ b/iconvdata/tst-table-from.c +@@ -194,10 +194,9 @@ main (int argc, char *argv[]) + exit (1); + } + +- /* When testing UTF-8 or GB18030, stop at 0x10000, otherwise the output ++ /* When testing UTF-8, stop at 0x10000, otherwise the output + file gets too big. */ +- bmp_only = (strcmp (charset, "UTF-8") == 0 +- || strcmp (charset, "GB18030") == 0); ++ bmp_only = (strcmp (charset, "UTF-8") == 0); + search_depth = (strcmp (charset, "UTF-8") == 0 ? 3 : 4); + + { +diff --git a/iconvdata/tst-table-to.c b/iconvdata/tst-table-to.c +index 4dec4acad1..2b75f0c6e8 100644 +--- a/iconvdata/tst-table-to.c ++++ b/iconvdata/tst-table-to.c +@@ -32,6 +32,7 @@ main (int argc, char *argv[]) + const char *charset; + iconv_t cd; + int bmp_only; ++ int no_tags; + + if (argc != 2) + { +@@ -47,16 +48,19 @@ main (int argc, char *argv[]) + return 1; + } + +- /* When testing UTF-8 or GB18030, stop at 0x10000, otherwise the output ++ /* When testing UTF-8, stop at 0x10000, otherwise the output + file gets too big. */ +- bmp_only = (strcmp (charset, "UTF-8") == 0 ++ bmp_only = (strcmp (charset, "UTF-8") == 0); ++ /* When testing any encoding other than UTF-8 or GB18030, stop at 0xE0000, ++ because the conversion drops Unicode tag characters (range ++ U+E0000..U+E007F). */ ++ no_tags = !(strcmp (charset, "UTF-8") == 0 + || strcmp (charset, "GB18030") == 0); + + { + unsigned int i; + unsigned char buf[10]; +- +- for (i = 0; i < (bmp_only ? 0x10000 : 0x30000); i++) ++ for (i = 0; i < (bmp_only ? 0x10000 : no_tags ? 0xE0000 : 0x110000); i++) + { + unsigned char in[6]; + unsigned int incount = +diff --git a/iconvdata/tst-table.sh b/iconvdata/tst-table.sh +index bc6f542b24..7ba15bbf5c 100755 +--- a/iconvdata/tst-table.sh ++++ b/iconvdata/tst-table.sh +@@ -37,7 +37,8 @@ set -e + < ../localedata/charmaps/${charmap:-$charset} \ + > ${objpfx}tst-${charset}.charmap.table + # When the charset is GB18030, truncate this table because for this encoding, +-# the tst-table-from and tst-table-to programs scan the Unicode BMP only. ++# the charmap contains ranges (.. notation), which the ++# tst-table-charmap.sh script does not grok. + if test ${charset} = GB18030; then + grep '0x....$' < ${objpfx}tst-${charset}.charmap.table \ + > ${objpfx}tst-${charset}.truncated.table +@@ -73,25 +74,42 @@ diff ${objpfx}tst-${charset}.charmap.table ${objpfx}tst-${charset}.inverse.table + + # Check 1: charmap and iconv forward should be identical, except for + # precomposed characters. +-if test -f ${precomposed}; then +- cat ${objpfx}tst-${charset}.table ${precomposed} | sort | uniq -u \ +- > ${objpfx}tst-${charset}.tmp.table +- cmp -s ${objpfx}tst-${charset}.charmap.table ${objpfx}tst-${charset}.tmp.table || ++{ if test -f ${precomposed}; then ++ cat ${objpfx}tst-${charset}.table ${precomposed} | sort | uniq -u ++ else ++ cat ${objpfx}tst-${charset}.table ++ fi ++} | { if test ${charset} = GB18030; then grep '0x....$'; else cat; fi; } \ ++ > ${objpfx}tst-${charset}.tmp1.table ++cmp -s ${objpfx}tst-${charset}.charmap.table ${objpfx}tst-${charset}.tmp1.table || + exit 1 +-else +- cmp -s ${objpfx}tst-${charset}.charmap.table ${objpfx}tst-${charset}.table || +- exit 1 +-fi + + # Check 2: the difference between the charmap and iconv backward. +-if test -f ${irreversible}; then +- cat ${objpfx}tst-${charset}.charmap.table ${irreversible} | sort | uniq -u \ +- > ${objpfx}tst-${charset}.tmp.table +- cmp -s ${objpfx}tst-${charset}.tmp.table ${objpfx}tst-${charset}.inverse.table || +- exit 1 +-else +- cmp -s ${objpfx}tst-${charset}.charmap.table ${objpfx}tst-${charset}.inverse.table || ++{ if test -f ${irreversible}; then ++ cat ${objpfx}tst-${charset}.charmap.table ${irreversible} | sort | uniq -u ++ else ++ cat ${objpfx}tst-${charset}.charmap.table ++ fi ++} | { if test ${charset} = GB18030; then grep '0x....$'; else cat; fi; } \ ++ > ${objpfx}tst-${charset}.tmp2c.table ++cat ${objpfx}tst-${charset}.inverse.table \ ++ | { if test ${charset} = GB18030; then grep '0x....$'; else cat; fi; } \ ++ > ${objpfx}tst-${charset}.tmp2i.table ++cmp -s ${objpfx}tst-${charset}.tmp2c.table ${objpfx}tst-${charset}.tmp2i.table || + exit 1 ++ ++# Check 3: the difference between iconv forward and iconv backward. This is ++# necessary only for GB18030, because ${objpfx}tst-${charset}.charmap.table ++# is truncated for this encoding (see above). ++if test ${charset} = GB18030; then ++ { if test -f ${irreversible}; then ++ cat ${objpfx}tst-${charset}.table ${irreversible} | sort | uniq -u ++ else ++ cat ${objpfx}tst-${charset}.table ++ fi ++ } > ${objpfx}tst-${charset}.tmp3.table ++ cmp -s ${objpfx}tst-${charset}.tmp3.table ${objpfx}tst-${charset}.inverse.table || ++ exit 1 + fi + + exit 0 +diff --git a/localedata/charmaps/GB18030 b/localedata/charmaps/GB18030 +index ad6728c5bd..fc3b1d2d40 100644 +--- a/localedata/charmaps/GB18030 ++++ b/localedata/charmaps/GB18030 +@@ -57234,32 +57234,16 @@ CHARMAP + /xa6/xbe + /xa6/xbf + /xa6/xc0 +-% The newest GB 18030-2005 standard still uses some private use area +-% code points. Any implementation which has Unicode 4.1 or newer +-% support should not use these PUA code points, and instead should +-% map these entries to their equivalent non-PUA code points. There +-% are 24 idiograms in GB 18030-2005 which have non-PUA equivalents. +-% In glibc we only support roundtrip code points, and so must choose +-% between supporting the old PUA code points, or using the newer +-% non-PUA code points. We choose to use the non-PUA code points to +-% be compatible with ICU's similar choice. In choosing the non-PUA +-% code points we can no longer convert the old PUA code points back +-% to GB-18030-2005 (technically only fixable if we added support +-% for non-roundtrip code points e.g. ICU's "fallback mapping"). +-% The recommendation to use the non-PUA code points, where available, +-% is based on "CJKV Information Processing" 2nd Ed. by Dr. Ken Lunde. +-% +-% These 10 PUA mappings use equivalents from to . +-% /xa6/xd9 +-% /xa6/xda +-% /xa6/xdb +-% /xa6/xdc +-% /xa6/xdd +-% /xa6/xde +-% /xa6/xdf +-% /xa6/xec +-% /xa6/xed +-% /xa6/xf3 ++ /x84/x31/x82/x36 ++ /x84/x31/x82/x38 ++ /x84/x31/x82/x37 ++ /x84/x31/x82/x39 ++ /x84/x31/x83/x30 ++ /x84/x31/x83/x31 ++ /x84/x31/x83/x32 ++ /x84/x31/x83/x33 ++ /x84/x31/x83/x34 ++ /x84/x31/x83/x35 + /xa6/xf6 + /xa6/xf7 + /xa6/xf8 +@@ -57387,17 +57371,15 @@ CHARMAP + /xd7/xfd + /xd7/xfe + /x83/x36/xc9/x34 +-% These 3 PUA mappings use equivalents , and . +-% /xfe/x51 +-% /xfe/x52 +-% /xfe/x53 ++ /xfe/x51 ++ /xfe/x52 ++ /xfe/x53 + /x83/x36/xc9/x35 + /x83/x36/xc9/x36 + /x83/x36/xc9/x37 + /x83/x36/xc9/x38 + /x83/x36/xc9/x39 +-% This 1 PUA mapping uses the equivalent . +-% /xfe/x59 ++ /x82/x35/x90/x37 + /x83/x36/xca/x30 + /x83/x36/xca/x31 + /x83/x36/xca/x32 +@@ -57405,22 +57387,19 @@ CHARMAP + /x83/x36/xca/x34 + /x83/x36/xca/x35 + /x83/x36/xca/x36 +-% This 1 PUA mapping uses the equivalent . +-% /xfe/x61 ++ /x82/x35/x90/x38 + /x83/x36/xca/x37 + /x83/x36/xca/x38 + /x83/x36/xca/x39 + /x83/x36/xcb/x30 +-% These 2 PUA mappings use the equivalents and . +-% /xfe/x66 +-% /xfe/x67 ++ /x82/x35/x90/x39 ++ /x82/x35/x91/x30 + /x83/x36/xcb/x31 + /x83/x36/xcb/x32 + /x83/x36/xcb/x33 + /x83/x36/xcb/x34 +-% These 2 PUA mappings use the equivalents and . +-% /xfe/x6c +-% /xfe/x6d ++ /xfe/x6c ++ /x82/x35/x91/x31 + /x83/x36/xcb/x35 + /x83/x36/xcb/x36 + /x83/x36/xcb/x37 +@@ -57429,8 +57408,7 @@ CHARMAP + /x83/x36/xcc/x30 + /x83/x36/xcc/x31 + /x83/x36/xcc/x32 +-% This 1 PUA mapping uses the equivalent . +-% /xfe/x76 ++ /xfe/x76 + /x83/x36/xcc/x33 + /x83/x36/xcc/x34 + /x83/x36/xcc/x35 +@@ -57438,8 +57416,7 @@ CHARMAP + /x83/x36/xcc/x37 + /x83/x36/xcc/x38 + /x83/x36/xcc/x39 +-% This 1 PUA mapping uses the equivalent . +-% /xfe/x7e ++ /x82/x35/x91/x32 + /x83/x36/xcd/x30 + /x83/x36/xcd/x31 + /x83/x36/xcd/x32 +@@ -57456,9 +57433,8 @@ CHARMAP + /x83/x36/xce/x33 + /x83/x36/xce/x34 + /x83/x36/xce/x35 +-% These 2 PUA mappings use the equivalents and . +-% /xfe/x90 +-% /xfe/x91 ++ /x82/x35/x91/x33 ++ /xfe/x91 + /x83/x36/xce/x36 + /x83/x36/xce/x37 + /x83/x36/xce/x38 +@@ -57473,8 +57449,7 @@ CHARMAP + /x83/x36/xcf/x37 + /x83/x36/xcf/x38 + /x83/x36/xcf/x39 +-% This 1 PUA mapping uses the equivalent . +-% /xfe/xa0 ++ /x82/x35/x91/x34 + /x83/x36/xd0/x30 + /x83/x36/xd0/x31 + /x83/x36/xd0/x32 +@@ -70447,19 +70422,14 @@ CHARMAP + .. /x95/x32/x8d/x30 + .. /x95/x32/x8e/x30 + .. /x95/x32/x8f/x30 +- /x95/x32/x90/x30 +- /xfe/x51 +- /x95/x32/x90/x32 +- /xfe/x52 +-.. /x95/x32/x90/x34 ++.. /x95/x32/x90/x30 + .. /x95/x32/x91/x30 + .. /x95/x32/x92/x30 + .. /x95/x32/x93/x30 + .. /x95/x32/x94/x30 + .. /x95/x32/x95/x30 + .. /x95/x32/x96/x30 +- /xfe/x53 +-.. /x95/x32/x97/x31 ++.. /x95/x32/x97/x30 + .. /x95/x32/x98/x30 + .. /x95/x32/x99/x30 + .. /x95/x32/x9a/x30 +@@ -70998,8 +70968,7 @@ CHARMAP + .. /x95/x36/xb7/x30 + .. /x95/x36/xb8/x30 + .. /x95/x36/xb9/x30 +- /xfe/x6c +-.. /x95/x36/xb9/x38 ++.. /x95/x36/xb9/x37 + .. /x95/x36/xba/x30 + .. /x95/x36/xbb/x30 + .. /x95/x36/xbc/x30 +@@ -71505,8 +71474,7 @@ CHARMAP + .. /x96/x30/xb8/x30 + .. /x96/x30/xb9/x30 + .. /x96/x30/xba/x30 +- /xfe/x76 +-.. /x96/x30/xba/x36 ++.. /x96/x30/xba/x35 + .. /x96/x30/xbb/x30 + .. /x96/x30/xbc/x30 + .. /x96/x30/xbd/x30 +@@ -72132,8 +72100,7 @@ CHARMAP + .. /x96/x35/xb3/x30 + .. /x96/x35/xb4/x30 + .. /x96/x35/xb5/x30 +- /xfe/x91 +-.. /x96/x35/xb6/x31 ++.. /x96/x35/xb6/x30 + .. /x96/x35/xb7/x30 + .. /x96/x35/xb8/x30 + .. /x96/x35/xb9/x30 +-- +2.42.0 + diff --git a/getaddrinfo-eai-memory.patch b/getaddrinfo-eai-memory.patch new file mode 100644 index 0000000..8d1f789 --- /dev/null +++ b/getaddrinfo-eai-memory.patch @@ -0,0 +1,36 @@ +From ae1e5217021e43e1f2de443d26e87ea3adfb221c Mon Sep 17 00:00:00 2001 +From: Andreas Schwab +Date: Wed, 6 Dec 2023 14:48:22 +0100 +Subject: [PATCH] getaddrinfo: translate ENOMEM to EAI_MEMORY (bug 31163) + +When __resolv_context_get returns NULL due to out of memory, translate it +to a return value of EAI_MEMORY. + +(cherry picked from commit 5eabdb6a6ac1599d23dd5966a37417215950245f) +--- + sysdeps/posix/getaddrinfo.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c +index 13082305d3..da573bea24 100644 +--- a/sysdeps/posix/getaddrinfo.c ++++ b/sysdeps/posix/getaddrinfo.c +@@ -616,7 +616,14 @@ get_nss_addresses (const char *name, const struct addrinfo *req, + function variant. */ + res_ctx = __resolv_context_get (); + if (res_ctx == NULL) +- no_more = 1; ++ { ++ if (errno == ENOMEM) ++ { ++ result = -EAI_MEMORY; ++ goto out; ++ } ++ no_more = 1; ++ } + + while (!no_more) + { +-- +2.43.0 + diff --git a/getaddrinfo-memory-leak.patch b/getaddrinfo-memory-leak.patch new file mode 100644 index 0000000..b8cc3a8 --- /dev/null +++ b/getaddrinfo-memory-leak.patch @@ -0,0 +1,92 @@ +From ec6b95c3303c700eb89eebeda2d7264cc184a796 Mon Sep 17 00:00:00 2001 +From: Romain Geissler +Date: Mon, 25 Sep 2023 01:21:51 +0100 +Subject: [PATCH] Fix leak in getaddrinfo introduced by the fix for + CVE-2023-4806 [BZ #30843] + +This patch fixes a very recently added leak in getaddrinfo. + +Reviewed-by: Siddhesh Poyarekar +--- + nss/Makefile | 20 ++++++++++++++++++++ + nss/tst-nss-gai-hv2-canonname.c | 3 +++ + sysdeps/posix/getaddrinfo.c | 4 +--- + 3 files changed, 24 insertions(+), 3 deletions(-) + +diff --git a/nss/Makefile b/nss/Makefile +index 8a5126ecf3..668ba34b18 100644 +--- a/nss/Makefile ++++ b/nss/Makefile +@@ -149,6 +149,15 @@ endif + extra-test-objs += nss_test1.os nss_test2.os nss_test_errno.os \ + nss_test_gai_hv2_canonname.os + ++ifeq ($(run-built-tests),yes) ++ifneq (no,$(PERL)) ++tests-special += $(objpfx)mtrace-tst-nss-gai-hv2-canonname.out ++endif ++endif ++ ++generated += mtrace-tst-nss-gai-hv2-canonname.out \ ++ tst-nss-gai-hv2-canonname.mtrace ++ + include ../Rules + + ifeq (yes,$(have-selinux)) +@@ -217,6 +226,17 @@ endif + $(objpfx)tst-nss-files-alias-leak.out: $(objpfx)/libnss_files.so + $(objpfx)tst-nss-files-alias-truncated.out: $(objpfx)/libnss_files.so + ++tst-nss-gai-hv2-canonname-ENV = \ ++ MALLOC_TRACE=$(objpfx)tst-nss-gai-hv2-canonname.mtrace \ ++ LD_PRELOAD=$(common-objpfx)/malloc/libc_malloc_debug.so ++$(objpfx)mtrace-tst-nss-gai-hv2-canonname.out: \ ++ $(objpfx)tst-nss-gai-hv2-canonname.out ++ { test -r $(objpfx)tst-nss-gai-hv2-canonname.mtrace \ ++ || ( echo "tst-nss-gai-hv2-canonname.mtrace does not exist"; exit 77; ) \ ++ && $(common-objpfx)malloc/mtrace \ ++ $(objpfx)tst-nss-gai-hv2-canonname.mtrace; } > $@; \ ++ $(evaluate-test) ++ + # Disable DT_RUNPATH on NSS tests so that the glibc internal NSS + # functions can load testing NSS modules via DT_RPATH. + LDFLAGS-tst-nss-test1 = -Wl,--disable-new-dtags +diff --git a/nss/tst-nss-gai-hv2-canonname.c b/nss/tst-nss-gai-hv2-canonname.c +index d5f10c07d6..7db53cf09d 100644 +--- a/nss/tst-nss-gai-hv2-canonname.c ++++ b/nss/tst-nss-gai-hv2-canonname.c +@@ -21,6 +21,7 @@ + #include + #include + #include ++#include + #include + #include + #include "nss/tst-nss-gai-hv2-canonname.h" +@@ -41,6 +42,8 @@ static void do_prepare (int a, char **av) + static int + do_test (void) + { ++ mtrace (); ++ + __nss_configure_lookup ("hosts", "test_gai_hv2_canonname"); + + struct addrinfo hints = {}; +diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c +index 47f421fddf..531124958d 100644 +--- a/sysdeps/posix/getaddrinfo.c ++++ b/sysdeps/posix/getaddrinfo.c +@@ -1196,9 +1196,7 @@ free_and_return: + if (malloc_name) + free ((char *) name); + free (addrmem); +- if (res.free_at) +- free (res.at); +- free (res.canon); ++ gaih_result_reset (&res); + + return result; + } +-- +2.42.0 + diff --git a/getcanonname-use-after-free.patch b/getcanonname-use-after-free.patch new file mode 100644 index 0000000..94a0b37 --- /dev/null +++ b/getcanonname-use-after-free.patch @@ -0,0 +1,338 @@ +From 00ae4f10b504bc4564e9f22f00907093f1ab9338 Mon Sep 17 00:00:00 2001 +From: Siddhesh Poyarekar +Date: Fri, 15 Sep 2023 13:51:12 -0400 +Subject: [PATCH] getaddrinfo: Fix use after free in getcanonname + (CVE-2023-4806) + +When an NSS plugin only implements the _gethostbyname2_r and +_getcanonname_r callbacks, getaddrinfo could use memory that was freed +during tmpbuf resizing, through h_name in a previous query response. + +The backing store for res->at->name when doing a query with +gethostbyname3_r or gethostbyname2_r is tmpbuf, which is reallocated in +gethosts during the query. For AF_INET6 lookup with AI_ALL | +AI_V4MAPPED, gethosts gets called twice, once for a v6 lookup and second +for a v4 lookup. In this case, if the first call reallocates tmpbuf +enough number of times, resulting in a malloc, th->h_name (that +res->at->name refers to) ends up on a heap allocated storage in tmpbuf. +Now if the second call to gethosts also causes the plugin callback to +return NSS_STATUS_TRYAGAIN, tmpbuf will get freed, resulting in a UAF +reference in res->at->name. This then gets dereferenced in the +getcanonname_r plugin call, resulting in the use after free. + +Fix this by copying h_name over and freeing it at the end. This +resolves BZ #30843, which is assigned CVE-2023-4806. + +Signed-off-by: Siddhesh Poyarekar +(cherry picked from commit 973fe93a5675c42798b2161c6f29c01b0e243994) +--- + nss/Makefile | 15 ++++- + nss/nss_test_gai_hv2_canonname.c | 56 +++++++++++++++++ + nss/tst-nss-gai-hv2-canonname.c | 63 +++++++++++++++++++ + nss/tst-nss-gai-hv2-canonname.h | 1 + + .../postclean.req | 0 + .../tst-nss-gai-hv2-canonname.script | 2 + + sysdeps/posix/getaddrinfo.c | 25 +++++--- + 7 files changed, 152 insertions(+), 10 deletions(-) + create mode 100644 nss/nss_test_gai_hv2_canonname.c + create mode 100644 nss/tst-nss-gai-hv2-canonname.c + create mode 100644 nss/tst-nss-gai-hv2-canonname.h + create mode 100644 nss/tst-nss-gai-hv2-canonname.root/postclean.req + create mode 100644 nss/tst-nss-gai-hv2-canonname.root/tst-nss-gai-hv2-canonname.script + +diff --git a/nss/Makefile b/nss/Makefile +index 06fcdc450f..8a5126ecf3 100644 +--- a/nss/Makefile ++++ b/nss/Makefile +@@ -82,6 +82,7 @@ tests-container := \ + tst-nss-test3 \ + tst-reload1 \ + tst-reload2 \ ++ tst-nss-gai-hv2-canonname \ + # tests-container + + # Tests which need libdl +@@ -145,7 +146,8 @@ libnss_compat-inhibit-o = $(filter-out .os,$(object-suffixes)) + ifeq ($(build-static-nss),yes) + tests-static += tst-nss-static + endif +-extra-test-objs += nss_test1.os nss_test2.os nss_test_errno.os ++extra-test-objs += nss_test1.os nss_test2.os nss_test_errno.os \ ++ nss_test_gai_hv2_canonname.os + + include ../Rules + +@@ -180,12 +182,16 @@ rtld-tests-LDFLAGS += -Wl,--dynamic-list=nss_test.ver + libof-nss_test1 = extramodules + libof-nss_test2 = extramodules + libof-nss_test_errno = extramodules ++libof-nss_test_gai_hv2_canonname = extramodules + $(objpfx)/libnss_test1.so: $(objpfx)nss_test1.os $(link-libc-deps) + $(build-module) + $(objpfx)/libnss_test2.so: $(objpfx)nss_test2.os $(link-libc-deps) + $(build-module) + $(objpfx)/libnss_test_errno.so: $(objpfx)nss_test_errno.os $(link-libc-deps) + $(build-module) ++$(objpfx)/libnss_test_gai_hv2_canonname.so: \ ++ $(objpfx)nss_test_gai_hv2_canonname.os $(link-libc-deps) ++ $(build-module) + $(objpfx)nss_test2.os : nss_test1.c + # Use the nss_files suffix for these objects as well. + $(objpfx)/libnss_test1.so$(libnss_files.so-version): $(objpfx)/libnss_test1.so +@@ -195,10 +201,14 @@ $(objpfx)/libnss_test2.so$(libnss_files.so-version): $(objpfx)/libnss_test2.so + $(objpfx)/libnss_test_errno.so$(libnss_files.so-version): \ + $(objpfx)/libnss_test_errno.so + $(make-link) ++$(objpfx)/libnss_test_gai_hv2_canonname.so$(libnss_files.so-version): \ ++ $(objpfx)/libnss_test_gai_hv2_canonname.so ++ $(make-link) + $(patsubst %,$(objpfx)%.out,$(tests) $(tests-container)) : \ + $(objpfx)/libnss_test1.so$(libnss_files.so-version) \ + $(objpfx)/libnss_test2.so$(libnss_files.so-version) \ +- $(objpfx)/libnss_test_errno.so$(libnss_files.so-version) ++ $(objpfx)/libnss_test_errno.so$(libnss_files.so-version) \ ++ $(objpfx)/libnss_test_gai_hv2_canonname.so$(libnss_files.so-version) + + ifeq (yes,$(have-thread-library)) + $(objpfx)tst-cancel-getpwuid_r: $(shared-thread-library) +@@ -215,3 +225,4 @@ LDFLAGS-tst-nss-test3 = -Wl,--disable-new-dtags + LDFLAGS-tst-nss-test4 = -Wl,--disable-new-dtags + LDFLAGS-tst-nss-test5 = -Wl,--disable-new-dtags + LDFLAGS-tst-nss-test_errno = -Wl,--disable-new-dtags ++LDFLAGS-tst-nss-test_gai_hv2_canonname = -Wl,--disable-new-dtags +diff --git a/nss/nss_test_gai_hv2_canonname.c b/nss/nss_test_gai_hv2_canonname.c +new file mode 100644 +index 0000000000..4439c83c9f +--- /dev/null ++++ b/nss/nss_test_gai_hv2_canonname.c +@@ -0,0 +1,56 @@ ++/* NSS service provider that only provides gethostbyname2_r. ++ Copyright The GNU Toolchain Authors. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++#include ++#include ++#include ++#include "nss/tst-nss-gai-hv2-canonname.h" ++ ++/* Catch misnamed and functions. */ ++#pragma GCC diagnostic error "-Wmissing-prototypes" ++NSS_DECLARE_MODULE_FUNCTIONS (test_gai_hv2_canonname) ++ ++extern enum nss_status _nss_files_gethostbyname2_r (const char *, int, ++ struct hostent *, char *, ++ size_t, int *, int *); ++ ++enum nss_status ++_nss_test_gai_hv2_canonname_gethostbyname2_r (const char *name, int af, ++ struct hostent *result, ++ char *buffer, size_t buflen, ++ int *errnop, int *herrnop) ++{ ++ return _nss_files_gethostbyname2_r (name, af, result, buffer, buflen, errnop, ++ herrnop); ++} ++ ++enum nss_status ++_nss_test_gai_hv2_canonname_getcanonname_r (const char *name, char *buffer, ++ size_t buflen, char **result, ++ int *errnop, int *h_errnop) ++{ ++ /* We expect QUERYNAME, which is a small enough string that it shouldn't fail ++ the test. */ ++ if (memcmp (QUERYNAME, name, sizeof (QUERYNAME)) ++ || buflen < sizeof (QUERYNAME)) ++ abort (); ++ ++ strncpy (buffer, name, buflen); ++ *result = buffer; ++ return NSS_STATUS_SUCCESS; ++} +diff --git a/nss/tst-nss-gai-hv2-canonname.c b/nss/tst-nss-gai-hv2-canonname.c +new file mode 100644 +index 0000000000..d5f10c07d6 +--- /dev/null ++++ b/nss/tst-nss-gai-hv2-canonname.c +@@ -0,0 +1,63 @@ ++/* Test NSS query path for plugins that only implement gethostbyname2 ++ (#30843). ++ Copyright The GNU Toolchain Authors. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include "nss/tst-nss-gai-hv2-canonname.h" ++ ++#define PREPARE do_prepare ++ ++static void do_prepare (int a, char **av) ++{ ++ FILE *hosts = xfopen ("/etc/hosts", "w"); ++ for (unsigned i = 2; i < 255; i++) ++ { ++ fprintf (hosts, "ff01::ff02:ff03:%u:2\ttest.example.com\n", i); ++ fprintf (hosts, "192.168.0.%u\ttest.example.com\n", i); ++ } ++ xfclose (hosts); ++} ++ ++static int ++do_test (void) ++{ ++ __nss_configure_lookup ("hosts", "test_gai_hv2_canonname"); ++ ++ struct addrinfo hints = {}; ++ struct addrinfo *result = NULL; ++ ++ hints.ai_family = AF_INET6; ++ hints.ai_flags = AI_ALL | AI_V4MAPPED | AI_CANONNAME; ++ ++ int ret = getaddrinfo (QUERYNAME, NULL, &hints, &result); ++ ++ if (ret != 0) ++ FAIL_EXIT1 ("getaddrinfo failed: %s\n", gai_strerror (ret)); ++ ++ TEST_COMPARE_STRING (result->ai_canonname, QUERYNAME); ++ ++ freeaddrinfo(result); ++ return 0; ++} ++ ++#include +diff --git a/nss/tst-nss-gai-hv2-canonname.h b/nss/tst-nss-gai-hv2-canonname.h +new file mode 100644 +index 0000000000..14f2a9cb08 +--- /dev/null ++++ b/nss/tst-nss-gai-hv2-canonname.h +@@ -0,0 +1 @@ ++#define QUERYNAME "test.example.com" +diff --git a/nss/tst-nss-gai-hv2-canonname.root/postclean.req b/nss/tst-nss-gai-hv2-canonname.root/postclean.req +new file mode 100644 +index 0000000000..e69de29bb2 +diff --git a/nss/tst-nss-gai-hv2-canonname.root/tst-nss-gai-hv2-canonname.script b/nss/tst-nss-gai-hv2-canonname.root/tst-nss-gai-hv2-canonname.script +new file mode 100644 +index 0000000000..31848b4a28 +--- /dev/null ++++ b/nss/tst-nss-gai-hv2-canonname.root/tst-nss-gai-hv2-canonname.script +@@ -0,0 +1,2 @@ ++cp $B/nss/libnss_test_gai_hv2_canonname.so $L/libnss_test_gai_hv2_canonname.so.2 ++su +diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c +index 0356b622be..b2236b105c 100644 +--- a/sysdeps/posix/getaddrinfo.c ++++ b/sysdeps/posix/getaddrinfo.c +@@ -120,6 +120,7 @@ struct gaih_result + { + struct gaih_addrtuple *at; + char *canon; ++ char *h_name; + bool free_at; + bool got_ipv6; + }; +@@ -165,6 +166,7 @@ gaih_result_reset (struct gaih_result *res) + if (res->free_at) + free (res->at); + free (res->canon); ++ free (res->h_name); + memset (res, 0, sizeof (*res)); + } + +@@ -203,9 +205,8 @@ gaih_inet_serv (const char *servicename, const struct gaih_typeproto *tp, + return 0; + } + +-/* Convert struct hostent to a list of struct gaih_addrtuple objects. h_name +- is not copied, and the struct hostent object must not be deallocated +- prematurely. The new addresses are appended to the tuple array in RES. */ ++/* Convert struct hostent to a list of struct gaih_addrtuple objects. The new ++ addresses are appended to the tuple array in RES. */ + static bool + convert_hostent_to_gaih_addrtuple (const struct addrinfo *req, int family, + struct hostent *h, struct gaih_result *res) +@@ -238,6 +239,15 @@ convert_hostent_to_gaih_addrtuple (const struct addrinfo *req, int family, + res->at = array; + res->free_at = true; + ++ /* Duplicate h_name because it may get reclaimed when the underlying storage ++ is freed. */ ++ if (res->h_name == NULL) ++ { ++ res->h_name = __strdup (h->h_name); ++ if (res->h_name == NULL) ++ return false; ++ } ++ + /* Update the next pointers on reallocation. */ + for (size_t i = 0; i < old; i++) + array[i].next = array + i + 1; +@@ -262,7 +272,6 @@ convert_hostent_to_gaih_addrtuple (const struct addrinfo *req, int family, + } + array[i].next = array + i + 1; + } +- array[0].name = h->h_name; + array[count - 1].next = NULL; + + return true; +@@ -324,15 +333,15 @@ gethosts (nss_gethostbyname3_r fct, int family, const char *name, + memory allocation failure. The returned string is allocated on the + heap; the caller has to free it. */ + static char * +-getcanonname (nss_action_list nip, struct gaih_addrtuple *at, const char *name) ++getcanonname (nss_action_list nip, const char *hname, const char *name) + { + nss_getcanonname_r *cfct = __nss_lookup_function (nip, "getcanonname_r"); + char *s = (char *) name; + if (cfct != NULL) + { + char buf[256]; +- if (DL_CALL_FCT (cfct, (at->name ?: name, buf, sizeof (buf), +- &s, &errno, &h_errno)) != NSS_STATUS_SUCCESS) ++ if (DL_CALL_FCT (cfct, (hname ?: name, buf, sizeof (buf), &s, &errno, ++ &h_errno)) != NSS_STATUS_SUCCESS) + /* If the canonical name cannot be determined, use the passed + string. */ + s = (char *) name; +@@ -771,7 +780,7 @@ get_nss_addresses (const char *name, const struct addrinfo *req, + if ((req->ai_flags & AI_CANONNAME) != 0 + && res->canon == NULL) + { +- char *canonbuf = getcanonname (nip, res->at, name); ++ char *canonbuf = getcanonname (nip, res->h_name, name); + if (canonbuf == NULL) + { + __resolv_context_put (res_ctx); +-- +2.42.0 + diff --git a/glibc-2.3.2.no_archive.diff b/glibc-2.3.2.no_archive.diff new file mode 100644 index 0000000..64717a3 --- /dev/null +++ b/glibc-2.3.2.no_archive.diff @@ -0,0 +1,44 @@ +Wed Jun 4 14:29:07 CEST 2003 - kukuk@suse.de + +- Make --no-archive default for localedef + +Index: glibc-2.27/locale/programs/localedef.c +=================================================================== +--- glibc-2.27.orig/locale/programs/localedef.c ++++ glibc-2.27/locale/programs/localedef.c +@@ -71,7 +71,7 @@ const char *alias_file; + static struct localedef_t *locales; + + /* If true don't add locale data to archive. */ +-bool no_archive; ++bool no_archive = true; + + /* If true add named locales to archive. */ + static bool add_to_archive; +@@ -101,6 +101,7 @@ void (*argp_program_version_hook) (FILE + #define OPT_REPLACE 307 + #define OPT_DELETE_FROM_ARCHIVE 308 + #define OPT_LIST_ARCHIVE 309 ++#define OPT_ARCHIVE 310 + #define OPT_LITTLE_ENDIAN 400 + #define OPT_BIG_ENDIAN 401 + #define OPT_NO_WARN 402 +@@ -133,6 +134,8 @@ static const struct argp_option options[ + "supported warnings are: ascii, intcurrsym") }, + + { NULL, 0, NULL, 0, N_("Archive control:") }, ++ { "archive", OPT_ARCHIVE, NULL, 0, ++ N_("Add new data to archive") }, + { "no-archive", OPT_NO_ARCHIVE, NULL, 0, + N_("Don't add new data to archive") }, + { "add-to-archive", OPT_ADD_TO_ARCHIVE, NULL, 0, +@@ -360,6 +363,9 @@ parse_opt (int key, char *arg, struct ar + case OPT_PREFIX: + output_prefix = arg; + break; ++ case OPT_ARCHIVE: ++ no_archive = false; ++ break; + case OPT_NO_ARCHIVE: + no_archive = true; + break; diff --git a/glibc-2.3.3-nscd-db-path.diff b/glibc-2.3.3-nscd-db-path.diff new file mode 100644 index 0000000..64896e8 --- /dev/null +++ b/glibc-2.3.3-nscd-db-path.diff @@ -0,0 +1,21 @@ +Index: glibc-2.27/nscd/nscd.h +=================================================================== +--- glibc-2.27.orig/nscd/nscd.h ++++ glibc-2.27/nscd/nscd.h +@@ -161,11 +161,11 @@ struct database_dyn + + + /* Paths of the file for the persistent storage. */ +-#define _PATH_NSCD_PASSWD_DB "/var/db/nscd/passwd" +-#define _PATH_NSCD_GROUP_DB "/var/db/nscd/group" +-#define _PATH_NSCD_HOSTS_DB "/var/db/nscd/hosts" +-#define _PATH_NSCD_SERVICES_DB "/var/db/nscd/services" +-#define _PATH_NSCD_NETGROUP_DB "/var/db/nscd/netgroup" ++#define _PATH_NSCD_PASSWD_DB "/var/lib/nscd/passwd" ++#define _PATH_NSCD_GROUP_DB "/var/lib/nscd/group" ++#define _PATH_NSCD_HOSTS_DB "/var/lib/nscd/hosts" ++#define _PATH_NSCD_SERVICES_DB "/var/lib/nscd/services" ++#define _PATH_NSCD_NETGROUP_DB "/var/lib/nscd/netgroup" + + /* Path used when not using persistent storage. */ + #define _PATH_NSCD_XYZ_DB_TMP "/var/run/nscd/dbXXXXXX" diff --git a/glibc-2.3.90-langpackdir.diff b/glibc-2.3.90-langpackdir.diff new file mode 100644 index 0000000..802418b --- /dev/null +++ b/glibc-2.3.90-langpackdir.diff @@ -0,0 +1,54 @@ +Index: glibc-2.38/debug/strcpy_chk.c +=================================================================== +--- glibc-2.38.orig/debug/strcpy_chk.c ++++ glibc-2.38/debug/strcpy_chk.c +@@ -31,3 +31,4 @@ __strcpy_chk (char *dest, const char *sr + + return memcpy (dest, src, len + 1); + } ++libc_hidden_builtin_def (__strcpy_chk) +Index: glibc-2.38/include/string.h +=================================================================== +--- glibc-2.38.orig/include/string.h ++++ glibc-2.38/include/string.h +@@ -213,6 +213,7 @@ libc_hidden_builtin_proto (__memcpy_chk) + libc_hidden_builtin_proto (__memmove_chk) + libc_hidden_builtin_proto (__mempcpy_chk) + libc_hidden_builtin_proto (__memset_chk) ++libc_hidden_builtin_proto (__strcpy_chk) + libc_hidden_builtin_proto (__stpcpy_chk) + + #endif +Index: glibc-2.38/intl/loadmsgcat.c +=================================================================== +--- glibc-2.38.orig/intl/loadmsgcat.c ++++ glibc-2.38/intl/loadmsgcat.c +@@ -796,8 +796,26 @@ _nl_load_domain (struct loaded_l10nfile + if (domain_file->filename == NULL) + goto out; + +- /* Try to open the addressed file. */ +- fd = open (domain_file->filename, O_RDONLY | O_BINARY); ++ /* Replace /locale/ with /usr/share/locale-langpack/ */ ++ const char *langpackdir = "/usr/share/locale-langpack/"; ++ char *filename_langpack = malloc (strlen (domain_file->filename) ++ + strlen (langpackdir)); ++ if (filename_langpack != NULL) ++ { ++ char *p = strstr (domain_file->filename, "/locale/"); ++ if (p != NULL) ++ { ++ strcpy (__stpcpy (filename_langpack, langpackdir), p + 8); ++ fd = open (filename_langpack, O_RDONLY | O_BINARY); ++ } ++ ++ free (filename_langpack); ++ } ++ ++ if (fd == -1) ++ /* Try to open the addressed file. */ ++ fd = open (domain_file->filename, O_RDONLY | O_BINARY); ++ + if (fd == -1) + goto out; + diff --git a/glibc-2.38.tar.xz b/glibc-2.38.tar.xz new file mode 100644 index 0000000..9125c98 --- /dev/null +++ b/glibc-2.38.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb82998998b2b29965467bc1b69d152e9c307d2cf301c9eafb4555b770ef3fd2 +size 18913712 diff --git a/glibc-2.38.tar.xz.sig b/glibc-2.38.tar.xz.sig new file mode 100644 index 0000000..47de471 --- /dev/null +++ b/glibc-2.38.tar.xz.sig @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCAAdFiEEcnNUKzmWLfeymZMUFnkrTqJTQPgFAmTIKMsACgkQFnkrTqJT +QPjMfg/9H6zpos/vnQnpMWKn/+eItqjJEgAJ4mSga2ncG+GugnuRMcR7BRjxrr8l +pEi9v9lKEHojUv0CvLjuZn0yR+rhApABqRmP+E65ECxEgYRsTweSnvGtn2OlJcYe +hVO2KDLKyiX5AbwXPSSZjYQpHpnO5Hcx5xnDlefLOOONHfut9LMbDuFpnbxXoPbm +cbuar0JAX9QxS8JVAj77gFYuyTgrVAApPv8GlLRDnOhaQks1/EP63kKMnm1tLx5n +HCZM6su0yVdT7gRLkyBeG12AhYa9zAXfEZZAZxDfpm9oHF7IoIC+uNP+1aH+K6Uy +NYKpIqvDDlkOSuZEazOjzHDQEWOTRBHo1hkrRjj8XNAejazfYB363qBChWP8MCvo +mqRkj88rmLVO+7RKvRasJGoMhJMkPqxdkwLMeB8EYfUgFt6eEul0hBZ1f533GoB8 +h6G3fFiPodY5X2o5Kyj6BTruxIs+US96PgERagw/RcL6kis2qI5RYJHzkliInp9i +41MXx/hpw0vv3jX2b7mboYhMt+Ii+67B+mu9J4mOvXjfVo5lIf9k0FlnhKNhBRm4 +x4X6PgZSc2VLQNXStMBbG5A7vShAeqd0icDIrWdNDOwp+4M1C2LqCttc61xRE5hX +00cL3f6r6vVbGp4PeYwN9LRlJdnK0cB5AS8dugmETP9qfYSDRyg= +=G5Md +-----END PGP SIGNATURE----- diff --git a/glibc-2.4-china.diff b/glibc-2.4-china.diff new file mode 100644 index 0000000..d18de37 --- /dev/null +++ b/glibc-2.4-china.diff @@ -0,0 +1,22 @@ +Index: glibc-2.27/localedata/locales/zh_TW +=================================================================== +--- glibc-2.27.orig/localedata/locales/zh_TW ++++ glibc-2.27/localedata/locales/zh_TW +@@ -8,7 +8,7 @@ escape_char / + % exempt you from the conditions of the license if your use would + % otherwise be governed by that license. + +-% Chinese language locale for Taiwan R.O.C. ++% Chinese language locale for Taiwan + % + % Original Author: + % Ming-Che Chuang +@@ -23,7 +23,7 @@ escape_char / + % Reference: http://wwwold.dkuug.dk/JTC1/SC22/WG20/docs/n690.pdf + + LC_IDENTIFICATION +-title "Chinese locale for Taiwan R.O.C." ++title "Chinese locale for Taiwan" + source "" + address "" + contact "" diff --git a/glibc-2.4.90-no_NO.diff b/glibc-2.4.90-no_NO.diff new file mode 100644 index 0000000..a71af44 --- /dev/null +++ b/glibc-2.4.90-no_NO.diff @@ -0,0 +1,100 @@ +Index: glibc-2.27/intl/locale.alias +=================================================================== +--- glibc-2.27.orig/intl/locale.alias ++++ glibc-2.27/intl/locale.alias +@@ -65,8 +65,6 @@ korean ko_KR.eucKR + korean.euc ko_KR.eucKR + ko_KR ko_KR.eucKR + lithuanian lt_LT.ISO-8859-13 +-no_NO nb_NO.ISO-8859-1 +-no_NO.ISO-8859-1 nb_NO.ISO-8859-1 + norwegian nb_NO.ISO-8859-1 + nynorsk nn_NO.ISO-8859-1 + polish pl_PL.ISO-8859-2 +Index: glibc-2.27/localedata/SUPPORTED +=================================================================== +--- glibc-2.27.orig/localedata/SUPPORTED ++++ glibc-2.27/localedata/SUPPORTED +@@ -355,6 +355,8 @@ nl_NL/ISO-8859-1 \ + nl_NL@euro/ISO-8859-15 \ + nn_NO.UTF-8/UTF-8 \ + nn_NO/ISO-8859-1 \ ++no_NO.UTF-8/UTF-8 \ ++no_NO/ISO-8859-1 \ + nr_ZA/UTF-8 \ + nso_ZA/UTF-8 \ + oc_FR.UTF-8/UTF-8 \ +Index: glibc-2.27/localedata/locales/no_NO +=================================================================== +--- /dev/null ++++ glibc-2.27/localedata/locales/no_NO +@@ -0,0 +1,69 @@ ++escape_char / ++comment_char % ++ ++% Norwegian language locale for Norway ++% Source: Norsk Standardiseringsforbund ++% Address: University Library, ++% Drammensveien 41, N-9242 Oslo, Norge ++% Contact: Kolbjoern Aamboe ++% Tel: +47 - 22859109 ++% Fax: +47 - 22434497 ++% Email: kolbjorn.aambo@usit.uio.no ++% Language: no ++% Territory: NO ++% Revision: 4.3 ++% Date: 1996-10-15 ++% Application: general ++% Users: general ++% Repertoiremap: mnemonic.ds ++% Charset: ISO-8859-1 ++% Distribution and use is free, also ++% for commercial purposes. ++ ++LC_IDENTIFICATION ++copy "nb_NO" ++END LC_IDENTIFICATION ++ ++LC_COLLATE ++copy "nb_NO" ++END LC_COLLATE ++ ++LC_CTYPE ++copy "nb_NO" ++END LC_CTYPE ++ ++LC_MONETARY ++copy "nb_NO" ++END LC_MONETARY ++ ++LC_NUMERIC ++copy "nb_NO" ++END LC_NUMERIC ++ ++LC_TIME ++copy "nb_NO" ++END LC_TIME ++ ++LC_MESSAGES ++copy "nb_NO" ++END LC_MESSAGES ++ ++LC_PAPER ++copy "nb_NO" ++END LC_PAPER ++ ++LC_TELEPHONE ++copy "nb_NO" ++END LC_TELEPHONE ++ ++LC_MEASUREMENT ++copy "nb_NO" ++END LC_MEASUREMENT ++ ++LC_NAME ++copy "nb_NO" ++END LC_NAME ++ ++LC_ADDRESS ++copy "nb_NO" ++END LC_ADDRESS diff --git a/glibc-bindresvport-blacklist.diff b/glibc-bindresvport-blacklist.diff new file mode 100644 index 0000000..da3524b --- /dev/null +++ b/glibc-bindresvport-blacklist.diff @@ -0,0 +1,158 @@ +Index: glibc-2.32/inet/bindresvport.c +=================================================================== +--- glibc-2.32.orig/inet/bindresvport.c ++++ glibc-2.32/inet/bindresvport.c +@@ -29,6 +29,9 @@ + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + ++#include ++#include ++#include + #include + #include + #include +@@ -42,6 +45,93 @@ + */ + __libc_lock_define_initialized (static, lock); + ++#define STARTPORT 600 ++#define LOWPORT 512 ++#define ENDPORT (IPPORT_RESERVED - 1) ++#define NPORTS (ENDPORT - STARTPORT + 1) ++ ++/* Read the file /etc/rpc.blacklisted, so that we don't bind to these ++ ports. */ ++ ++static int blacklist_read; ++static int *list; ++static int list_size = 0; ++ ++static void ++load_blacklist (void) ++{ ++ FILE *fp; ++ char *buf = NULL; ++ size_t buflen = 0; ++ int size = 0, ptr = 0; ++ ++ __libc_lock_lock (lock); ++ if (blacklist_read) ++ goto unlock; ++ blacklist_read = 1; ++ ++ fp = fopen ("/etc/bindresvport.blacklist", "r"); ++ if (fp == NULL) ++ goto unlock; ++ ++ while (!feof_unlocked (fp)) ++ { ++ unsigned long port; ++ char *tmp, *cp; ++ ssize_t n = __getline (&buf, &buflen, fp); ++ if (n < 1) ++ break; ++ ++ cp = buf; ++ /* Remove comments. */ ++ tmp = strchr (cp, '#'); ++ if (tmp) ++ *tmp = '\0'; ++ /* Remove spaces and tabs. */ ++ while (isspace ((unsigned char) *cp)) ++ ++cp; ++ /* Ignore empty lines. */ ++ if (*cp == '\0') ++ continue; ++ if (cp[strlen (cp) - 1] == '\n') ++ cp[strlen (cp) - 1] = '\0'; ++ ++ port = strtoul (cp, &tmp, 0); ++ while (isspace ((unsigned char) *tmp)) ++ ++tmp; ++ if (*tmp != '\0' || (port == ULONG_MAX && errno == ERANGE)) ++ continue; ++ ++ /* Don't bother with out-of-range ports. */ ++ if (port < LOWPORT || port > ENDPORT) ++ continue; ++ ++ if (ptr >= size) ++ { ++ size += 10; ++ int *new_list = realloc (list, size * sizeof (int)); ++ if (new_list == NULL) ++ { ++ free (list); ++ list = NULL; ++ free (buf); ++ goto unlock; ++ } ++ list = new_list; ++ } ++ ++ list[ptr++] = port; ++ } ++ ++ fclose (fp); ++ free (buf); ++ list_size = ptr; ++ ++ unlock: ++ __libc_lock_unlock (lock); ++} ++ ++ + /* + * Bind a socket to a privileged IP port + */ +@@ -52,12 +142,11 @@ bindresvport (int sd, struct sockaddr_in + struct sockaddr_in myaddr; + int i; + +-#define STARTPORT 600 +-#define LOWPORT 512 +-#define ENDPORT (IPPORT_RESERVED - 1) +-#define NPORTS (ENDPORT - STARTPORT + 1) + static short startport = STARTPORT; + ++ if (!blacklist_read) ++ load_blacklist (); ++ + if (sin == (struct sockaddr_in *) 0) + { + sin = &myaddr; +@@ -75,6 +164,7 @@ bindresvport (int sd, struct sockaddr_in + port = (__getpid () % NPORTS) + STARTPORT; + } + ++ __set_errno (EADDRINUSE); + /* Initialize to make gcc happy. */ + int res = -1; + +@@ -86,12 +176,22 @@ bindresvport (int sd, struct sockaddr_in + again: + for (i = 0; i < nports; ++i) + { +- sin->sin_port = htons (port++); +- if (port > endport) +- port = startport; ++ int j; ++ ++ sin->sin_port = htons (port); ++ ++ /* Check that this port is not blacklisted. */ ++ for (j = 0; j < list_size; j++) ++ if (port == list[j]) ++ goto try_next_port; ++ + res = __bind (sd, sin, sizeof (struct sockaddr_in)); + if (res >= 0 || errno != EADDRINUSE) + break; ++ ++ try_next_port: ++ if (++port > endport) ++ port = startport; + } + + if (i == nports && startport != LOWPORT) diff --git a/glibc-fix-double-loopback.diff b/glibc-fix-double-loopback.diff new file mode 100644 index 0000000..7468112 --- /dev/null +++ b/glibc-fix-double-loopback.diff @@ -0,0 +1,25 @@ +This fixes the problem of getent ahosts localhost returning 127.0.0.1 +_twice_ on systems that have no ipv6 interfaces up (hence are regarded +as ipv4 only by the lookup code), but still have localhost entries for +::1 and 127.0.0.1 in /etc/hosts (like most current systems). + +Remapping ::1 to 127.0.0.1 is bogus when /etc/hosts is correct. +bnc #684534, #606980 +http://sources.redhat.com/bugzilla/show_bug.cgi?id=4980 + +Index: glibc-2.27/nss/nss_files/files-hosts.c +=================================================================== +--- glibc-2.27.orig/nss/nss_files/files-hosts.c ++++ glibc-2.27/nss/nss_files/files-hosts.c +@@ -70,11 +70,6 @@ LINE_PARSER + { + if (IN6_IS_ADDR_V4MAPPED (entdata->host_addr)) + memcpy (entdata->host_addr, entdata->host_addr + 12, INADDRSZ); +- else if (IN6_IS_ADDR_LOOPBACK (entdata->host_addr)) +- { +- in_addr_t localhost = htonl (INADDR_LOOPBACK); +- memcpy (entdata->host_addr, &localhost, sizeof (localhost)); +- } + else + /* Illegal address: ignore line. */ + return 0; diff --git a/glibc-nscd.conf.patch b/glibc-nscd.conf.patch new file mode 100644 index 0000000..162def6 --- /dev/null +++ b/glibc-nscd.conf.patch @@ -0,0 +1,19 @@ +Index: glibc-2.27/nscd/nscd.conf +=================================================================== +--- glibc-2.27.orig/nscd/nscd.conf ++++ glibc-2.27/nscd/nscd.conf +@@ -61,11 +61,11 @@ + auto-propagate group yes + + enable-cache hosts yes +- positive-time-to-live hosts 3600 +- negative-time-to-live hosts 20 ++ positive-time-to-live hosts 600 ++ negative-time-to-live hosts 0 + suggested-size hosts 211 + check-files hosts yes +- persistent hosts yes ++ persistent hosts no + shared hosts yes + max-db-size hosts 33554432 + diff --git a/glibc-nsswitch-usr.diff b/glibc-nsswitch-usr.diff new file mode 100644 index 0000000..de104f5 --- /dev/null +++ b/glibc-nsswitch-usr.diff @@ -0,0 +1,13 @@ +Index: glibc-2.33/nss/nss_database.c +=================================================================== +--- glibc-2.33.orig/nss/nss_database.c ++++ glibc-2.33/nss/nss_database.c +@@ -303,6 +303,8 @@ nss_database_reload (struct nss_database + { + FILE *fp = fopen (_PATH_NSSWITCH_CONF, "rce"); + if (fp == NULL) ++ fp = fopen ("/usr" _PATH_NSSWITCH_CONF, "rce"); ++ if (fp == NULL) + switch (errno) + { + case EACCES: diff --git a/glibc-resolv-mdnshint.diff b/glibc-resolv-mdnshint.diff new file mode 100644 index 0000000..cbec05b --- /dev/null +++ b/glibc-resolv-mdnshint.diff @@ -0,0 +1,19 @@ +Index: glibc-2.27/resolv/res_hconf.c +=================================================================== +--- glibc-2.27.orig/resolv/res_hconf.c ++++ glibc-2.27/resolv/res_hconf.c +@@ -215,9 +215,12 @@ parse_line (const char *fname, int line_ + if (c == NULL) + { + char *buf; ++ const char *hint = ""; + +- if (__asprintf (&buf, _("%s: line %d: bad command `%s'\n"), +- fname, line_num, start) < 0) ++ if (__strncasecmp (start, "mdns", len) == 0 && len == 4) ++ hint = "Multicast DNS is now configured in /etc/nsswitch.conf instead.\nSee also the package and manpage of nss-mdns.\n"; ++ if (__asprintf (&buf, _("%s: line %d: bad command `%s'\n%s"), ++ fname, line_num, start, hint) < 0) + return; + + __fxprintf (NULL, "%s", buf); diff --git a/glibc-version.diff b/glibc-version.diff new file mode 100644 index 0000000..2b63759 --- /dev/null +++ b/glibc-version.diff @@ -0,0 +1,18 @@ +Index: glibc-2.27/csu/version.c +=================================================================== +--- glibc-2.27.orig/csu/version.c ++++ glibc-2.27/csu/version.c +@@ -24,11 +24,12 @@ static const char __libc_release[] = REL + static const char __libc_version[] = VERSION; + + static const char banner[] = +-"GNU C Library "PKGVERSION RELEASE" release version "VERSION".\n\ ++"GNU C Library "PKGVERSION RELEASE" release version "VERSION" (git "GITID").\n\ + Copyright (C) 2023 Free Software Foundation, Inc.\n\ + This is free software; see the source for copying conditions.\n\ + There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n\ + PARTICULAR PURPOSE.\n\ ++Configured for "CONFHOST".\n\ + Compiled by GNU CC version "__VERSION__".\n" + #ifdef LIBC_ABIS_STRING + LIBC_ABIS_STRING diff --git a/glibc.changes b/glibc.changes new file mode 100644 index 0000000..bd28b19 --- /dev/null +++ b/glibc.changes @@ -0,0 +1,9670 @@ +------------------------------------------------------------------- +Mon Mar 11 10:06:42 UTC 2024 - Andreas Schwab + +- duplocale-global-locale.patch: duplocale: protect use of global locale + (bsc#1220441, BZ #23970) + +------------------------------------------------------------------- +Mon Feb 26 12:48:48 UTC 2024 - Andreas Schwab + +- s390-clone-error-clobber-r7.patch: S390: Do not clobber r7 in clone (BZ + #31402) + +------------------------------------------------------------------- +Wed Feb 7 09:08:50 UTC 2024 - Andreas Schwab + +- Add libnsl1 to baselibs.conf (bsc#1219640) + +------------------------------------------------------------------- +Wed Jan 31 09:25:16 UTC 2024 - Andreas Schwab + +- syslog-buffer-overflow.patch: syslog: Fix heap buffer overflow in + __vsyslog_internal (CVE-2023-6246, CVE-2023-6779, CVE-2023-6780, + bsc#1218863, bsc#1218867, bsc#1218868) +- qsort-invalid-cmp.patch: qsort: handle degenerated compare function + (bsc#1218866) + +------------------------------------------------------------------- +Mon Jan 29 10:06:28 UTC 2024 - Andreas Schwab + +- Change minimum GCC to 13 + +------------------------------------------------------------------- +Tue Jan 23 16:15:56 UTC 2024 - Andreas Schwab + +- Split off libnsl.so.1 into a separate package + +------------------------------------------------------------------- +Tue Jan 2 11:30:46 UTC 2024 - Andreas Schwab + +- sem-open-o-creat.patch: sem_open: Clear O_CREAT when semaphore file is + expected to exist (BZ #30789) +- ldconfig-process-elf-file.patch: elf: Fix wrong break removal from + 8ee878592c +- tls-modid-reuse.patch: elf: Fix TLS modid reuse generation assignment + (BZ #29039) +- getaddrinfo-eai-memory.patch: getaddrinfo: translate ENOMEM to + EAI_MEMORY (bsc#1217589, BZ #31163) +- libio-wdo-write.patch: libio: Check remaining buffer size in + _IO_wdo_write (BZ #31183) + +------------------------------------------------------------------- +Tue Dec 5 11:52:03 UTC 2023 - Andreas Schwab + +- aarch64-rawmemchr-unwind.patch: aarch64: correct CFI in rawmemchr + (bsc#1217445, BZ #31113) + +------------------------------------------------------------------- +Mon Dec 4 15:16:38 UTC 2023 - Andreas Schwab + +- Remove systemd from shadow and gshadow lookups (bsc#1217220) + +------------------------------------------------------------------- +Mon Oct 23 09:52:12 UTC 2023 - Andreas Schwab + +- gb18030-2022.patch: add GB18030-2022 charmap (jsc#PED-4908, BZ #30243) + +------------------------------------------------------------------- +Wed Oct 18 11:54:04 UTC 2023 - Andreas Schwab + +- dtors-reverse-ctor-order.patch: Remove, has been reverted + +------------------------------------------------------------------- +Tue Oct 17 12:00:11 UTC 2023 - Andreas Schwab + +- Avoid use of SSE in i586 build + +------------------------------------------------------------------- +Mon Oct 9 08:50:18 UTC 2023 - Andreas Schwab + +- Add systemd also to gshadow lookups (jsc#PED-5188) +- For SLE continue to use nsswitch.conf without systemd + +------------------------------------------------------------------- +Wed Oct 4 09:31:09 UTC 2023 - Andreas Schwab + +- setxid-propagate-glibc-tunables.patch: Propagate GLIBC_TUNABLES in + setxid binaries +- tunables-string-parsing.patch: tunables: Terminate if end of input is + reached (CVE-2023-4911, bsc#1215501) + +------------------------------------------------------------------- +Wed Sep 27 14:08:48 UTC 2023 - Andreas Schwab + +- fstat-implementation.patch: io: Do not implement fstat with fstatat + +------------------------------------------------------------------- +Mon Sep 25 07:58:08 UTC 2023 - Andreas Schwab + +- getaddrinfo-memory-leak.patch: Fix leak in getaddrinfo introduced by the + fix for CVE-2023-4806 (CVE-2023-5156, bsc#1215714, BZ #30884) + +------------------------------------------------------------------- +Mon Sep 18 08:48:59 UTC 2023 - Andreas Schwab + +- getcanonname-use-after-free.patch: getaddrinfo: Fix use after free in + getcanonname (CVE-2023-4806, bsc#1215281, BZ #30843) +- Do not build any cross packages in SLES + +------------------------------------------------------------------- +Wed Sep 13 12:25:56 UTC 2023 - Andreas Schwab + +- no-aaaa-read-overflow.patch: Stack read overflow with large TCP + responses in no-aaaa mode (CVE-2023-4527, bsc#1215280, BZ #30842) + +------------------------------------------------------------------- +Tue Sep 12 12:52:55 UTC 2023 - Andreas Schwab + +- Add systemd to passwd, group and shadow lookups (jsc#PED-5188) + +------------------------------------------------------------------- +Mon Sep 11 09:20:07 UTC 2023 - Andreas Schwab + +- ppc64-flock-fob64.patch: io: Fix record locking contants for powerpc64 + with __USE_FILE_OFFSET64 (BZ #30804) +- libio-io-vtables.patch: libio: Fix oversized __io_vtables +- call-init-proxy-objects.patch: elf: Do not run constructors for proxy + objects +- dtors-reverse-ctor-order.patch: elf: Always call destructors in reverse + constructor order (BZ #30785) + +------------------------------------------------------------------- +Tue Sep 5 11:13:13 UTC 2023 - Andreas Schwab + +- intl-c-utf-8-like-c-locale.patch: intl: Treat C.UTF-8 locale like C + locale (BZ #16621) +- glibc-disable-gettext-for-c-utf8.patch: Removed + +------------------------------------------------------------------- +Mon Aug 28 11:56:10 UTC 2023 - Richard Biener + +- Add cross-ppc64le package + +------------------------------------------------------------------- +Tue Aug 22 15:46:51 UTC 2023 - Andreas Schwab + +- posix-memalign-fragmentation.patch: malloc: Enable merging of remainders + in memalign, remove bin scanning from memalign (BZ #30723) +- Limit build counter sync to i686 flavor, to reduce needs for rebuilds + +------------------------------------------------------------------- +Tue Aug 22 11:24:16 UTC 2023 - Richard Biener + +- Add cross-s390x package (bsc#1214460) + +------------------------------------------------------------------- +Mon Aug 14 08:12:28 UTC 2023 - Andreas Schwab + +- Require that elf/check-localplt does not fail +- glibc-2.3.90-langpackdir.diff: add hidden alias for __strcpy_chk +- cache-amd-legacy.patch: x86: Fix for cache computation on AMD legacy + cpus +- cache-intel-shared.patch: x86: Fix incorrect scope of setting + `shared_per_thread` (BZ# 30745) + +------------------------------------------------------------------- +Wed Aug 2 10:50:32 UTC 2023 - Andreas Schwab + +- Update to glibc 2.38 + * When C2X features are enabled and the base argument is 0 or 2, the + following functions support binary integers prefixed by 0b or 0B as + input + * PRIb*, PRIB* and SCNb* macros from C2X have been added to + . + * printf-family functions now support the wN format length modifiers for + arguments of type intN_t, int_leastN_t, uintN_t or uint_leastN_t + and the wfN format + length modifiers for arguments of type int_fastN_t or uint_fastN_t, as + specified in draft ISO C2X + * A new tunable, glibc.pthread.stack_hugetlb, can be used to disable + Transparent Huge Pages (THP) in stack allocation at pthread_create + * Vector math library libmvec support has been added to AArch64 + * The strlcpy and strlcat functions have been added + * CVE-2023-25139: When the printf family of functions is called with a + format specifier that uses an (enable grouping) and a + minimum width specifier, the resulting output could be larger than + reasonably expected by a caller that computed a tight bound on the + buffer size +- Enable build with _FORTIFY_SOURCE +- glibc-2.3.90-langpackdir.diff: avoid reference to __strcpy_chk +- iconv-error-verbosity.patch: iconv: restore verbosity with unrecognized + encoding names (BZ #30694) +- printf-grouping.patch, strftime-time64.patch, + getlogin-no-loginuid.patch, fix-locking-in-_IO_cleanup.patch, + gshadow-erange-rhandling.patch, system-sigchld-block.patch, + gmon-buffer-alloc.patch, check-pf-cancel-handler.patch, + powerpc64-fcntl-lock.patch, realloc-limit-chunk-reuse.patch, + dl-find-object-return.patch; Removed +- bsc#1211828 +- bsc#1212819 + +------------------------------------------------------------------- +Mon Jul 10 08:46:18 UTC 2023 - Andreas Schwab + +- gshadow-erange-rhandling.patch: gshadow: Matching sgetsgent, sgetsgent_r + ERANGE handling (BZ #30151) +- system-sigchld-block.patch: posix: Fix system blocks SIGCHLD erroneously + (BZ #30163) +- gmon-buffer-alloc.patch: gmon: Fix allocated buffer overflow + (bsc#1207975, BZ #29444) +- check-pf-cancel-handler.patch: __check_pf: Add a cancellation cleanup + handler (BZ #20975) +- powerpc64-fcntl-lock.patch: io: Fix F_GETLK, F_SETLK, and F_SETLKW for + powerpc64 +- realloc-limit-chunk-reuse.patch: realloc: Limit chunk reuse to only + growing requests (BZ #30579) +- dl-find-object-return.patch: elf: _dl_find_object may return 1 during + early startup (BZ #30515) + +------------------------------------------------------------------- +Mon Jul 3 16:31:17 UTC 2023 - Andreas Schwab + +- Need to build with GCC 12 as minimum + +------------------------------------------------------------------- +Thu Jun 29 13:05:55 UTC 2023 - Andreas Schwab + +- fix-locking-in-_IO_cleanup.patch: Update to final version + +------------------------------------------------------------------- +Fri Apr 28 23:42:47 UTC 2023 - Giuliano Belinassi + +- ulp-prologue-into-asm-functions.patch: Add support for livepatches in + ASM written functions (bsc#1210777, bsc#1211726) + +------------------------------------------------------------------- +Thu Mar 30 12:03:36 UTC 2023 - Andreas Schwab + +- getlogin-no-loginuid.patch: getlogin_r: fix missing fallback if loginuid + is unset (bsc#1209229, BZ #30235) + +------------------------------------------------------------------- +Thu Mar 16 15:41:56 UTC 2023 - Andreas Schwab + +- Exclude static archives from preparation for live patching (bnc#1208721) + +------------------------------------------------------------------- +Wed Feb 1 16:06:35 UTC 2023 - Andreas Schwab + +- Update to glibc 2.37 + * The getent tool now supports the --no-addrconfig option + * The dynamic linker no longer loads shared objects from the "tls" + subdirectories on the library search path or the subdirectory that + corresponds to the AT_PLATFORM system name, or employs the legacy AT_HWCAP + search mechanism, which was deprecated in version 2.33 +- printf-grouping.patch: Account for grouping in printf width (BZ #30068) +- strftime-time64.patch: Use 64-bit time_t interfaces in strftime and + strptime (BZ #30053) +- glibcextract-compile-c-snippet.patch, sys-mount-kernel-definition.patch, + sys-mount-usage.patch, nscd-netlink-cache-invalidation.patch, + syslog-large-messages.patch, dlmopen-libc-early-init.patch, + ldd-vdso-dependency.patch, syslog-extra-whitespace.patch, + errlist-edeadlock.patch, makeflags.patch, get-nscd-addresses.patch, + x86-64-avx2-string-functions.patch, nscd-aicache.patch, + dl-debug-bindings.patch, floatn.patch: Removed +- bsc#1207957 +- bsc#1208358 +- bsc#1212910 + +------------------------------------------------------------------- +Tue Dec 27 12:24:54 UTC 2022 - Ludwig Nussel + +- Remove reference to obsolete %usrmerged macro (boo#1206798) + +------------------------------------------------------------------- +Thu Dec 15 23:25:15 UTC 2022 - Andreas Schwab + +- floatn.patch: Update _FloatN header support for C++ in GCC 13 + +------------------------------------------------------------------- +Thu Nov 10 17:06:18 UTC 2022 - Callum Farmer + +- nscd: Convert to systemd-sysusers + +------------------------------------------------------------------- +Wed Oct 26 14:07:48 UTC 2022 - Andreas Schwab + +- dl-debug-bindings.patch: elf: Reinstate on DL_DEBUG_BINDINGS + _dl_lookup_symbol_x (bsc#1204710) + +------------------------------------------------------------------- +Wed Oct 5 07:53:24 UTC 2022 - Andreas Schwab + +- get-nscd-addresses.patch: get_nscd_addresses: Fix subscript typos (BZ + #29605) +- x86-64-avx2-string-functions.patch: check for required cpu features in + AVX2 string functions (BZ #29611) +- nscd-aicache.patch: nscd: Drop local address tuple variable (BZ #29607) + +------------------------------------------------------------------- +Wed Sep 21 08:47:52 UTC 2022 - Andreas Schwab + +- makeflags.patch: Makerules: fix MAKEFLAGS assignment for upcoming + make-4.4 (BZ# 29564) + +------------------------------------------------------------------- +Thu Sep 8 09:44:00 UTC 2022 - Andreas Schwab + +- errlist-edeadlock.patch: errlist: add missing entry for EDEADLOCK (BZ + #29545) + +------------------------------------------------------------------- +Tue Sep 6 11:22:46 UTC 2022 - Andreas Schwab + +- syslog-large-messages.patch: syslog: Fix large messages (CVE-2022-39046, + bsc#1203011, BZ #29536) +- dlmopen-libc-early-init.patch: elf: Call __libc_early_init for reused + namespaces (BZ #29528) +- ldd-vdso-dependency.patch: elf: Restore how vDSO dependency is printed + with LD_TRACE_LOADED_OBJECTS (BZ #29539) +- syslog-extra-whitespace.patch: syslog: Remove extra whitespace between + timestamp and message (BZ #29544) + +------------------------------------------------------------------- +Wed Aug 24 09:29:02 UTC 2022 - Fabian Vogt + +- nscd-netlink-cache-invalidation.patch: nscd: Fix netlink cache + invalidation if epoll is used (boo#1199964, BZ #29415) + +------------------------------------------------------------------- +Mon Aug 15 09:21:34 UTC 2022 - Andreas Schwab + +- glibcextract-compile-c-snippet.patch: glibcextract.py: Add + compile_c_snippet +- sys-mount-kernel-definition.patch: linux: Mimic kernel definition for + BLOCK_SIZE +- sys-mount-usage.patch: linux: Fix sys/mount.h usage with kernel headers + +------------------------------------------------------------------- +Tue Aug 2 07:41:38 UTC 2022 - Andreas Schwab + +- Update to glibc 2.36 + Major new features: + * Support for DT_RELR relative relocation format has been added to + glibc + * On Linux, the pidfd_open, pidfd_getfd, and pidfd_send_signal functions + have been added + * On Linux, the process_madvise function has been added + * On Linux, the process_mrelease function has been added + * The “no-aaaa” DNS stub resolver option has been added + * On Linux, the fsopen, fsmount, move_mount, fsconfig, fspick, open_tree, + and mount_setattr have been added + * localedef now accepts locale definition files encoded in UTF-8 + * Support for the mbrtoc8 and c8rtomb multibyte/UTF-8 character conversion + functions has been added per the ISO C2X N2653 and C++20 P0482R6 proposals + * The functions arc4random, arc4random_buf, and arc4random_uniform have been + added + Deprecated and removed features, and other changes affecting compatibility: + * Support for prelink will be removed in the next release + * The Linux kernel version check has been removed along with the + LD_ASSUME_KERNEL environment variable + * On Linux, The LD_LIBRARY_VERSION environment variable has been removed +- get-nprocs-sched-uninit-read.patch, get-nprocs-inaccurate.patch, + strcmp-rtm-fallback.path, pt-load-invalid-hole.patch, + localedef-ld-monetary.patch, nptl-spurious-eintr.patch, + strncpy-power9-vsx.patch, nptl-cleanup-async-restore.patch, + read-chk-cancel.patch, wcrtomb-fortify.patch, + nptl-cleanup-async-restore-2.patch: Removed +- CVE-2023-4813, bsc#1215286 +- bsc#1198751 +- bsc#1200334 + +------------------------------------------------------------------- +Thu Jul 14 11:21:34 UTC 2022 - Andreas Schwab + +- nptl-cleanup-async-restore-2.patch: nptl: Fix + ___pthread_unregister_cancel_restore asynchronous restore (bsc#1200093, + BZ #29214) + +------------------------------------------------------------------- +Thu Jun 23 09:46:45 UTC 2022 - Andreas Schwab + +- read-chk-cancel.patch: debug: make __read_chk a cancellation point + (bsc#1200682, BZ #29274) +- wcrtomb-fortify.patch: wcrtomb: Make behavior POSIX compliant + (bsc#1200688) + +------------------------------------------------------------------- +Thu Jun 9 12:01:07 UTC 2022 - Andreas Schwab + +- Set SUSE_ZNOW=0 + +------------------------------------------------------------------- +Wed Jun 8 13:32:57 UTC 2022 - Andreas Schwab + +- strncpy-power9-vsx.patch: powerpc: Fix VSX register number on + __strncpy_power9 (BZ #29197) +- nptl-cleanup-async-restore.patch: nptl: Fix __libc_cleanup_pop_restore + asynchronous restore (bsc#1200093, BZ #29214) + +------------------------------------------------------------------- +Tue May 17 14:07:46 UTC 2022 - Andreas Schwab + +- nptl-spurious-eintr.patch: nptl: Handle spurious EINTR when thread + cancellation is disabled (BZ #29029) + +------------------------------------------------------------------- +Thu May 12 14:33:56 UTC 2022 - Dominique Leuenberger + +- Follow the distro default gcc version to build the cross + bootstrap packages. + +------------------------------------------------------------------- +Fri Apr 29 10:48:30 UTC 2022 - Marcus Meissner + +- switched to https urls + +------------------------------------------------------------------- +Mon Feb 28 10:51:19 UTC 2022 - Andreas Schwab + +- get-nprocs-sched-uninit-read.patch: linux: __get_nprocs_sched: do not + feed CPU_COUNT_S with garbage (BZ #28850) +- get-nprocs-inaccurate.patch: linux: fix accuracy of get_nprocs and + get_nprocs_conf (BZ #28865) +- strcmp-rtm-fallback.path: x86: Fallback {str|wcs}cmp RTM in the ncmp + overflow case (BZ #28896) +- pt-load-invalid-hole.patch: elf: Check invalid hole in PT_LOAD segments + (BZ #28838) +- localedef-ld-monetary.patch: localedef: Update LC_MONETARY handling (BZ + #28845) + +------------------------------------------------------------------- +Thu Feb 3 11:52:01 UTC 2022 - Andreas Schwab + +- Update to glibc 2.35 + Major new features: + * Unicode 14.0.0 Support + * Bump r_version in the debugger interface to 2 + * Support for the C.UTF-8 locale has been added to glibc + * functions that round their results to a narrower type, and + corresponding macros, are added from TS 18661-1:2014, TS + 18661-3:2015 and draft ISO C2X + * functions for floating-point maximum and minimum, + corresponding to new operations in IEEE 754-2019, and corresponding + macros, are added from draft ISO C2X + * macros for single-precision float constants are added as a + GNU extension + * The __STDC_IEC_60559_BFP__ and __STDC_IEC_60559_COMPLEX__ macros are + predefined as specified in TS 18661-1:2014 + * The exp10 functions in now have a corresponding type-generic + macro in + * The ISO C2X macro _PRINTF_NAN_LEN_MAX has been added to + * printf-family functions now support the %b format for output of + integers in binary, as specified in draft ISO C2X, and the %B variant + of that format recommended by draft ISO C2X + * A new DSO sorting algorithm has been added in the dynamic linker that uses + topological sorting by depth-first search (DFS), solving performance issues + of the existing sorting algorithm when encountering particular circular + object dependency cases + * A new tunable, glibc.rtld.dynamic_sort, can be used to select between + the two DSO sorting algorithms + * ABI support for a new function '__memcmpeq'. '__memcmpeq' is meant + to be used by compilers for optimizing usage of 'memcmp' when its + return value is only used for its boolean status + * Support for automatically registering threads with the Linux rseq + system call has been added + * A symbolic link to the dynamic linker is now installed under + /usr/bin/ld.so (or more precisely, '${bindir}/ld.so') + * All programs and the testsuite in glibc are now built as position independent + executables (PIE) by default on toolchains and architectures that support it + * On Linux, a new tunable, glibc.malloc.hugetlb, can be used to + either make malloc issue madvise plus MADV_HUGEPAGE on mmap and sbrk + or to use huge pages directly with mmap calls with the MAP_HUGETLB + flags) + * The printf family of functions now handles the flagged %#m conversion + specifier, printing errno as an error constant (similar to strerrorname_np) + * The function _dl_find_object has been added + * On Linux, the epoll_pwait2 function has been added + * The function posix_spawn_file_actions_addtcsetpgrp_np has been added, + enabling posix_spawn and posix_spawnp to set the controlling terminal in + the new process in a race free manner + * Source fortification (_FORTIFY_SOURCE) level 3 is now available for + applications compiling with glibc and gcc 12 and later + Deprecated and removed features, and other changes affecting compatibility: + * On x86-64, the LD_PREFER_MAP_32BIT_EXEC environment variable support + has been removed since the first PT_LOAD segment is no longer executable + due to defaulting to -z separate-code + * The r_version update in the debugger interface makes the glibc binary + incompatible with GDB + * Intel MPX support (lazy PLT, ld.so profile, and LD_AUDIT) has been removed + * The catchsegv script and associated libSegFault.so shared object have + been removed + * Support for prelink will be removed in the next release; this includes + removal of the LD_TRACE_PRELINKING, and LD_USE_LOAD_BIAS, environment + variables and their functionality in the dynamic loader + Changes to build and runtime requirements: + * The audit module interface version LAV_CURRENT is increased to enable + proper bind-now support + * The audit interface on aarch64 is extended to support both the indirect + result location register (x8) and NEON Q register + Security related changes: + * CVE-2022-23219: Passing an overlong file name to the clnt_create + legacy function could result in a stack-based buffer overflow when + using the "unix" protocol + * CVE-2022-23218: Passing an overlong file name to the svcunix_create + legacy function could result in a stack-based buffer overflow + * CVE-2021-3998: Passing a path longer than PATH_MAX to the realpath + function could result in a memory leak and potential access of + uninitialized memory + * CVE-2021-3999: Passing a buffer of size exactly 1 byte to the getcwd + function may result in an off-by-one buffer underflow and overflow + when the current working directory is longer than PATH_MAX and also + corresponds to the / directory through an unprivileged mount + namespace +- copy-and-spawn-sgid-double-close.patch, + fcntl-time-bits-64-redirect.patch, gaiconf-init-double-free.patch, + gconv-parseconfdir-memory-leak.patch, getcwd-attribute-access.patch, + glibc-c-utf8-locale.patch, iconv-charmap-close-output.patch, + ld-show-auxv-colon.patch, ldconfig-leak-empty-paths.patch, + librt-null-pointer.patch, pthread-kill-fail-after-exit.patch, + pthread-kill-race-thread-exit.patch, pthread-kill-return-esrch.patch, + pthread-kill-send-specific-thread.patch, + pthread-mutexattr-getrobust-np-type.patch, + setxid-deadlock-blocked-signals.patch, + sysconf-nprocessors-affinity.patch, x86-string-control-test.patch: + Removed. +- bsc#1194640 +- bsc#1194768 +- bsc#1194770 +- bsc#1197718 +- bsc#1211829 +- bsc#1215891 + +------------------------------------------------------------------- +Fri Nov 26 13:38:02 UTC 2021 - Michael Matz + +- Enable building the cross packages in rings. + +------------------------------------------------------------------- +Wed Nov 16 17:22:28 UTC 2021 - Giuliano Belinassi + +- Add ExtraBuildFlags for build flags that cannot be passed to configure. +- Add support for livepatches (jsc#SLE-20049). +- Generate ipa-clones tarball artifact when livepatching is enabled. + +------------------------------------------------------------------- +Wed Nov 10 13:39:26 UTC 2021 - Andreas Schwab + +- glibc.rpmlintrc: Update for rpmlint2 + +------------------------------------------------------------------- +Tue Oct 5 10:58:00 UTC 2021 - Andreas Schwab + +- ld-show-auxv-colon.patch: elf: Fix missing colon in LD_SHOW_AUXV output + (BZ #282539 +- x86-string-control-test.patch: x86-64: Use testl to check + __x86_string_control +- pthread-kill-fail-after-exit.patch: nptl: pthread_kill, pthread_cancel + should not fail after exit (BZ #19193) +- pthread-kill-race-thread-exit.patch: nptl: Fix race between pthread_kill + and thread exit (BZ #12889) +- getcwd-attribute-access.patch: posix: Fix attribute access mode on + getcwd (BZ #27476) +- pthread-kill-return-esrch.patch: nptl: pthread_kill needs to return + ESRCH for old programs (BZ #19193) +- pthread-mutexattr-getrobust-np-type.patch: nptl: Fix type of + pthread_mutexattr_getrobust_np, pthread_mutexattr_setrobust_np (BZ + #28036) +- setxid-deadlock-blocked-signals.patch: nptl: Avoid setxid deadlock with + blocked signals in thread exit (BZ #28361) +- pthread-kill-send-specific-thread.patch: nptl: pthread_kill must send + signals to a specific thread (BZ #28407) +- sysconf-nprocessors-affinity.patch: linux: Revert the use of + sched_getaffinity on get_nproc (BZ #28310) +- iconv-charmap-close-output.patch: renamed from + icon-charmap-close-output.patch + +------------------------------------------------------------------- +Wed Aug 11 12:56:09 UTC 2021 - Andreas Schwab + +- Don't create separate debuginfo packages for cross packages + +------------------------------------------------------------------- +Wed Aug 11 12:23:10 UTC 2021 - Andreas Schwab + +- ldconfig-leak-empty-paths.patch: ldconfig: avoid leak on empty paths in + config file +- gconv-parseconfdir-memory-leak.patch: gconv_parseconfdir: Fix memory leak +- gaiconf-init-double-free.patch: gaiconf_init: Avoid double-free in label + and precedence lists +- copy-and-spawn-sgid-double-close.patch: copy_and_spawn_sgid: Avoid + double calls to close() +- icon-charmap-close-output.patch: iconv_charmap: Close output file when + done +- fcntl-time-bits-64-redirect.patch: Linux: Fix fcntl, ioctl, prctl + redirects for _TIME_BITS=64 (BZ #28182) +- librt-null-pointer.patch: librt: fix NULL pointer dereference (BZ + #28213) + +------------------------------------------------------------------- +Tue Aug 10 13:18:54 UTC 2021 - Michael Matz + +- Add cross development packages for aarch64 and riscv64. + +------------------------------------------------------------------- +Mon Aug 2 09:38:46 UTC 2021 - Andreas Schwab + +- Update to glibc 2.34 + Major new features: + * When _DYNAMIC_STACK_SIZE_SOURCE or _GNU_SOURCE are defined, + PTHREAD_STACK_MIN is no longer constant and is redefined to + sysconf(_SC_THREAD_STACK_MIN) + * Add _SC_MINSIGSTKSZ and _SC_SIGSTKSZ + * The dynamic linker implements the --list-diagnostics option, printing + a dump of information related to IFUNC resolver operation and + glibc-hwcaps subdirectory selection + * On Linux, the function execveat has been added + * The ISO C2X function timespec_getres has been added + * The feature test macro __STDC_WANT_IEC_60559_EXT__, from draft ISO + C2X, is supported to enable declarations of functions defined in Annex F + of C2X + * Add support for 64-bit time_t on configurations like x86 where time_t + is traditionally 32-bit + * The main gconv-modules file in glibc now contains only a small set of + essential converter modules and the rest have been moved into a supplementary + configuration file gconv-modules-extra.conf in the gconv-modules.d directory + in the same GCONV_PATH + * On Linux, a new tunable, glibc.pthread.stack_cache_size, can be used + to configure the size of the thread stack cache + * The function _Fork has been added as an async-signal-safe fork replacement + since Austin Group issue 62 droped the async-signal-safe requirement for + fork (and it will be included in the future POSIX standard) + * On Linux, the close_range function has been added + * The function closefrom has been added + * The posix_spawn_file_actions_closefrom_np function has been added, enabling + posix_spawn and posix_spawnp to close all file descriptors great than or + equal to a giver integer + Deprecated and removed features, and other changes affecting compatibility: + * The function pthread_mutex_consistent_np has been deprecated + * The function pthread_mutexattr_getrobust_np has been deprecated + * The function pthread_mutexattr_setrobust_np has been deprecated + * The function pthread_yield has been deprecated + * The function inet_neta declared in has been deprecated + * Various rarely-used functions declared in and + have been deprecated + * The pthread cancellation handler is now installed with SA_RESTART and + pthread_cancel will always send the internal SIGCANCEL on a cancellation + request + * The symbols mallwatch and tr_break are now deprecated and no longer used in + mtrace + * The __morecore and __after_morecore_hook malloc hooks and the default + implementation __default_morecore have been removed from the API + * Debugging features in malloc such as the MALLOC_CHECK_ environment variable + (or the glibc.malloc.check tunable), mtrace() and mcheck() have now been + disabled by default in the main C library + * The deprecated functions malloc_get_state and malloc_set_state have been + moved from the core C library into libc_malloc_debug.so + * The deprecated memory allocation hooks __malloc_hook, __realloc_hook, + __memalign_hook and __free_hook are now removed from the API + Changes to build and runtime requirements: + * On Linux, the shm_open, sem_open, and related functions now expect the + file shared memory file system to be mounted at /dev/shm + Security related changes: + CVE-2021-27645: The nameserver caching daemon (nscd), when processing + a request for netgroup lookup, may crash due to a double-free, + potentially resulting in degraded service or Denial of Service on the + local system + CVE-2021-33574: The mq_notify function has a potential use-after-free + issue when using a notification type of SIGEV_THREAD and a thread + attribute with a non-default affinity mask + CVE-2021-35942: The wordexp function may overflow the positional + parameter number when processing the expansion resulting in a crash +- nss-database-check-reload.patch, nss-load-chroot.patch, + x86-isa-level.patch, nscd-netgroupcache.patch, + nss-database-lookup.patch, select-modify-timeout.patch, + nptl-db-libpthread-load-order.patch, rawmemchr-warning.patch, + tst-cpu-features-amx.patch, mq-notify-use-after-free.patch: Removed +- bsc#1181403 +- bsc#1184035 +- bsc#1187911 +- jsc#PED-987 + +------------------------------------------------------------------- +Fri Jun 11 11:42:10 UTC 2021 - Ludwig Nussel + +- Enable usrmerge in Factory always as it's default there +- Add conflict with pre-usrmerge filesystem package + +------------------------------------------------------------------- +Thu Jun 10 13:24:39 UTC 2021 - Andreas Schwab + +- mq-notify-use-after-free.patch: Use __pthread_attr_copy in mq_notify + (CVE-2021-33574, bsc#1186489, BZ #27896) +- Drop glibc-usrmerge-bootstrap-helper package + +------------------------------------------------------------------- +Thu May 27 18:05:05 UTC 2021 - Andreas Schwab + +- tst-cpu-features-amx.patch: x86: tst-cpu-features-supports.c: Update AMX + check + +------------------------------------------------------------------- +Wed May 26 09:55:50 UTC 2021 - Andreas Schwab + +- rawmemchr-warning.patch: string: Work around GCC PR 98512 in rawmemchr + +------------------------------------------------------------------- +Tue May 4 12:19:24 UTC 2021 - Andreas Schwab + +- nptl-db-libpthread-load-order.patch: nptl_db: Support different + libpthread/ld.so load orders (bsc#1184214, BZ #27744) + +------------------------------------------------------------------- +Tue Apr 13 11:44:37 UTC 2021 - Andreas Schwab + +- Enable support for static PIE (bsc#1184646) +- select-modify-timeout.patch: linux: always update select timeout + (bsc#1184339, BZ #27706) + +------------------------------------------------------------------- +Tue Mar 23 16:55:51 UTC 2021 - Andreas Schwab + +- Don't remove -f[asynchronous-]unwind-tables during configure run, no + longer needed + +------------------------------------------------------------------- +Mon Mar 8 10:43:30 UTC 2021 - Andreas Schwab + +- nss-database-check-reload.patch: nsswitch: return result when nss + database is locked (BZ #27343) +- nss-load-chroot.patch: nss: Re-enable NSS module loading after chroot + (bsc#1182323, BZ #27389) +- x86-isa-level.patch: x86: Set minimum x86-64 level marker (bsc#1182522, + BZ #27318) +- nss-database-lookup.patch: nss: fix nss_database_lookup2's alternate + handling (bsc#1182247, BZ #27416) +- nss-revert-api.patch: remove +- nscd-netgroupcache.patch: nscd: Fix double free in netgroupcache + (CVE-2021-27645, bsc#1182733, BZ #27462) + +------------------------------------------------------------------- +Tue Mar 2 11:57:15 UTC 2021 - Andreas Schwab + +- Disable x86 ISA level for now (bsc#1182522, BZ #27318) +- nss-revert-api.patch: Workaround for nss-compat brokeness (bsc#1182247, + BZ #27416) + +------------------------------------------------------------------- +Mon Mar 1 16:43:55 UTC 2021 - Andreas Schwab + +- Fix build of utils flavor for usrmerge + +------------------------------------------------------------------- +Thu Feb 18 11:29:12 UTC 2021 - Andreas Schwab + +- Prepare for usrmerge (bsc#1029961) + +------------------------------------------------------------------- +Tue Feb 16 13:52:50 UTC 2021 - Guillaume GARDET + +- Add --enable-memory-tagging for aarch64 + +------------------------------------------------------------------- +Tue Feb 2 09:33:28 UTC 2021 - Andreas Schwab + +- Update to glibc 2.33 + * The dynamic linker accepts the --list-tunables argument which prints + all the supported tunables. + * The dynamic linker accepts the --argv0 argument and provides opportunity + to change argv[0] string. + * The dynamic linker loads optimized implementations of shared objects + from subdirectories under the glibc-hwcaps directory on the library + search path if the system's capabilities meet the requirements for + that subdirectory. + * The new --help option of the dynamic linker provides usage and + information and library search path diagnostics. + * The mallinfo2 function is added to report statistics as per mallinfo, + but with larger field widths to accurately report values that are + larger than fit in an integer. + * Add to provide query macros for x86 CPU features. + * A new fortification level _FORTIFY_SOURCE=3 is available. + * The mallinfo function is marked deprecated. + * When dlopen is used in statically linked programs, alternative library + implementations from HWCAP subdirectories are no longer loaded. + * The deprecated header and the function vtimes have been + removed. + * On s390(x), the type float_t is now derived from the macro + __FLT_EVAL_METHOD__ that is defined by the compiler, instead of being + hardcoded to double. + * A future version of glibc will stop loading shared objects from the + "tls" subdirectories on the library search path, the subdirectory that + corresponds to the AT_PLATFORM system name, and also stop employing + the legacy AT_HWCAP search mechanism. + * CVE-2021-3326: An assertion failure during conversion from the + ISO-20220-JP-3 character set using the iconv function has been fixed. +- Remove obsolete, unused /etc/default/nss +- aarch64-static-pie.patch, euc-kr-overrun.patch, + get-nprocs-cpu-online-parsing.patch, iconv-redundant-shift.patch, + iconv-ucs4-loop-bounds.patch, ifunc-fma4.patch, + intl-codeset-suffixes.patch, nscd-gc-cycle.patch, + printf-long-double-non-normal.patch, strerrorname-np.patch, + syslog-locking.patch, sysvipc.patch: Removed +- bsc#1180557 +- bsc#1181505 +- bsc#1191592 +- bsc#1201942 + +------------------------------------------------------------------- +Tue Jan 19 13:52:09 UTC 2021 - Andreas Schwab + +- Remove support for %optimize_power +- Move to power4 baseline on ppc + +------------------------------------------------------------------- +Tue Dec 15 16:41:29 UTC 2020 - Andreas Schwab + +- aarch64-static-pie.patch: fix static PIE start code for BTI + (bsc#1179450, BZ #27068) +- iconv-redundant-shift.patch: iconv: Accept redundant shift sequences in + IBM1364 (CVE-2020-27618, bsc#1178386, BZ #26224) +- iconv-ucs4-loop-bounds.patch: iconv: Fix incorrect UCS4 inner loop + bounds (CVE-2020-29562, bsc#1179694, BZ #26923) +- printf-long-double-non-normal.patch: x86: Harden printf against + non-normal long double values (CVE-2020-29573, bsc#1179721, BZ #26649) +- get-nprocs-cpu-online-parsing.patch: Fix parsing of + /sys/devices/system/cpu/online (bsc#1180038, BZ #25859) + +------------------------------------------------------------------- +Tue Nov 10 15:36:40 UTC 2020 - Andreas Schwab + +- intl-codeset-suffixes.patch: intl: Handle translation output codesets + with suffixes (BZ #26383) +- strerrorname-np.patch: string: Fix strerrorname_np return value (BZ + #26555) +- sysvipc.patch: sysvipc: Fix SEM_STAT_ANY kernel argument pass (BZ + #26637, BZ #26639, BZ #26636) + +------------------------------------------------------------------- +Mon Oct 26 07:07:38 UTC 2020 - Richard Biener + +- Use --enable-cet on x86_64 to instrument glibc for indirect branch + tracking and shadow stack use. Enable indirect branch tracking + and shadow stack in the dynamic loader (jsc#PM-2110, bsc#1175154) + +------------------------------------------------------------------- +Tue Sep 8 08:00:33 UTC 2020 - Andreas Schwab + +- Keep nsswitch.conf in /etc for SLES15 +- syslog-locking.patch: Correct locking and cancellation cleanup in syslog + functions (bsc#1172085, BZ #26100) +- ifunc-fma4.patch: x86-64: Fix FMA4 detection in ifunc (BZ #26534) + +------------------------------------------------------------------- +Thu Aug 6 08:08:04 UTC 2020 - Andreas Schwab + +- Update to glibc 2.32 + * Unicode 13.0.0 Support + * New locale added: ckb_IQ + * The GNU C Library now loads audit modules listed in the DT_AUDIT and + DT_DEPAUDIT dynamic section entries of the main executable + * powerpc64le supports IEEE128 long double libm/libc redirects when + using the -mabi=ieeelongdouble to compile C code on supported GCC + toolchains + * To help detect buffer overflows and other out-of-bounds accesses + several APIs have been annotated with GCC 'access' attribute + * On Linux, functions the pthread_attr_setsigmask_np and + pthread_attr_getsigmask_np have been added + * The GNU C Library now provides the header file + which declares the variable __libc_single_threaded + * The functions sigabbrev_np and sigdescr_np have been added + * The functions strerrorname_np and strerrordesc_np have been added + * AArch64 now supports standard branch protection security hardening + in glibc when it is built with a GCC that is configured with + --enable-standard-branch-protection (or if -mbranch-protection=standard + flag is passed when building both GCC target libraries and glibc, + in either case a custom GCC is needed) + * The deprecated header and the sysctl function have been + removed + * The sstk function is no longer available to newly linked binaries + * The legacy signal handling functions siginterrupt, sigpause, sighold, + sigrelse, sigignore and sigset, and the sigmask macro have been + deprecated + * ldconfig now defaults to the new format for ld.so.cache + * The deprecated arrays sys_siglist, _sys_siglist, and sys_sigabbrev + are no longer available to newly linked binaries, and their declarations + have been removed from + * The deprecated symbols sys_errlist, _sys_errlist, sys_nerr, and _sys_nerr + are no longer available to newly linked binaries, and their declarations + have been removed from from + * Both strerror and strerror_l now share the same internal buffer in the + calling thread, meaning that the returned string pointer may be invalided + or contents might be overwritten on subsequent calls in the same thread or + if the thread is terminated + * Using weak references to libpthread functions such as pthread_create + or pthread_key_create to detect the singled-threaded nature of a + program is an obsolescent feature + * The "files" NSS module no longer supports the "key" database (used for + secure RPC) + * The __morecore and __after_morecore_hook malloc hooks and the default + implementation __default_morecore have been deprecated + * The hesiod NSS module has been deprecated and will be removed in a + future version of glibc + * CVE-2016-10228: An infinite loop has been fixed in the iconv program when + invoked with the -c option and when processing invalid multi-byte input + sequences + * CVE-2020-10029: Trigonometric functions on x86 targets suffered from stack + corruption when they were passed a pseudo-zero argument + * CVE-2020-1752: A use-after-free vulnerability in the glob function when + expanding ~user has been fixed. + * CVE-2020-6096: A signed comparison vulnerability in the ARMv7 memcpy and + memmove functions has been fixed +- riscv-syscall-clobber.patch, ldbl-96-rem-pio2l.patch, + long-double-alias.patch: Removed +- bsc#1027496 +- bsc#1162930 +- bsc#1166106 +- bsc#1167631 +- bsc#1167939 +- bsc#1194785, jsc#SLE-18195 +- bsc#1200855 +- bsc#1201560 +- bsc#1201640 +- bsc#1207571 +- jsc#SLE-13520 + +------------------------------------------------------------------- +Tue Jun 23 08:32:23 UTC 2020 - Andreas Schwab + +- long-double-alias.patch: Fix build with GCC 10 when long double = double +- nscd-gc-cycle.patch: nscd: bump GC cycle during cache pruning + (bsc#1171878, BZ #26130) + +------------------------------------------------------------------- +Mon May 18 12:25:49 UTC 2020 - Andreas Schwab + +- glibc-nsswitch-usr.diff: read /usr/etc/nsswitch.conf if + /etc/nsswitch.conf does not exist +- Install default nsswitch.conf in /usr/etc +- Don't install gai.conf in /etc + +------------------------------------------------------------------- +Mon Apr 20 12:43:19 UTC 2020 - Andreas Schwab + +- Split off %lang_package + +------------------------------------------------------------------- +Thu Mar 12 10:21:15 UTC 2020 - Andreas Schwab + +- riscv-syscall-clobber.patch: riscv: Avoid clobbering register parameters + in syscall +- ldbl-96-rem-pio2l.patch: Avoid ldbl-96 stack corruption from range + reduction of pseudo-zero (CVE-2020-10029, bsc#1165784, BZ #25487) + +------------------------------------------------------------------- +Tue Feb 18 12:41:56 UTC 2020 - Andreas Schwab + +- nsswitch.conf: comment out initgroups setting, so that it defaults to + the group setting (bsc#1164075) + +------------------------------------------------------------------- +Thu Feb 13 14:16:05 UTC 2020 - Andreas Schwab + +- fix-locking-in-_IO_cleanup.patch: update to latest version + +------------------------------------------------------------------- +Mon Feb 3 08:13:02 UTC 2020 - Andreas Schwab + +- Update to glibc 2.31 + * The GNU C Library now supports a feature test macro _ISOC2X_SOURCE to + enable features from the draft ISO C2X standard + * The functions that round their results to a narrower type now + have corresponding type-generic macros in + * The function pthread_clockjoin_np has been added, enabling join with a + terminated thread with a specific clock + * New locale added: mnw_MM (Mon language spoken in Myanmar). + * The DNS stub resolver will optionally send the AD (authenticated data) bit + in queries if the trust-ad option is set via the options directive in + /etc/resolv.conf (or if RES_TRUSTAD is set in _res.options) + * The totalorder and totalordermag functions, and the corresponding + functions for other floating-point types, now take pointer arguments to + avoid signaling NaNs possibly being converted to quiet NaNs in argument + passing + * The obsolete function stime is no longer available to newly linked + binaries, and its declaration has been removed from + * The gettimeofday function no longer reports information about a + system-wide time zone + * If a lazy binding failure happens during dlopen, during the execution of + an ELF constructor, the process is now terminated +- malloc-info-whitespace.patch, riscv-vfork.patch, + prefer-map-32bit-exec.patch, backtrace-powerpc.patch, + ldconfig-dynstr.patch: Removed. +- bsc#1157893 +- bsc#1163184 +- fate#325815, fate#325879, fate#325880, fate#325881, fate#325882 +- fate#325962 + +------------------------------------------------------------------- +Tue Jan 21 15:08:13 UTC 2020 - Andreas Schwab + +- backtrace-powerpc.patch: Fix array overflow in backtrace on PowerPC + (CVE-2020-1751, bsc#1158996, BZ #25423) +- Drop support for pluggable gconv modules (bsc#1159851) + +------------------------------------------------------------------- +Mon Dec 9 13:21:34 UTC 2019 - Andreas Schwab + +- prefer-map-32bit-exec.patch: rtld: Check __libc_enable_secure before + honoring LD_PREFER_MAP_32BIT_EXEC (CVE-2019-19126, bsc#1157292, BZ + #25204) + +------------------------------------------------------------------- +Tue Nov 26 11:34:45 CET 2019 - kukuk@suse.de + +- nsswitch.conf: add usrfiles for services, protocols, rpc, ethers + and aliases for /usr/etc move + +------------------------------------------------------------------- +Mon Oct 14 13:36:30 UTC 2019 - Andreas Schwab + +- euc-kr-overrun.patch: Fix buffer overrun in EUC-KR conversion module + (CVE-2019-25013, BZ #24973) + +------------------------------------------------------------------- +Thu Oct 10 14:39:24 UTC 2019 - Andreas Schwab + +- ldconfig-dynstr.patch: ldconfig: handle .dynstr located in separate + segment (bsc#1153149, BZ #25087) + +------------------------------------------------------------------- +Mon Sep 23 14:00:09 UTC 2019 - Andreas Schwab + +- Package gconv-modules.cache as %ghost +- Regenerate it also in the %post of glibc-local-base- + +------------------------------------------------------------------- +Mon Sep 23 13:01:24 UTC 2019 - Ludwig Nussel + +- move mo files to glibc-locale as that's where all the other + informations for those locales are. glibc-locale-base only has English + anyways. + +------------------------------------------------------------------- +Wed Sep 18 13:57:25 UTC 2019 - Andreas Schwab + +- riscv-vfork.patch: Fix RISC-V vfork build with Linux 5.3 kernel headers + +------------------------------------------------------------------- +Mon Aug 19 13:47:26 UTC 2019 - Andreas Schwab + +- Remove NoSource tags (bsc#994835) + +------------------------------------------------------------------- +Mon Aug 19 15:40:19 CEST 2019 - kukuk@suse.de + +- pwdutils is long gone and replaced by shadow + +------------------------------------------------------------------- +Fri Aug 2 08:59:46 UTC 2019 - Andreas Schwab + +- Update to glibc 2.30 + * Unicode 12.1.0 Support + * The dynamic linker accepts the --preload argument to preload shared + objects + * The twalk_r function has been added + * On Linux, the getdents64, gettid, and tgkill functions have been added + * Minguo (Republic of China) calendar support has been added + * The entry for the new Japanese era has been added + * Memory allocation functions malloc, calloc, realloc, reallocarray, valloc, + pvalloc, memalign, and posix_memalign fail now with total object size + larger than PTRDIFF_MAX + * The dynamic linker no longer refuses to load objects which reference + versioned symbols whose implementation has moved to a different soname + since the object has been linked + * Add new POSIX-proposed pthread_cond_clockwait, pthread_mutex_clocklock, + pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock and sem_clockwait + functions + * On AArch64 the GNU IFUNC resolver call ABI changed + * The copy_file_range function fails with ENOSYS if the kernel does not + support the system call of the same name + * The functions clock_gettime, clock_getres, clock_settime, + clock_getcpuclockid, clock_nanosleep were removed from the librt library + for new applications (on architectures which had them) + * The obsolete and never-implemented XSI STREAMS header files + and have been removed + * Support for the "inet6" option in /etc/resolv.conf and the RES_USE_INET6 + resolver flag (deprecated in glibc 2.25) have been removed + * The obsolete RES_INSECURE1 and RES_INSECURE2 option flags for the DNS stub + resolver have been removed from + * With --enable-bind-now, installed programs are now linked with the + BIND_NOW flag. + * On 32-bit Arm, support for the port-based I/O emulation and the + header have been removed + * The Linux-specific header and the sysctl function have been + deprecated and will be removed from a future version of glibc + * CVE-2019-7309: x86-64 memcmp used signed Jcc instructions to check + size + * CVE-2019-9169: Attempted case-insensitive regular-expression match + via proceed_next_node in posix/regexec.c leads to heap-based buffer + over-read +- pthread-rwlock-trylock-stalls.patch, + arm-systemtap-probe-constraint.patch, pthread-mutex-barrier.patch, + fork-handler-lock.patch, pthread-join-probe.patch, + riscv-clone-unwind.patch, add-new-Fortran-vector-math-header-file.patch, + regex-read-overrun.patch, japanese-era-name-may-2019.patch, + dl-show-auxv.patch, s390-vx-vxe-hwcap.patch, taisho-era-string.patch, + malloc-tracing-hooks.patch, pldd-inf-loop.patch, + malloc-large-bin-corruption-check.patch, wfile-sync-crash.patch, + malloc-tests-warnings.patch, fnmatch-collating-elements.patch, + iconv-reset-input-buffer.patch: Removed +- malloc-info-whitespace.patch: Remove unwanted leading whitespace in + malloc_info (BZ #24867) +- bsc#1100396 +- bsc#1130045 + +------------------------------------------------------------------- +Wed Jul 17 09:47:02 UTC 2019 - Andreas Schwab + +- Move /var/lib/misc/Makefile to /usr/share/misc/Makefile.makedb (bsc#1138726) + +------------------------------------------------------------------- +Wed Jun 26 07:41:20 UTC 2019 - Andreas Schwab + +- malloc-tests-warnings.patch: Fix warnings in malloc tests with GCC 9 + +------------------------------------------------------------------- +Tue Jun 25 07:30:13 UTC 2019 - Martin Liška + +- Set optflags for i686 after _lto_cflags is set (boo#1138807). + +------------------------------------------------------------------- +Thu Jun 20 10:02:20 UTC 2019 - Martin Liška + +- Disable LTO due to a usage of top-level assembler that + causes LTO issues (boo#1138807). + +------------------------------------------------------------------- +Wed Jun 12 12:10:59 UTC 2019 - Andreas Schwab + +- nss-files-long-lines-2.patch: Remove obsolete patch + +------------------------------------------------------------------- +Wed May 15 15:55:36 UTC 2019 - Andreas Schwab + +- dl-show-auxv.patch: Fix output of LD_SHOW_AUXV=1 +- s390-vx-vxe-hwcap.patch: S390: Mark vx and vxe as important hwcap +- taisho-era-string.patch: ja_JP: Change the offset for Taisho gan-nen + from 2 to 1 (BZ #24162) +- malloc-tracing-hooks.patch: malloc: Set and reset all hooks for tracing + (BZ #16573) +- pldd-inf-loop.patch: elf: Fix pldd (BZ#18035) +- malloc-large-bin-corruption-check.patch: malloc: Check for large bin + list corruption when inserting unsorted chunk (BZ #24216) +- wfile-sync-crash.patch: Fix crash in _IO_wfile_sync (BZ #20568) + +------------------------------------------------------------------- +Wed Apr 3 14:56:02 UTC 2019 - Andreas Schwab + +- japanese-era-name-may-2019.patch: ja_JP locale: Add entry for the new + Japanese era (BZ #22964) +- Replace glibc_post_upgrade with lua script + +------------------------------------------------------------------- +Thu Mar 7 09:01:37 UTC 2019 - Andreas Schwab + +- add-new-Fortran-vector-math-header-file.patch: Update from upstream + +------------------------------------------------------------------- +Tue Mar 5 10:38:30 UTC 2019 - Andreas Schwab + +- regex-read-overrun.patch: fix read overrun (CVE-2019-9169, bsc#1127308, + BZ #24114) +- ldconfig-concurrency.patch: Avoid concurrency problem in ldconfig + (bsc#1117993, BZ #23973) + +------------------------------------------------------------------- +Thu Feb 21 08:37:00 UTC 2019 - Martin Liška + +- Add add-new-Fortran-vector-math-header-file.patch. + +------------------------------------------------------------------- +Mon Feb 18 09:28:08 UTC 2019 - schwab@suse.de + +- pthread-rwlock-trylock-stalls.patch: nptl: Fix pthread_rwlock_try*lock + stalls (BZ #23844) +- arm-systemtap-probe-constraint.patch: arm: Use "nr" constraint for + Systemtap probes (BZ #24164) +- pthread-mutex-barrier.patch: Add compiler barriers around modifications + of the robust mutex list for pthread_mutex_trylock (BZ #24180) +- fork-handler-lock.patch: nptl: Avoid fork handler lock for + async-signal-safe fork (BZ #24161) +- pthread-join-probe.patch: nptl: Fix invalid Systemtap probe in + pthread_join (BZ #24211) +- riscv-clone-unwind.patch: RISC-V: Fix elfutils testsuite unwind failures + (BZ #24040) + +------------------------------------------------------------------- +Fri Feb 1 10:34:39 UTC 2019 - schwab@suse.de + +- Update to glibc 2.29 + * The getcpu wrapper function has been added, which returns the currently + used CPU and NUMA node + * Optimized generic exp, exp2, log, log2, pow, sinf, cosf, sincosf and tanf + * The reallocarray function is now declared under _DEFAULT_SOURCE, not just + for _GNU_SOURCE, to match BSD environments + * For powercp64le ABI, Transactional Lock Elision is now enabled iff kernel + indicates that it will abort the transaction prior to entering the kernel + (PPC_FEATURE2_HTM_NOSC on hwcap2) + * The functions posix_spawn_file_actions_addchdir_np and + posix_spawn_file_actions_addfchdir_np have been added, enabling + posix_spawn and posix_spawnp to run the new process in a different + directory + * The popen and system do not run atfork handlers anymore (BZ#17490) + * strftime's default formatting of a locale's alternative year (%Ey) + has been changed to zero-pad the year to a minimum of two digits, + like "%y" + * As a GNU extension, the '_' and '-' flags can now be applied to + "%EY" to control how the year number is formatted + * The glibc.tune tunable namespace has been renamed to glibc.cpu and the + tunable glibc.tune.cpu has been renamed to glibc.cpu.name + * The type of the pr_uid and pr_gid members of struct elf_prpsinfo, defined + in , has been corrected to match the type actually used by + the Linux kernel + * An archaic GNU extension to scanf, under which '%as', '%aS', and '%a[...]' + meant to scan a string and allocate space for it with malloc, is now + restricted to programs compiled in C89 or C++98 mode with _GNU_SOURCE + defined +- unwind-ctor.patch, old-getdents64.patch, nss-files-leak.patch, + riscv-feholdexcept-setround.patch, + pthread-cond-broadcast-waiters-after-spinning.patch, + regex-uninit-memory-access.patch, spawni-maybe-script-execute.patch, + gethostid-gethostbyname-failure.patch, strstr-huge-needle.patch, + pthread-mutex-lock-elision-race.patch, x86-haswell-string-flags.patch, + if-nametoindex-descr-leak.patch, riscv-flush-icache.patch: Removed +- CVE-2016-10739 +- bsc#1114984 +- bsc#1114993 +- bsc#1122729 +- bsc#1131330 +- bsc#1149332 +- bsc#1151582 +- bsc#1164505 + +------------------------------------------------------------------- +Wed Jan 9 14:21:04 UTC 2019 - schwab@suse.de + +- fnmatch-collating-elements.patch: update +- riscv-flush-icache.patch: fix for compiling against 4.20 headers + +------------------------------------------------------------------- +Wed Nov 28 09:52:49 UTC 2018 - schwab@suse.de + +- if-nametoindex-descr-leak.patch: if_nametoindex: Fix descriptor leak for + overlong name (CVE-2018-19591, BZ #23927, bsc#1117603) + +------------------------------------------------------------------- +Wed Nov 7 17:24:35 UTC 2018 - Jan Engelhardt + +- Fix typography for glibc-locale-base. + +------------------------------------------------------------------- +Wed Nov 7 11:09:05 UTC 2018 - schwab@suse.de + +- pthread-mutex-lock-elision-race.patch: Fix race in pthread_mutex_lock + while promoting to PTHREAD_MUTEX_ELISION_NP (BZ #23275) +- x86-haswell-string-flags.patch: x86: Fix Haswell CPU string flags (BZ + #23709) + +------------------------------------------------------------------- +Wed Sep 26 09:41:59 UTC 2018 - schwab@suse.de + +- unwind-ctor.patch: Add missing unwind information to ld.so on powerpc32 + (BZ #23707) +- old-getdents64.patch: Rewrite __old_getdents64 (BZ #23497) +- nss-files-leak.patch: Fix file stream leak in aliases lookup (BZ #23521) +- riscv-feholdexcept-setround.patch: Fix rounding save/restore bug +- pthread-cond-broadcast-waiters-after-spinning.patch: Fix + waiters-after-spinning case (BZ #23538) +- regex-uninit-memory-access.patch: fix uninitialized memory access (BZ + #23578) +- spawni-maybe-script-execute.patch: Fix segfault in maybe_script_execute +- gethostid-gethostbyname-failure.patch: Check for NULL value from + gethostbyname_r (BZ #23679) +- strstr-huge-needle.patch: Fix strstr bug with huge needles (BZ #23637) + +------------------------------------------------------------------- +Wed Sep 12 06:47:33 UTC 2018 - schwab@suse.de + +- Add libpng-devel and zlib-devel for utils build + +------------------------------------------------------------------- +Wed Aug 15 13:53:41 UTC 2018 - schwab@suse.de + +- Add glibc-locale-base subpackage containing only C, C.UTF-8 and + en_US.UTF-8 locales (fate#326551) + +------------------------------------------------------------------- +Thu Aug 2 07:48:07 UTC 2018 - schwab@suse.de + +- Update to glibc 2.28 + * The localization data for ISO 14651 is updated to match the 2016 + Edition 4 release of the standard, this matches data provided by + Unicode 9.0.0 + * Unicode 11.0.0 Support: Character encoding, character type info, and + transliteration tables are all updated to Unicode 11.0.0, using + generator scripts contributed by Mike FABIAN (Red Hat) + * functions that round their results to a narrower type are added + from TS 18661-1:2014 and TS 18661-3:2015 + * Two grammatical forms of month names are now supported + * The renameat2 function has been added, a variant of the renameat function + which has a flags argument + * The statx function has been added, a variant of the fstatat64 + function with an additional flags argument + * IDN domain names in getaddrinfo and getnameinfo now use the system libidn2 + library if installed + * Parsing of dynamic string tokens in DT_RPATH, DT_RUNPATH, DT_NEEDED, + DT_AUXILIARY, and DT_FILTER has been expanded to support the full + range of ELF gABI expressions including such constructs as + '$ORIGIN$ORIGIN' (if valid) + * Support for ISO C threads (ISO/IEC 9899:2011) has been added. + * The nonstandard header files and <_G_config.h> are no longer + installed + * The stdio functions 'getc' and 'putc' are no longer defined as macros + * All stdio functions now treat end-of-file as a sticky condition + * The macros 'major', 'minor', and 'makedev' are now only available from + the header + * The obsolete function ustat is no longer available to newly linked + binaries; the headers and have been removed + * The obsolete function nfsservctl is no longer available to newly linked + binaries + * The obsolete function name llseek is no longer available to newly linked + binaries + * The AI_IDN_ALLOW_UNASSIGNED and NI_IDN_ALLOW_UNASSIGNED flags for the + getaddrinfo and getnameinfo functions have been deprecated + * The AI_IDN_USE_STD3_ASCII_RULES and NI_IDN_USE_STD3_ASCII_RULES flags for + the getaddrinfo and getnameinfo functions have been deprecated + * The fcntl function now have a Long File Support variant named fcntl64 + * CVE-2016-6261, CVE-2016-6263, CVE-2017-14062: Various vulnerabilities have + been fixed by removing the glibc-internal IDNA implementation and using + the system-provided libidn2 library instead +- Split off all libcrypt related functions into package libxcrypt +- fix-locking-in-_IO_cleanup.patch, fnmatch-collating-elements.patch: + Rediff +- aarch64-sys-ptrace-update.patch, + crypt_blowfish-1.2-hack_around_arm.diff, crypt_blowfish-1.2-sha.diff, + crypt_blowfish-const.patch, crypt_blowfish-gensalt.patch, + glibc-2.14-crypt.diff, i386-memmove-sse2-unaligned.patch, + i386-sigaction-sa-restorer.patch, mempcpy-avx512.patch, + netgroup-cache-keys.patch, nss-database-multiple-dfn.patch, + pkey-get-reserved-name.patch, powerpc-sys-ptrace-undefine-macros.patch, + powerpc-sys-ptrace-update.patch, realpath-ssize-max-overflow.patch, + res-send-enomem.patch, riscv-fmax-fmin-nan.patch, + riscv-kernel-sigaction.patch, riscv-readelflib.patch, + riscv-tls-init.patch: Removed +- glibc_post_upgrade.c: Don't reload init (bsc#1103124) +- CVE-2009-5155, CVE-2015-8985 +- bsc#1092877 +- bsc#1102526 +- bsc#1112570 +- bsc#1126590 +- bsc#1127223 + +------------------------------------------------------------------- +Tue Jun 19 08:37:43 UTC 2018 - schwab@suse.de + +- Use python3-pexpect instead of python-pexpect + +------------------------------------------------------------------- +Thu Jun 14 12:29:54 UTC 2018 - schwab@suse.de + +- riscv-kernel-sigaction.patch: fix struct kernel_sigaction to match the + kernel version (BZ #23069) + +------------------------------------------------------------------- +Mon Jun 4 08:18:44 UTC 2018 - schwab@suse.de + +- glibc-2.3.90-langpackdir.diff: No longer search in /usr/share/locale-bundle + +------------------------------------------------------------------- +Wed May 23 08:18:00 UTC 2018 - schwab@suse.de + +- mempcpy-avx512.patch: Don't write beyond destination in + __mempcpy_avx512_no_vzeroupper (CVE-2018-11237, bsc#1094154) +- realpath-ssize-max-overflow.patch: Fix overflow in path length + computation (CVE-2018-11236, bsc#1094161, BZ #22786) +- Use %license also for COPYING, COPYING.LIB + +------------------------------------------------------------------- +Thu Apr 12 08:12:30 UTC 2018 - schwab@suse.de + +- Readd nis to netgroup and automount nss config (bsc#1088860) + +------------------------------------------------------------------- +Thu Mar 29 09:53:52 UTC 2018 - schwab@suse.de + +- i386-memmove-sse2-unaligned.patch: Fix SSE2 memmove issue when crossing + 2GB boundary (CVE-2017-18269, bnc#1094150, BZ #22644) + +------------------------------------------------------------------- +Tue Mar 27 11:30:49 UTC 2018 - schwab@suse.de + +- res-send-enomem.patch: Fix crash in resolver on memory allocation + failure (bsc#1086690, BZ #23005) + +------------------------------------------------------------------- +Thu Mar 22 09:48:53 UTC 2018 - schwab@suse.de + +- pkey-get-reserved-name.patch: Linux: use reserved name __key in pkey_get + (BZ #22797) +- aarch64-sys-ptrace-update.patch: linux/aarch64: sync sys/ptrace.h with + Linux 4.15 (BZ #22433) +- powerpc-sys-ptrace-undefine-macros.patch: powerpc: Undefine Linux ptrace + macros that conflict with __ptrace_request +- powerpc-sys-ptrace-update.patch: linux/powerpc: sync sys/ptrace.h with + Linux 4.15 (BZ #22433, BZ #22807) +- netgroup-cache-keys.patch: Fix netgroup cache keys (BZ #22342) +- i386-sigaction-sa-restorer.patch: i386: Fix i386 sigaction sa_restorer + initialization (BZ #21269) +- riscv-tls-init.patch: RISC-V: Do not initialize $gp in TLS macros +- riscv-fmax-fmin-nan.patch: RISC-V: fmax/fmin: Handle signalling NaNs + correctly (BZ #22884) + +------------------------------------------------------------------- +Wed Mar 7 09:14:55 UTC 2018 - schwab@suse.de + +- nss-database-multiple-dfn.patch: Fix multiple definitions of + __nss_*_database (BZ #22918) + +------------------------------------------------------------------- +Thu Feb 22 15:10:32 UTC 2018 - fvogt@suse.com + +- Use %license (boo#1082318) + +------------------------------------------------------------------- +Wed Feb 14 12:00:49 UTC 2018 - schwab@suse.de + +- Add systemtap-headers to BuildRequires +- Add --enable-systemtap to configure arguments (fate#324969, bsc#1073636) + +------------------------------------------------------------------- +Tue Feb 13 10:27:32 UTC 2018 - schwab@suse.de + +- riscv-readelflib.patch: Fix parsing flags in ELF64 files on riscv + +------------------------------------------------------------------- +Mon Feb 5 08:49:13 UTC 2018 - schwab@suse.de + +- Update to glibc 2.27 + * Optimized x86-64 asin, atan2, exp, expf, log, pow, atan, sin, cosf, + sinf, sincosf and tan with FMA + * Optimized x86-64 trunc and truncf for processors with SSE4.1 + * Optimized generic expf, exp2f, logf, log2f, powf, sinf, cosf and + sincosf + * In order to support faster and safer process termination the malloc API + family of functions will no longer print a failure address and stack + backtrace after detecting heap corruption + * The abort function terminates the process immediately, without flushing + stdio streams + * On platforms where long double has the IEEE binary128 format (aarch64, + alpha, mips64, riscv, s390 and sparc), the math library now implements + _Float128 interfaces for that type, as defined by ISO/IEC TS 18661-3:2015 + These are the same interfaces added in version 2.26 for some platforms where + this format is supported but is not the format of long double + * On platforms with support for _Float64x (aarch64, alpha, i386, ia64, + mips64, powerpc64le, riscv, s390, sparc and x86_64), the math library now + implements interfaces for that type, as defined by ISO/IEC TS + 18661-3:2015 + * The math library now implements interfaces for the _Float32, _Float64 and + _Float32x types, as defined by ISO/IEC TS 18661-3:2015 + * glibc now implements the memfd_create and mlock2 functions on Linux + * Support for memory protection keys was added + * The copy_file_range function was added + * The ldconfig utility now processes `include' directives using the C/POSIX + collation ordering + * Support for two grammatical forms of month names has been added + * Support for the RISC-V ISA running on Linux has been added + * Statically compiled applications attempting to load locales compiled for the + GNU C Library version 2.27 will fail and fall back to the builtin C/POSIX + locale + * Support for statically linked applications which call dlopen is deprecated + and will be removed in a future version of glibc + * Support for old programs which use internal stdio data structures and + functions is deprecated + * On GNU/Linux, the obsolete Linux constant PTRACE_SEIZE_DEVEL is no longer + defined by + * libm no longer supports SVID error handling (calling a user-provided + matherr function on error) or the _LIB_VERSION variable to control error + handling + * The libm functions pow10, pow10f and pow10l are no longer supported for + new programs + * The mcontext_t type is no longer the same as struct sigcontext + * The add-ons mechanism for building additional packages at the same time as + glibc has been removed + * The res_hnok, res_dnok, res_mailok and res_ownok functions now check that + the specified string can be parsed as a domain name + * In the malloc_info output, the element may contain another + element, "subheaps", which contains the number of sub-heaps + * In the malloc_info output, the element may contain another + element, "subheaps", which contains the number of sub-heaps + * The nonstandard header files and <_G_config.h> are deprecated + and will be removed in a future release + * CVE-2018-6485, CVE-2018-6551: The posix_memalign and memalign + functions, when called with an object size near the value of SIZE_MAX, + would return a pointer to a buffer which is too small, instead of NULL + (bsc#1079036) +- Support for Sun RPC is no longer available, use libtirpc instead +- glibc-nodate.patch, powerpc-elision-enable-envvar.patch, + s390-elision-enable-envvar.patch, resolv-context-leak.patch, + dl-runtime-resolve-opt-avx512f.patch, libpthread-compat-wrappers.patch, + math-c++-compat.patch, remove-nss-nis-compat.patch, + eh-frame-zero-terminator.patch, ld-so-hwcap-x86-64.patch, + assert-pedantic.patch, getaddrinfo-errno.patch, resolv-conf-oom.patch, + dynarray-allocation.patch, nearbyint-inexact.patch, nss-compat.patch, + nscd-libnsl.patch, malloc-tcache-leak.patch, + falkor-memcpy-memmove.patch, aarch64-cpu-features.patch, + nss-files-large-buffers.patch. sysconf-uio-maxiov.patch, + glob-tilde-overflow.patch, dl-runtime-resolve-xsave.patch, + spawni-assert.patch, x86-64-dl-platform.patch, glob64-s390.patch, + tst-tlsopt-powerpc.patch, powerpc-hwcap-bits.patch, + malloc-tcache-check-overflow.patch, dl-init-paths-overflow.patch, + fillin-rpath-empty-tokens.patch, getcwd-absolute.patch, + ldd-system-interp.patchabort-no-flush.patch: Removed +- All patches refreshed +- bsc#1063675 + +------------------------------------------------------------------- +Tue Jan 30 16:42:14 UTC 2018 - schwab@suse.de + +- fix-locking-in-_IO_cleanup.patch: Skip locked files during exit + (bsc#1070491, BZ #15142) + +------------------------------------------------------------------- +Tue Jan 30 15:04:47 UTC 2018 - schwab@suse.de + +- Avoid duplicate source rpm + +------------------------------------------------------------------- +Mon Jan 22 10:32:36 UTC 2018 - schwab@suse.de + +- getcwd-absolute.patch: make getcwd(3) fail if it cannot obtain an + absolute path (CVE-2018-1000001, bsc#1074293, BZ #22679) + +------------------------------------------------------------------- +Tue Jan 2 10:43:09 UTC 2018 - schwab@suse.de + +- dl-init-paths-overflow.patch: Count components of the expanded path in + _dl_init_path (CVE-2017-1000408, CVE-2017-1000409, bsc#1071319, BZ + #22607, BZ #22627) +- fillin-rpath-empty-tokens.patch: Check for empty tokens before dynamic + string token expansion (CVE-2017-16997, bsc#1073231, BZ #22625) + +------------------------------------------------------------------- +Wed Dec 13 15:04:54 UTC 2017 - schwab@suse.de + +- tst-tlsopt-powerpc.patch: fix tst-tlsopt-powerpc (bcn#1070419) +- powerpc-hwcap-bits.patch: Update HWCAP for powerpc (bnc#1070420) +- malloc-tcache-check-overflow.patch: Fix integer overflow in malloc when + tcache is enabled (CVE-2017-17426, bnc#1071479, BZ #22375) + +------------------------------------------------------------------- +Tue Dec 12 10:37:21 UTC 2017 - schwab@suse.de + +- Add _multibuild + +------------------------------------------------------------------- +Mon Nov 27 11:11:07 UTC 2017 - schwab@suse.de + +- glob64-s390.patch: no compat glob64 on s390 +- noversion.tar.bz2: remove unused source + +------------------------------------------------------------------- +Thu Oct 26 15:25:07 UTC 2017 - schwab@suse.de + +- x86-64-dl-platform.patch: Don't set GLRO(dl_platform) to NULL (BZ #22299) + +------------------------------------------------------------------- +Thu Oct 26 08:40:52 UTC 2017 - schwab@suse.de + +- spawni-assert.patch: Fix improper assert in Linux posix_spawn (BZ + #22273) + +------------------------------------------------------------------- +Mon Oct 23 09:35:18 UTC 2017 - schwab@suse.de + +- math-c++-compat.patch: Add more C++ compatibility (BZ #22296) +- malloc-tcache-leak.patch: Fix tcache leak after thread destruction (BZ + #22111) +- falkor-memcpy-memmove.patch: Optimized implementation of memcpy/memmove + for Qualcomm Falkor +- aarch64-cpu-features.patch: Fix glibc.tune.cpu tunable handling +- nss-files-large-buffers.patch: Avoid large buffers with many host + addresses (BZ #22078) +- sysconf-uio-maxiov.patch: Fix missing definition of UIO_MAXIOV (BZ + #22321) +- glob-tilde-overflow.patch: Fix buffer overflows with GLOB_TILDE + (CVE-2017-15670, CVE-2017-15671, CVE-2017-15804, + bsc#1064569. bsc#1064580, bsc#1064583, BZ #22320, BZ #22325, BZ #22332) +- dl-runtime-resolve-xsave.patch: Use fxsave/xsave/xsavec in + _dl_runtime_resolve (BZ #21265) + +------------------------------------------------------------------- +Tue Oct 10 15:47:05 UTC 2017 - schwab@suse.de + +- nscd-libnsl.patch: Remove reference to libnsl from nscd (bsc#1062244) + +------------------------------------------------------------------- +Mon Oct 9 08:03:28 UTC 2017 - schwab@suse.de + +- Drop glibc-obsolete +- glibc-2.3.90-noversion.diff: remove +- reinitialize-dl_load_write_lock.patch: remove + +------------------------------------------------------------------- +Wed Oct 4 12:14:30 UTC 2017 - schwab@suse.de + +- nss-compat.patch: Move nss_compat from nis to nss subdir and install it + unconditionally +- nsswitch.conf: switch back to compat for passwd, group, shadow + +------------------------------------------------------------------- +Thu Sep 28 07:57:52 UTC 2017 - schwab@suse.de + +- assert-pedantic.patch: Suppress pedantic warning caused by statement + expression (BZ #21242, BZ #21972) +- math-c++-compat.patch: Add more C++ compatibility (BZ #22235) +- getaddrinfo-errno.patch: Fix errno and h_errno handling in getaddrinfo + (BZ #21915, BZ #21922) +- resolv-conf-oom.patch: Fix memory handling in OOM situation during + resolv.conf parsing (BZ #22095, BZ #22096) +- dynarray-allocation.patch: Fix initial size of dynarray allocation and + set errno on overflow error +- nearbyint-inexact.patch: Avoid spurious inexact in nearbyint (BZ #22225) + +------------------------------------------------------------------- +Mon Sep 25 10:12:24 UTC 2017 - schwab@suse.de + +- math-c++-compat.patch: add more C++ compatibility (BZ #22146) + +------------------------------------------------------------------- +Tue Sep 12 06:37:36 UTC 2017 - schwab@suse.de + +- Remove rpcsvc/yppasswd.* from glibc-devel +- ld-so-hwcap-x86-64.patch: add x86_64 to hwcap (bsc#1056606, BZ #22093) + +------------------------------------------------------------------- +Thu Aug 31 13:43:07 UTC 2017 - schwab@suse.de + +- eh-frame-zero-terminator.patch: Properly terminate .eh_frame (BZ #22051) + +------------------------------------------------------------------- +Thu Aug 31 07:06:20 UTC 2017 - schwab@suse.de + +- Disable obsolete libnsl and NIS support +- remove-nss-nis-compat.patch: remove nis and compat from default NSS + configs +- nsswitch.conf: Likewise + +------------------------------------------------------------------- +Tue Aug 29 07:13:42 UTC 2017 - schwab@suse.de + +- math-c++-compat.patch: Do not use __builtin_types_compatible_p in C++ + mode (BZ #21930) + +------------------------------------------------------------------- +Thu Aug 17 12:46:46 UTC 2017 - schwab@suse.de + +- Add iconvconfig to baselibs.conf (bsc#1051042) + +------------------------------------------------------------------- +Thu Aug 10 08:05:15 UTC 2017 - schwab@suse.de + +- resolv-context-leak.patch: Fix leaks of resolver contexts +- dl-runtime-resolve-opt-avx512f.patch: Use _dl_runtime_resolve_opt only + with AVX512F (BZ #21871) +- libpthread-compat-wrappers.patch: Don't use IFUNC resolver for longjmp + or system in libpthread (BZ #21041) + +------------------------------------------------------------------- +Wed Aug 2 14:32:58 UTC 2017 - schwab@suse.de + +- Update to glibc 2.26 + * A per-thread cache has been added to malloc + * Unicode 10.0.0 Support + * Improvements to the DNS stub resolver + * New function reallocarray, which resizes an allocated block (like + realloc) to the product of two sizes, with a guaranteed clean failure + upon integer overflow in the multiplication + * New wrappers for the Linux-specific system calls preadv2 and pwritev2 + * posix_spawnattr_setflags now supports the flag POSIX_SPAWN_SETSID, to + create a new session ID for the spawned process + * errno.h is now safe to use from C-preprocessed assembly language on all + supported operating systems + * On ia64, powerpc64le, x86-32, and x86-64, the math library now implements + 128-bit floating point as defined by ISO/IEC/IEEE 60559:2011 (IEEE + 754-2008) and ISO/IEC TS 18661-3:2015 + * The synchronization that pthread_spin_unlock performs has been changed to + now be equivalent to a C11 atomic store with release memory order to the + spin lock's memory location + * The DNS stub resolver no longer performs EDNS fallback + * res_mkquery and res_nmkquery no longer support the IQUERY opcode + * The _res_opcodes variable has been removed from libresolv + * no longer includes inline versions of any string functions, + as this kind of optimization is better done by the compiler + * The nonstandard header has been removed + * The obsolete header has been removed + * The obsolete signal constant SIGUNUSED is no longer defined by + * The obsolete function cfree has been removed + * The stack_t type no longer has the name struct sigaltstack + * The ucontext_t type no longer has the name struct ucontext + * On S/390 GNU/Linux, the constants defined by have been + synced with the kernel + * Linux kernel 3.2 or later is required at runtime, on all architectures + supported by that kernel + * The DNS stub resolver limits the advertised UDP buffer size to 1200 bytes, + to avoid fragmentation-based spoofing attacks (CVE-2017-12132) + * LD_LIBRARY_PATH is now ignored in binaries running in privileged + AT_SECURE mode to guard against local privilege escalation attacks + (CVE-2017-1000366) + * Avoid printing a backtrace from the __stack_chk_fail function since it + is called on a corrupt stack and a backtrace is unreliable on a + corrupt stack (CVE-2010-3192) + * A use-after-free vulnerability in clntudp_call in the Sun RPC system + has been fixed (CVE-2017-12133) + * fate#322258, fate#321513, fate#322453 +- fts-symbol-redirect.patch, glibc-resolv-reload.diff, glibc-2.2-sunrpc.diff, + i686-memchr-sse.patch, ld-hwcap-mask-suid.patch, ld-library-path-suid.patch, + sunrpc-use-after-free.patch, test-math-vector-sincos-aliasing.patch, + tunables-bigendian.patch: Removed +- bsc#1074208 + +------------------------------------------------------------------- +Tue Jul 25 07:32:25 UTC 2017 - schwab@suse.de + +- Fix RPM group + +------------------------------------------------------------------- +Thu Jul 20 12:17:21 UTC 2017 - schwab@suse.de + +- s390-elision-enable-envvar.patch: enable TLE only if + GLIBC_ELISION_ENABLE=yes is defined (fate#322271) + +------------------------------------------------------------------- +Wed Jun 21 15:15:12 UTC 2017 - schwab@suse.de + +- ld-hwcap-mask-suid.patch: Ignore and remove LD_HWCAP_MASK for AT_SECURE + programs (BZ #21209) +- ld-library-path-suid.patch: Completely ignore LD_LIBRARY_PATH for + AT_SECURE=1 programs (CVE-2017-1000366, bsc#1039357, BZ #21624) + +------------------------------------------------------------------- +Wed Jun 14 12:22:21 UTC 2017 - schwab@suse.de + +- Remove glibc-cpusetsize.diff, no longer useful + +------------------------------------------------------------------- +Wed May 31 10:35:31 UTC 2017 - schwab@suse.de + +- fts-symbol-redirect.patch: Fix symbol redirect for fts_set (bsc#1041123, + BZ #21289) + +------------------------------------------------------------------- +Mon May 29 18:10:31 UTC 2017 - schwab@suse.de + +- test-math-vector-sincos-aliasing.patch: Fix test-math-vector-sincos.h + aliasing + +------------------------------------------------------------------- +Mon May 29 10:24:22 UTC 2017 - schwab@suse.de + +- add-locales.patch: renamed from glibc-2.3.locales.diff.bz2, drop en_BE + locales (bsc#1039502) + +------------------------------------------------------------------- +Tue May 23 09:54:08 UTC 2017 - schwab@suse.de + +- Remove glibc-testsuite.patch, no longer relevant + +------------------------------------------------------------------- +Mon May 22 10:04:59 UTC 2017 - schwab@suse.de + +- Use multibuild feature +- Remove obsolete check-build.sh +- glibc.rpmlintrc: remove obsolete entries +- Use %tmpfiles_create in nscd postin + +------------------------------------------------------------------- +Wed Mar 29 13:09:49 UTC 2017 - schwab@suse.de + +- i686-memchr-sse.patch: Fix i686 memchr overflow calculation + (bsc#1031021, BZ #21182) +- sunrpc-use-after-free.patch: Avoid use-after-free read access in + clntudp_call (BZ #21115) +- Build testsuite with gdb and python-pexpect to enable more tests + +------------------------------------------------------------------- +Wed Feb 8 09:38:15 UTC 2017 - schwab@suse.de + +- tunables-bigendian.patch: Fix getting tunable values on big-endian (BZ + #21109) + +------------------------------------------------------------------- +Sun Feb 5 18:26:21 UTC 2017 - schwab@suse.de + +- Update to glibc 2.25 + * The feature test macro __STDC_WANT_LIB_EXT2__, from ISO/IEC TR + 24731-2:2010, is supported to enable declarations of functions from that + TR. + * The feature test macro __STDC_WANT_IEC_60559_BFP_EXT__, from ISO/IEC TS + 18661-1:2014, is supported to enable declarations of functions and macros + from that TS. + * The feature test macro __STDC_WANT_IEC_60559_FUNCS_EXT__, from ISO/IEC TS + 18661-4:2015, is supported to enable declarations of functions and macros + from that TS. + * The nonstandard feature selection macros _REENTRANT and _THREAD_SAFE are + now treated as compatibility synonyms for _POSIX_C_SOURCE=199506L. + * The inclusion of by is deprecated. + * New features from TS 18661-1:2014 are added to libm: the + fesetexcept, fetestexceptflag, fegetmode and fesetmode functions, the + femode_t type and the FE_DFL_MODE and FE_SNANS_ALWAYS_SIGNAL macros. + * Integer width macros from TS 18661-1:2014 are added to : + CHAR_WIDTH, SCHAR_WIDTH, UCHAR_WIDTH, SHRT_WIDTH, USHRT_WIDTH, INT_WIDTH, + UINT_WIDTH, LONG_WIDTH, ULONG_WIDTH, LLONG_WIDTH, ULLONG_WIDTH; and to + : INT8_WIDTH, UINT8_WIDTH, INT16_WIDTH, UINT16_WIDTH, + INT32_WIDTH, UINT32_WIDTH, INT64_WIDTH, UINT64_WIDTH, INT_LEAST8_WIDTH, + UINT_LEAST8_WIDTH, INT_LEAST16_WIDTH, UINT_LEAST16_WIDTH, + INT_LEAST32_WIDTH, UINT_LEAST32_WIDTH, INT_LEAST64_WIDTH, + UINT_LEAST64_WIDTH, INT_FAST8_WIDTH, UINT_FAST8_WIDTH, INT_FAST16_WIDTH, + UINT_FAST16_WIDTH, INT_FAST32_WIDTH, UINT_FAST32_WIDTH, INT_FAST64_WIDTH, + UINT_FAST64_WIDTH, INTPTR_WIDTH, UINTPTR_WIDTH, INTMAX_WIDTH, + UINTMAX_WIDTH, PTRDIFF_WIDTH, SIG_ATOMIC_WIDTH, SIZE_WIDTH, WCHAR_WIDTH, + WINT_WIDTH. + * New features are added from TS 18661-1:2014: + - Signaling NaN macros: SNANF, SNAN, SNANL. + - Nearest integer functions: roundeven, roundevenf, roundevenl, fromfp, + fromfpf, fromfpl, ufromfp, ufromfpf, ufromfpl, fromfpx, fromfpxf, + fromfpxl, ufromfpx, ufromfpxf, ufromfpxl. + - llogb functions: the llogb, llogbf and llogbl functions, and the + FP_LLOGB0 and FP_LLOGBNAN macros. + - Max-min magnitude functions: fmaxmag, fmaxmagf, fmaxmagl, fminmag, + fminmagf, fminmagl. + - Comparison macros: iseqsig. + - Classification macros: iscanonical, issubnormal, iszero. + - Total order functions: totalorder, totalorderf, totalorderl, + totalordermag, totalordermagf, totalordermagl. + - Canonicalize functions: canonicalize, canonicalizef, canonicalizel. + - NaN functions: getpayload, getpayloadf, getpayloadl, setpayload, + setpayloadf, setpayloadl, setpayloadsig, setpayloadsigf, setpayloadsigl. + * The functions strfromd, strfromf, and strfroml, from ISO/IEC TS 18661-1:2014, + are added to libc. + * Most of glibc can now be built with the stack smashing protector enabled. + * The function explicit_bzero, from OpenBSD, has been added to libc. + * On ColdFire, MicroBlaze, Nios II and SH3, the float_t type is now defined + to float instead of double. + * On x86_64, when compiling with -mfpmath=387 or -mfpmath=sse+387, the + float_t and double_t types are now defined to long double instead of float + and double. + * The getentropy and getrandom functions, and the header file + have been added. + * The buffer size for byte-oriented stdio streams is now limited to 8192 + bytes by default. + * The header now includes the header. + * The malloc_get_state and malloc_set_state functions have been removed. + * The “ip6-dotint” and “no-ip6-dotint” resolver options, and the + corresponding RES_NOIP6DOTINT flag from have been removed. + * The "ip6-bytestring" resolver option and the corresponding RES_USEBSTRING + flag from have been removed. + * The flags RES_AAONLY, RES_PRIMARY, RES_NOCHECKNAME, RES_KEEPTSIG, + RES_BLAST defined in the header file have been deprecated. + * The "inet6" option in /etc/resolv.conf and the RES_USE_INET6 flag for + _res.flags are deprecated. + * DNSSEC-related declarations and definitions have been removed from the + header file, and libresolv will no longer attempt to + decode the data part of DNSSEC record types. + * The resource record type classification macros ns_t_qt_p, ns_t_mrr_p, + ns_t_rr_p, ns_t_udp_p, ns_t_xfr_p have been removed from the + header file because the distinction between RR types and + meta-RR types is not officially standardized, subject to revision, and + thus not suitable for encoding in a macro. + * The types res_sendhookact, res_send_qhook, re_send_rhook, and the qhook + and rhook members of the res_state type in have been removed. + * For multi-arch support it is recommended to use a GCC which has + been built with support for GNU indirect functions. + * GDB pretty printers have been added for mutex and condition variable + structures in POSIX Threads. + * Tunables feature added to allow tweaking of the runtime for an application + program. + * A new version of condition variables functions have been implemented in + the NPTL implementation of POSIX Threads to provide stronger ordering + guarantees. + * A new version of pthread_rwlock functions have been implemented to use a more + scalable algorithm primarily through not using a critical section anymore to + make state changes. + * On ARM EABI (32-bit), generating a backtrace for execution contexts which + have been created with makecontext could fail to terminate due to a + missing .cantunwind annotation. (CVE-2016-6323) + * The DNS stub resolver functions would crash due to a NULL pointer + dereference when processing a query with a valid DNS question type which + was used internally in the implementation. (CVE-2015-5180) +- Enable stack protector if part of %optflags +- startcontext-cantunwind.patch: Removed +- cpuid-assertion.patch: Removed + +------------------------------------------------------------------- +Thu Oct 13 08:24:22 UTC 2016 - schwab@suse.de + +- cpuid-assertion.patch: Don't assert on older Intel CPUs (BZ #20647) + +------------------------------------------------------------------- +Wed Oct 5 15:01:46 UTC 2016 - schwab@suse.de + +- glibc-2.3.3-nscd-db-path.diff: Move persistent nscd databases to + /var/lib/nscd +- glibc-2.3.90-langpackdir.diff: simplify + +------------------------------------------------------------------- +Tue Aug 2 13:55:44 UTC 2016 - schwab@suse.de + +- Update to glibc 2.24 + * The minimum Linux kernel version that this version of the GNU C Library + can be used with is 3.2 + * The pap_AN locale has been deleted + * The readdir_r and readdir64_r functions have been deprecated + * The type `union wait' has been removed + * A new NSS action is added to facilitate large distributed system + administration + * The deprecated __malloc_initialize_hook variable has been removed from + the API + * The long unused localedef --old-style option has been removed + * nextupl, nextup, nextupf, nextdownl, nextdown and nextdownf are added + to libm + * An unnecessary stack copy in _nss_dns_getnetbyname_r was removed + (CVE-2016-3075) + * Previously, getaddrinfo copied large amounts of address data to the + stack, even after the fix for CVE-2013-4458 has been applied, + potentially resulting in a stack overflow. getaddrinfo now uses a + heap allocation instead (CVE-2016-3706) + * The glob function suffered from a stack-based buffer overflow when it + was called with the GLOB_ALTDIRFUNC flag and encountered a long file + name (CVE-2016-1234) + * The Sun RPC UDP client could exhaust all available stack space when + flooded with crafted ICMP and UDP messages (CVE-2016-4429) + * The IPv6 name server management code in libresolv could result in a + memory leak for each thread which is created, performs a failing + naming lookup, and exits (CVE-2016-5417) +- startcontext-cantunwind.patch: mark __startcontext as .cantunwind + (bsc#974800, BZ #20435) +- Removed patches: + * 0001-Updated-translations-for-2.23.patch + * 0002-Regenerate-libc.pot-for-2.23.patch + * 0003-Regenerated-configure-scripts.patch + * 0004-x86_64-Set-DL_RUNTIME_UNALIGNED_VEC_SIZE-to-8.patch + * 0005-Add-fts64_-to-sysdeps-arm-nacl-libc.abilist.patch + * 0006-Don-t-use-long-double-math-functions-if-NO_LONG_DOUB.patch + * 0007-NEWS-2.23-Fix-typo-in-bug-19048-text.patch + * 0008-Update-NEWS.patch + * 0009-sln-use-stat64.patch + * 0010-Add-sys-auxv.h-wrapper-to-include-sys.patch + * 0011-mips-terminate-the-FDE-before-the-return-trampoline-.patch + * 0012-Use-HAS_ARCH_FEATURE-with-Fast_Rep_String.patch + * 0013-Mention-BZ-19762-in-NEWS.patch + * 0014-Define-_HAVE_STRING_ARCH_mempcpy-to-1-for-x86.patch + * 0015-Or-bit_Prefer_MAP_32BIT_EXEC-in-EXTRA_LD_ENVVARS.patch + * 0016-Fix-resource-leak-in-resolver-bug-19257.patch + * 0017-math-don-t-clobber-old-libm.so-on-install-BZ-19822.patch + * 0018-resolv-Always-set-resplen2-out-parameter-in-send_dg-.patch + * 0019-S390-Save-and-restore-fprs-vrs-while-resolving-symbo.patch + * 0020-S390-Extend-structs-La_s390_regs-La_s390_retval-with.patch + * 0021-CVE-2016-3075-Stack-overflow-in-_nss_dns_getnetbynam.patch + * 0022-configure-fix-test-usage.patch + * 0023-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch + * 0024-nss_db-Propagate-ERANGE-error-if-parse_line-fails-BZ.patch + * 0025-getnameinfo-Do-not-preserve-errno.patch + * 0026-getnameinfo-Refactor-and-fix-memory-leak-BZ-19642.patch + * 0027-getnameinfo-Reduce-line-length-and-add-missing-comme.patch + * 0028-getnameinfo-Avoid-calling-strnlen-on-uninitialized-b.patch + * 0029-getnameinfo-Return-EAI_OVERFLOW-in-more-cases-BZ-197.patch + * 0030-hesiod-Remove-RCS-keywords.patch + * 0031-hesiod-Always-use-thread-local-resolver-state-BZ-195.patch + * 0032-hesiod-Avoid-heap-overflow-in-get_txt_records-BZ-200.patch + * 0033-malloc-Remove-NO_THREADS.patch + * 0034-Fix-malloc-threaded-tests-link-on-non-Linux.patch + * 0035-malloc-Run-fork-handler-as-late-as-possible-BZ-19431.patch + * 0036-malloc-Remove-malloc-hooks-from-fork-handler.patch + * 0037-malloc-Add-missing-internal_function-attributes-on-f.patch + * 0038-nss_dns-Fix-assertion-failure-in-_nss_dns_getcanonna.patch + * 0039-nss_dns-Validate-RDATA-length-against-packet-length-.patch + * 0040-resolv-nss_dns-Remove-remaining-syslog-logging-BZ-19.patch + * 0041-nss_dns-Check-address-length-before-creating-addrinf.patch + * 0042-nss_dns-Skip-over-non-PTR-records-in-the-netent-code.patch + * 0043-resolv-Always-set-resplen2-out-parameter-in-send_vc-.patch + * 0044-tst-audit4-tst-audit10-Compile-AVX-AVX-512-code-sepa.patch + * 0045-Fix-tst-audit10-build-when-mavx512f-is-not-supported.patch + * 0046-tst-audit10-Fix-compilation-on-compilers-without-bit.patch + * 0047-strfmon_l-Use-specified-locale-for-number-formatting.patch + * 0048-glob-Simplify-the-interface-for-the-GLOB_ALTDIRFUNC-.patch + * 0049-CVE-2016-1234-glob-Do-not-copy-d_name-field-of-struc.patch + * 0050-ldconfig-Do-not-remove-stale-symbolic-links-with-X-B.patch + * 0051-Report-dlsym-dlvsym-lookup-errors-using-dlerror-BZ-1.patch + * 0052-Fix-tst-dlsym-error-build.patch + * 0053-Remove-trailing-newline-from-date_fmt-in-Serbian-loc.patch + * 0054-Revert-Report-dlsym-dlvsym-lookup-errors-using-dlerr.patch + * 0055-CVE-2016-3706-getaddrinfo-stack-overflow-in-hostent-.patch + * 0056-Fix-strfmon_l-Use-specified-locale-for-number-format.patch + * clntudp-call-alloca.patch + * glibc-memset-nontemporal.diff + * nis-initgroups-status.patch + * nscd-gc-crash.patch + * robust-mutex-deadlock.patch + * strncat-avoid-array-bounds-warning.patch + +------------------------------------------------------------------- +Wed Jun 29 12:50:21 UTC 2016 - schwab@suse.de + +- strncat-avoid-array-bounds-warning.patch: Avoid array-bounds warning for + stncat on i586 (BZ #20260) +- Update glibc.keyring +- Unset MALLOC_CHECK_ during testsuite run + +------------------------------------------------------------------- +Thu Jun 23 07:41:06 UTC 2016 - schwab@suse.de + +- nsswitch.conf: Add fallback to files for passwd and group to prepare for + libnsl removal. + +------------------------------------------------------------------- +Wed Jun 22 09:08:02 UTC 2016 - schwab@suse.de + +- nis-initgroups-status.patch: Return proper status from + _nss_nis_initgroups_dyn (bsc#984269, BZ #20262) +- robust-mutex-deadlock.patch: Fix generic __lll_robust_timedlock_wait to + check for timeout (bsc#985170, BZ #20263) + +------------------------------------------------------------------- +Thu Jun 9 09:17:10 UTC 2016 - schwab@suse.de + +- nscd-gc-crash.patch: Fix nscd assertion failure in gc (bsc#965699, BZ + #19755) + +------------------------------------------------------------------- +Mon May 30 08:23:03 UTC 2016 - schwab@suse.de + +- clntudp-call-alloca.patch: do not use alloca in clntudp_call + (CVE-2016-4429, bsc#980854, BZ #20112) + +------------------------------------------------------------------- +Wed May 11 09:33:47 UTC 2016 - schwab@suse.de + +- Import patches from 2.23 branch + 0001-Updated-translations-for-2.23.patch + 0002-Regenerate-libc.pot-for-2.23.patch + 0003-Regenerated-configure-scripts.patch + 0004-x86_64-Set-DL_RUNTIME_UNALIGNED_VEC_SIZE-to-8.patch + 0005-Add-fts64_-to-sysdeps-arm-nacl-libc.abilist.patch + 0006-Don-t-use-long-double-math-functions-if-NO_LONG_DOUB.patch + 0007-NEWS-2.23-Fix-typo-in-bug-19048-text.patch + 0008-Update-NEWS.patch + 0009-sln-use-stat64.patch + 0010-Add-sys-auxv.h-wrapper-to-include-sys.patch + 0011-mips-terminate-the-FDE-before-the-return-trampoline-.patch + 0012-Use-HAS_ARCH_FEATURE-with-Fast_Rep_String.patch + 0013-Mention-BZ-19762-in-NEWS.patch + 0014-Define-_HAVE_STRING_ARCH_mempcpy-to-1-for-x86.patch + 0015-Or-bit_Prefer_MAP_32BIT_EXEC-in-EXTRA_LD_ENVVARS.patch + 0016-Fix-resource-leak-in-resolver-bug-19257.patch + 0017-math-don-t-clobber-old-libm.so-on-install-BZ-19822.patch + 0018-resolv-Always-set-resplen2-out-parameter-in-send_dg-.patch + 0019-S390-Save-and-restore-fprs-vrs-while-resolving-symbo.patch + 0020-S390-Extend-structs-La_s390_regs-La_s390_retval-with.patch + 0021-CVE-2016-3075-Stack-overflow-in-_nss_dns_getnetbynam.patch + 0022-configure-fix-test-usage.patch + 0023-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch + 0024-nss_db-Propagate-ERANGE-error-if-parse_line-fails-BZ.patch + 0025-getnameinfo-Do-not-preserve-errno.patch + 0026-getnameinfo-Refactor-and-fix-memory-leak-BZ-19642.patch + 0027-getnameinfo-Reduce-line-length-and-add-missing-comme.patch + 0028-getnameinfo-Avoid-calling-strnlen-on-uninitialized-b.patch + 0029-getnameinfo-Return-EAI_OVERFLOW-in-more-cases-BZ-197.patch + 0030-hesiod-Remove-RCS-keywords.patch + 0031-hesiod-Always-use-thread-local-resolver-state-BZ-195.patch + 0032-hesiod-Avoid-heap-overflow-in-get_txt_records-BZ-200.patch + 0033-malloc-Remove-NO_THREADS.patch + 0034-Fix-malloc-threaded-tests-link-on-non-Linux.patch + 0035-malloc-Run-fork-handler-as-late-as-possible-BZ-19431.patch + 0036-malloc-Remove-malloc-hooks-from-fork-handler.patch + 0037-malloc-Add-missing-internal_function-attributes-on-f.patch + 0038-nss_dns-Fix-assertion-failure-in-_nss_dns_getcanonna.patch + 0039-nss_dns-Validate-RDATA-length-against-packet-length-.patch + 0040-resolv-nss_dns-Remove-remaining-syslog-logging-BZ-19.patch + 0041-nss_dns-Check-address-length-before-creating-addrinf.patch + 0042-nss_dns-Skip-over-non-PTR-records-in-the-netent-code.patch + 0043-resolv-Always-set-resplen2-out-parameter-in-send_vc-.patch + 0044-tst-audit4-tst-audit10-Compile-AVX-AVX-512-code-sepa.patch + 0045-Fix-tst-audit10-build-when-mavx512f-is-not-supported.patch + 0046-tst-audit10-Fix-compilation-on-compilers-without-bit.patch + 0047-strfmon_l-Use-specified-locale-for-number-formatting.patch + 0048-glob-Simplify-the-interface-for-the-GLOB_ALTDIRFUNC-.patch + 0049-CVE-2016-1234-glob-Do-not-copy-d_name-field-of-struc.patch + 0050-ldconfig-Do-not-remove-stale-symbolic-links-with-X-B.patch + 0051-Report-dlsym-dlvsym-lookup-errors-using-dlerror-BZ-1.patch + 0052-Fix-tst-dlsym-error-build.patch + 0053-Remove-trailing-newline-from-date_fmt-in-Serbian-loc.patch + 0054-Revert-Report-dlsym-dlvsym-lookup-errors-using-dlerr.patch + 0055-CVE-2016-3706-getaddrinfo-stack-overflow-in-hostent-.patch + 0056-Fix-strfmon_l-Use-specified-locale-for-number-format.patch +- CVE-2016-3075 CVE-2016-1234 CVE-2016-3706 bsc#973164 bsc#969727 +- resolv-mem-leak.patch: renamed to + 0016-Fix-resource-leak-in-resolver-bug-19257.patch +- no-long-double.patch: renamed to + 0006-Don-t-use-long-double-math-functions-if-NO_LONG_DOUB.patch +- glibc-gcc6.patch: renamed to + 0023-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch + +------------------------------------------------------------------- +Mon May 9 14:00:41 UTC 2016 - schwab@suse.de + +- glibc-c-utf8-locale.patch: fix bad standard in LC_IDENTIFICATION categories +- glibc-2.3.locales.diff.bz2: likewise + +------------------------------------------------------------------- +Mon Apr 25 08:55:47 UTC 2016 - jslaby@suse.com + +- glibc-gcc6.patch: Suppress GCC 6 warning about ambiguous 'else' with + -Wparentheses + +------------------------------------------------------------------- +Mon Apr 11 08:00:07 UTC 2016 - schwab@suse.de + +- Add compatibility symlinks for LSB 3.0 (fate#318933) + +------------------------------------------------------------------- +Mon Mar 21 11:57:49 UTC 2016 - schwab@suse.de + +- powerpc-elision-enable-envvar.patch: enable TLE only if + GLIBC_ELISION_ENABLE=yes is defined (bsc#967594, fate#318236) + +------------------------------------------------------------------- +Tue Mar 15 10:44:46 UTC 2016 - schwab@suse.de + +- ldd-system-interp.patch: Restore warning about execution permission, it + is still needed for noexec mounts (bsc#915985) + +------------------------------------------------------------------- +Tue Mar 8 15:28:16 UTC 2016 - idonmez@suse.com + +- Add C.UTF-8 locale (see https://sourceware.org/glibc/wiki/Proposals/C.UTF-8) + and rh#902094 . Added with glibc-c-utf8-locale.patch. +- Add glibc-disable-gettext-for-c-utf8.patch to disable gettext for + C.UTF-8 same as C locale. + +------------------------------------------------------------------- +Mon Mar 7 14:47:50 UTC 2016 - schwab@suse.de + +- Move %install_info_delete to %preun +- crypt_blowfish-1.3.tar.gz.sign: Remove, the sign key is no longer + acceptable + +------------------------------------------------------------------- +Tue Feb 23 16:11:36 UTC 2016 - schwab@suse.de + +- no-long-double.patch: Don't use long double functions if NO_LONG_DOUBLE + +------------------------------------------------------------------- +Mon Feb 22 11:05:12 UTC 2016 - schwab@suse.de + +- Update to glibc 2.23 release. + * Unicode 8.0.0 Support + * sched_setaffinity, pthread_setaffinity_np no longer attempt to guess + the kernel-internal CPU set size + * The fts.h header can now be used with -D_FILE_OFFSET_BITS=64 + * getaddrinfo now detects certain invalid responses on an internal + netlink socket + * A defect in the malloc implementation, present since glibc 2.15 (2012) + or glibc 2.10 via --enable-experimental-malloc (2009), could result in + the unnecessary serialization of memory allocation requests across + threads + * The obsolete header has been removed + * The obsolete functions bdflush, create_module, get_kernel_syms, + query_module and uselib are no longer available to newly linked + binaries + * Optimized string, wcsmbs and memory functions for IBM z13. + * Newly linked programs that define a variable called signgam will no + longer have it set by the lgamma, lgammaf and lgammal functions +- Removed patches: + * dont-remove-nodelete-flag.patch + * openat64-readd-o-largefile.patch + * mntent-blank-line.patch + * opendir-o-directory-check.patch + * strcoll-remove-strdiff-opt.patch + * ld-pointer-guard.patch + * tls-dtor-list-mangling.patch + * powerpc-lock-elision-race.patch + * prelink-elf-rtype-class.patch + * vector-finite-math-aliases.patch + * powerpc-elision-adapt-param.patch + * catopen-unbound-alloca.patch + * strftime-range-check.patch + * hcreate-overflow-check.patch + * errorcheck-mutex-no-elision.patch + * refactor-nan-parsing.patch + * send-dg-buffer-overflow.patch + * isinf-cxx11-conflict.patch + * ibm93x-redundant-shift-si.patch + * iconv-reset-input-buffer.patch + * tzset-tzname.patch + * static-dlopen.patch + +------------------------------------------------------------------- +Thu Feb 18 13:22:19 UTC 2016 - schwab@suse.de + +- isinf-cxx11-conflict.patch: Fix isinf/isnan declaration conflict with + C++11 (bsc#963700, BZ #19439) + +------------------------------------------------------------------- +Wed Feb 17 09:48:26 UTC 2016 - schwab@suse.de + +- tls-dtor-list-mangling.patch: Harden tls_dtor_list with pointer mangling + (BZ #19018) +- prelink-elf-rtype-class.patch: Keep only ELF_RTYPE_CLASS_{PLT|COPY} bits + for prelink (BZ #19178) +- vector-finite-math-aliases.patch: Better workaround for aliases of + *_finite symbols in vector math library (BZ# 19058) +- powerpc-elision-adapt-param.patch: powerpc: Fix usage of elision + transient failure adapt param (BZ #19174) +- catopen-unbound-alloca.patch: Fix unbound alloca in catopen + (CVE-2015-8779, bsc#962739, BZ #17905) +- strftime-range-check.patch: Add range check on time fields + (CVE-2015-8776, bsc#962736, BZ #18985) +- hcreate-overflow-check.patch: Handle overflow in hcreate (CVE-2015-8778, + bsc#962737, BZ #18240) +- errorcheck-mutex-no-elision.patch: Don't do lock elision on an error + checking mutex (bsc#956716, BZ #17514) +- refactor-nan-parsing.patch: Refactor strtod parsing of NaN payloads + (CVE-2014-9761, bsc#962738, BZ #16962) +- send-dg-buffer-overflow.patch: Fix getaddrinfo stack-based buffer + overflow (CVE-2015-7547, bsc#961721, BZ #18665) +- powerpc-lock-elision-race.patch: renamed from + 0001-powerpc-Fix-a-race-condition-when-eliding-a-lock-20150730.patch + +------------------------------------------------------------------- +Mon Feb 15 15:43:02 UTC 2016 - schwab@suse.de + +- Add audit-devel and libcap-devel to BuildRequires, for use by nscd + +------------------------------------------------------------------- +Thu Nov 26 14:46:21 UTC 2015 - schwab@suse.de + +- reinitialize-dl_load_write_lock.patch: Reinitialize dl_load_write_lock + on fork (bsc#958315, BZ #19282) + +------------------------------------------------------------------- +Wed Nov 18 15:09:30 UTC 2015 - schwab@suse.de + +- resolv-mem-leak.patch: Fix resource leak in resolver (bsc#955647, BZ #19257) +- tzset-tzname.patch: Force rereading TZDEFRULES after it was used to set + DST rules only (BZ #19253) + +------------------------------------------------------------------- +Mon Oct 26 15:22:53 UTC 2015 - schwab@suse.de + +- glibc-2.3.90-noversion.diff: use stat64 + +------------------------------------------------------------------- +Mon Oct 19 12:28:58 UTC 2015 - schwab@suse.de + +- ld-pointer-guard.patch: Always enable pointer guard (CVE-2015-8777, + bsc#950944, BZ #18928) + +------------------------------------------------------------------- +Mon Oct 12 08:12:10 UTC 2015 - schwab@suse.de + +- strcoll-remove-strdiff-opt.patch: Remove incorrect STRDIFF-based + optimization (BZ #18589) + +------------------------------------------------------------------- +Thu Oct 8 14:26:14 UTC 2015 - schwab@suse.de + +- iconv-reset-input-buffer.patch: Fix iconv buffer handling with IGNORE + error handler (BZ #18830) + +------------------------------------------------------------------- +Wed Sep 30 11:48:05 UTC 2015 - normand@linux.vnet.ibm.com + +- new patch [BZ #18743] PowerPC: Fix a race condition when eliding a lock + 0001-powerpc-Fix-a-race-condition-when-eliding-a-lock-20150730.patch + +------------------------------------------------------------------- +Thu Sep 24 09:41:13 UTC 2015 - schwab@suse.de + +- nss-files-long-lines-2.patch: Properly reread entry after failure in + nss_files getent function (bsc#945779, BZ #18991) + +------------------------------------------------------------------- +Wed Sep 16 10:21:43 UTC 2015 - schwab@suse.de + +- fnmatch-collating-elements.patch: Fix fnmatch handling of collating + elements (BZ #17396, BZ #16976) + +------------------------------------------------------------------- +Mon Sep 7 13:27:58 UTC 2015 - schwab@suse.de + +- opendir-o-directory-check.patch: Fix opendir inverted o_directory_works + test +- static-dlopen.patch: Static dlopen default library search path fix + (bsc#937853) + +------------------------------------------------------------------- +Mon Aug 31 12:21:29 UTC 2015 - schwab@suse.de + +- mntent-blank-line.patch: Fix memory corruption w/blank lines + +------------------------------------------------------------------- +Mon Aug 10 09:23:57 UTC 2015 - schwab@suse.de + +- dont-remove-nodelete-flag.patch: Don't remove DF_1_NODELETE flag from + all loaded objects on failed dlopen +- openat64-readd-o-largefile.patch: Readd O_LARGEFILE flag for openat64 + +------------------------------------------------------------------- +Wed Aug 5 09:35:41 UTC 2015 - schwab@suse.de + +- Update to glibc 2.22 release. + * Cache information can be queried via sysconf() function on s390 + * A buffer overflow in gethostbyname_r and related functions performing DNS + requests has been fixed. (CVE-2015-1781) + * The time zone file parser has been made more robust against crafted time + zone files + * A powerpc and powerpc64 optimization for TLS, similar to TLS descriptors + for LD and GD on x86 and x86-64, has been implemented. + * Character encoding and ctype tables were updated to Unicode 7.0.0 + * Added vector math library named libmvec + * A new fmemopen implementation has been added with the goal of POSIX + compliance. + * The header is deprecated, and will be removed in a future + release. + * bsc#905313 bsc#920338 bsc#927080 bsc#928723 bsc#931480 bsc#939211 + bsc#940195 bsc#940332 bsc#944494 bsc#968787 +- Patches from upstream removed + * htm-tabort.patch + * o-tmpfile.patch + * memcpy-chk-non-SSE2.patch + * pthread-mutexattr-gettype-kind.patch + * powerpc-software-sqrt.patch + * static-tls-dtv-limit.patch + * threaded-trim-threshold.patch + * resolv-nameserver-handling.patch + * nss-separate-state-getXXent.patch + * aarch64-sigstksz.patch + * heap-top-corruption.patch + * pthread-join-deadlock.patch + +------------------------------------------------------------------- +Mon Jul 27 09:08:21 UTC 2015 - schwab@suse.de + +- pthread-join-deadlock.patch: Use IE model for static variables in + libc.so, libpthread.so and rtld (bsc#930015, BZ #18457) + +------------------------------------------------------------------- +Wed Jul 22 09:13:48 UTC 2015 - schwab@suse.de + +- glibc-nodate.patch: fix verification of timestamp + +------------------------------------------------------------------- +Tue Jul 21 07:50:22 UTC 2015 - meissner@suse.com + +- also filter out -fstack-protector-strong + +------------------------------------------------------------------- +Mon Jun 22 07:22:22 UTC 2015 - schwab@suse.de + +- getaddrinfo-ipv6-sanity.diff: Remove. It breaks services that start + before IPv6 is up (bsc#931399) +- glibc-2.3.locales.diff.bz2: Remove sh_YU locales, fix currency for en_BE. + +------------------------------------------------------------------- +Tue Jun 9 08:16:46 UTC 2015 - schwab@suse.de + +- Add /usr/include/gnu/lib-names-.*.h to baselibs +- pthread-join-deadlock.patch: Don't require rtld lock to store static TLS + offset in the DTV (bsc#930015, BZ #18457) +- heap-top-corruption.patch: Do not corrupt the top of a threaded heap if + top chunk is MINSIZE (BZ #18502) + +------------------------------------------------------------------- +Wed Apr 8 12:50:39 UTC 2015 - mgorman@suse.com + +- threaded-trim-threshold.patch: Fix regression in threaded application + malloc performance (bsc#915955, BZ #17195) + +------------------------------------------------------------------- +Thu Apr 2 08:11:20 UTC 2015 - schwab@suse.de + +- aarch64-sigstksz.patch: Increase MINSIGSTKSZ and SIGSTKSZ (BZ #16850) + +------------------------------------------------------------------- +Mon Mar 30 09:04:49 UTC 2015 - schwab@suse.de + +- powerpc-software-sqrt.patch: Fix powerpc software sqrt (BZ #17964, BZ + #17967) +- nss-separate-state-getXXent.patch: Separate internal state between + getXXent and getXXbyYY NSS calls (CVE-2014-8121, bsc#918187, BZ #18007) +- static-tls-dtv-limit.patch: Fix DTV race, assert, DTV_SURPLUS Static TLS + limit, and nptl_db garbage (bsc#919678, BZ #17090, BZ #17620, BZ #17621, + BZ #17628) + +------------------------------------------------------------------- +Mon Mar 9 13:05:32 UTC 2015 - schwab@suse.de + +- resolv-nameserver-handling.patch: Replace with simpler version with more + compatibility + +------------------------------------------------------------------- +Mon Mar 2 14:27:02 UTC 2015 - schwab@suse.de + +- memcpy-chk-non-SSE2.patch: Fix __memcpy_chk on non-SSE2 CPUs + (bsc#920084) + +------------------------------------------------------------------- +Tue Feb 24 10:11:46 UTC 2015 - schwab@suse.de + +- resolv-nameserver-handling.patch: Rewrite handling of nameserver + configuration in resolver + +------------------------------------------------------------------- +Thu Feb 12 13:10:20 UTC 2015 - schwab@suse.de + +- htm-tabort.patch: Fix TABORT encoding for little endian + +------------------------------------------------------------------- +Mon Feb 9 09:26:01 UTC 2015 - schwab@suse.de + +- Update to glibc 2.21 release. + * A new semaphore algorithm has been implemented in generic C code for all + machines + * Added support for TSX lock elision of pthread mutexes on powerpc32, + powerpc64 and powerpc64le + * Optimized strcpy, stpcpy, strchrnul and strrchr implementations for + AArch64 + * i386 memcpy functions optimized with SSE2 unaligned load/store + * New locales: tu_IN, bh_IN, raj_IN, ce_RU + * The obsolete sigvec function has been removed + * CVE-2015-1472 CVE-2015-1473 CVE-2012-3406 CVE-2014-9402 + CVE-2014-7817 bsc#864081 bsc#906371 bsc#909053 bsc#910599 bsc#916222 +- Patches from upstream removed + * ifunc-x86-slow-sse4.patch + * pthread-mutex-trylock-elision.patch +- o-tmpfile.patch: Fix value of O_TMPFILE for architectures with + non-default O_DIRECTORY (BZ #17912) + +------------------------------------------------------------------- +Tue Oct 28 08:56:47 UTC 2014 - schwab@suse.de + +- Update to crypt_blowfish 1.3. + * Add support for the $2b$ prefix. +- ifunc-x86-slow-sse4.patch: Fix misdetected Slow_SSE4_2 cpu feature bit + (BZ #17501) + +------------------------------------------------------------------- +Mon Sep 8 09:48:26 UTC 2014 - schwab@suse.de + +- Update to glibc 2.20 release. + * Reverted change of ABI data structures for s390 and s390x + * Support for file description locks is added to systems running the + Linux kernel + * Optimized strchr implementation for AArch64 + * The minimum Linux kernel version that this version of the GNU C Library + can be used with is 2.6.32 + * Running the testsuite no longer terminates as soon as a test fails + * The am33 port, which had not worked for several years, has been removed + from ports. + * The _BSD_SOURCE and _SVID_SOURCE feature test macros are no longer + supported; they now act the same as _DEFAULT_SOURCE (but generate a + warning) + * Optimized strcmp implementation for ARMv7 + * Added support for TX lock elision of pthread mutexes on s390 and s390x + * All supported architectures now use the main glibc sysdeps directory + instead of some being in a separate "ports" directory + * The NPTL implementation of POSIX pthreads is no longer an "add-on" + * Locale names, including those obtained from environment variables (LANG + and the LC_* variables), are more tightly checked for proper syntax + * On x86-64, the dynamic linker's lazy-binding support is now compatible + with application code using Intel MPX instructions + * CVE-2013-7423 bsc#915526 bsc#934084 bsc#973010 +- Patches from upstream removed + * nss-dns-memleak.patch + * sin-sign.patch + * pldd-wait-ptrace-stop.patch + * nscd-track-startup-failures.patch + * powerpc-opt-power8.patch + * check-pf-alloca.patch + * getaddrinfo-uninit-result.patch + * ppc64-copysign.patch + * nextafterl-ibm-ldouble.patch + * ibm-long-double-math.patch + * ibm-long-double-frexpl.patch + * aarch64-setcontext.patch + * nss-nis-stack-use.patch + * psfaa.patch + * nss-files-long-lines.patch + * setlocale-directory-traversal.patch + * dt-ppc64-num.patch + * ppc64le-profiling.patch + * s390-revert-abi-change.patch + * disable-gconv-translit-modules.patch + * resolv-dont-ignore-second-answer.patch + * iconv-ibm-sentinel-check.patch +- Remove sprof.1, and mtrace.1, now included in the man-pages package + (bsc#967190) + +------------------------------------------------------------------- +Tue Sep 2 07:52:36 UTC 2014 - schwab@suse.de + +- iconv-ibm-sentinel-check.patch: Fix crashes on invalid input in IBM + gconv modules (CVE-2014-6040, bnc#894553, BZ #17325) + +------------------------------------------------------------------- +Tue Aug 26 10:47:31 UTC 2014 - schwab@suse.de + +- disable-gconv-translit-modules.patch: Disable gconv transliteration + module loading (CVE-2014-5119, bnc#892073, BZ #17187) + +------------------------------------------------------------------- +Mon Aug 11 10:01:54 UTC 2014 - schwab@suse.de + +- pthread-mutexattr-gettype-kind.patch: Filter out + PTHREAD_MUTEX_NO_ELISION_NP bit in pthread_mutexattr_gettype + (bnc#888131, BZ #15790) + +------------------------------------------------------------------- +Thu Jul 31 08:06:50 UTC 2014 - schwab@suse.de + +- ppc64le-profiling.patch: fix profiling for ppc64le (bnc#889601, BZ + #17213) +- s390-revert-abi-change.patch: replace with upstream patch, switches + default symbol version back to old version (bnc#887228) + +------------------------------------------------------------------- +Mon Jul 28 10:18:46 UTC 2014 - schwab@suse.de + +- ibm93x-redundant-shift-si.patch: Avoid redundant shift character in + iconv output at block boundary (bnc#886416, BZ #17197) + +------------------------------------------------------------------- +Thu Jul 24 15:35:50 UTC 2014 - schwab@suse.de + +- s390-revert-abi-change.patch: revert back to pre-2.19 layout of jmp_buf + and ucontext_t on s390 (bnc#887228) + +------------------------------------------------------------------- +Tue Jul 22 08:37:38 UTC 2014 - schwab@suse.de + +- dt-ppc64-num.patch: Correct DT_PPC64_NUM (bnc#887169, BZ #17153) + +------------------------------------------------------------------- +Mon Jul 14 08:33:08 UTC 2014 - schwab@suse.de + +- setlocale-directory-traversal.patch: Directory traversal in locale + environment handling (CVE-2014-0475, bnc#887022, BZ #17137) +- Remove the ppc64le check-abi workaround, no longer needed + +------------------------------------------------------------------- +Mon Jun 23 10:33:40 UTC 2014 - schwab@suse.de + +- nss-files-long-lines.patch: Don't ignore too long lines in nss_files + (bnc#883217, BZ #17079) +- Remove locale.1, localedef.1 and iconvconfig.8 manpages, now included in + the man-pages package (bnc#880703) +- manpages.patch: update + +------------------------------------------------------------------- +Mon Jun 16 08:27:38 UTC 2014 - schwab@suse.de + +- psfaa.patch: copy filename argument in posix_spawn_file_actions_addopen + (CVE-2014-4043, bnc#882600, BZ #17048) + +------------------------------------------------------------------- +Wed May 28 15:11:45 UTC 2014 - matz@suse.de + +- glibc-memset-nontemporal.diff: Speedup memset on x86_64 + (bnc#868622, BZ #16830) + +------------------------------------------------------------------- +Thu May 15 15:45:03 UTC 2014 - schwab@suse.de + +- add non-elision-enabled libpthread + +------------------------------------------------------------------- +Mon May 12 13:22:40 UTC 2014 - schwab@suse.de + +- nss-nis-stack-use.patch: fix unbound stack use in NIS NSS module (BZ + #16932) + +------------------------------------------------------------------- +Wed May 7 10:13:24 UTC 2014 - schwab@suse.de + +- getaddrinfo-uninit-result.patch: fix parsing of getai result for + IPv6-only request (bnc#876521) + +------------------------------------------------------------------- +Thu Apr 17 09:13:32 UTC 2014 - schwab@suse.de + +- ibm-long-double-frexpl.patch: Correct IBM long double frexpl + (bnc#872573, BZ #16740, BZ #16619) + +------------------------------------------------------------------- +Tue Apr 15 14:23:54 UTC 2014 - schwab@suse.de + +- ibm-long-double-math.patch: Remove faulty assembler implementations of + ceil, nearbyintl, roundl for IBM long double (bnc#873457, BZ #16701, BZ + #16706, BZ #16707) + +------------------------------------------------------------------- +Tue Apr 15 11:00:59 UTC 2014 - aj@suse.com + +- Use /run for nscd instead of /var/run. + +------------------------------------------------------------------- +Mon Apr 7 09:06:32 UTC 2014 - schwab@suse.de + +- pthread-mutex-destroy.patch: Remove +- pthread-mutex-trylock-elision.patch: Properly handle forced elision in + pthread_mutex_trylock (bnc#865968, BZ #16657) + +------------------------------------------------------------------- +Thu Apr 3 07:32:24 UTC 2014 - schwab@suse.de + +- nextafterl-ibm-ldouble.patch: Correct IBM long double nextafterl + (bnc#871637, BZ #16739) + +------------------------------------------------------------------- +Tue Apr 1 13:33:24 UTC 2014 - schwab@suse.de + +- Readd dependency on sysvinit.target to nscd.service (bnc#868422) +- Make the nscd service part of the nss-lookup and nss-user-lookup targets + (bnc#871386) +- Move _constraints back to main package and update it + +------------------------------------------------------------------- +Tue Apr 1 07:55:19 UTC 2014 - schwab@suse.de + +- ppc64-copysign.patch: Fix ppc64le copysign overwriting parent stack + frame (BZ #16786) +- aarch64-setcontext.patch: Fix aarch64 setcontext clobbering alternate + signal stack (BZ #16629) + +------------------------------------------------------------------- +Mon Mar 31 13:22:56 UTC 2014 - schwab@suse.de + +- powerpc-opt-power8.patch: readd POWER8 implementation of isnan, + isinf, finite with fix for little endian (bnc#871353) +- pthread-mutex-destroy.patch: Skip checks in pthread_mutex_destroy when + doing elision (bnc#865968) + +------------------------------------------------------------------- +Sat Mar 29 16:41:25 UTC 2014 - schwab@suse.de + +- powerpc-opt-power8.patch: remove broken POWER8 implementation of isnan, + isinf, finite; fix missing static symbols +- glibc-2.14-crypt.diff: update for file renaming + +------------------------------------------------------------------- +Thu Mar 27 08:40:20 UTC 2014 - schwab@suse.de + +- check-pf-alloca.patch: remove use of alloca while collecting interface + addresses + +------------------------------------------------------------------- +Tue Mar 25 09:26:44 UTC 2014 - schwab@suse.de + +- abort-no-flush.patch: Don't close or flush stdio streams on abort (BZ + #15436) +- fix-locking-in-_IO_cleanup.patch: always do locking when accessing + streams (bnc#796982, BZ #15142) +- resolv-dont-ignore-second-answer.patch: don't ignore second answer from + nameserver if the first one was empty (bnc#767266, BZ #13651) +- ldd-system-interp.patch: Never try to execute the file in ldd + (CVE-2009-5064, bnc#677787, BZ #16750) + +------------------------------------------------------------------- +Mon Mar 24 12:26:50 UTC 2014 - schwab@suse.de + +- check-pf-alloca.patch: Account for alloca use when collecting interface + addresses (bnc#785041, BZ #16002) + +------------------------------------------------------------------- +Mon Mar 24 07:59:40 UTC 2014 - schwab@suse.de + +- powerpc-opt-power8.patch: two more POWER8 optimisations (bnc#866711, + fate#315443) + +------------------------------------------------------------------- +Thu Mar 20 14:52:47 UTC 2014 - schwab@suse.de + +- getaddrinfo-uninit-result.patch: Fix use of half-initialized result in + getaddrinfo when using nscd (bnc#867636, BZ #16743) + +------------------------------------------------------------------- +Thu Mar 20 07:42:50 UTC 2014 - schwab@suse.de + +- Remove dependency on sysinit.target from nscd.service again (bnc#86422) + +------------------------------------------------------------------- +Wed Mar 19 14:39:55 UTC 2014 - schwab@suse.de + +- powerpc-opt-power8.patch: GLIBC Optimizations For POWER8 Hardware + (bnc#866711, fate#315443) + +------------------------------------------------------------------- +Tue Mar 18 17:10:43 UTC 2014 - schwab@suse.de + +- Make sure nscd is started after sysinit.target (bnc#868422) +- nscd-track-startup-failures.patch: properly track startup failures in + nscd and mark nscd.service as forking (BZ #16639) + +------------------------------------------------------------------- +Thu Mar 6 11:37:51 UTC 2014 - schwab@suse.de + +- Add services and netgroup persistent caches to nscd file list + +------------------------------------------------------------------- +Wed Feb 26 09:03:25 UTC 2014 - schwab@suse.de + +- sin-sign.patch: Fix sign of input to bsloww1 (BZ #16623) +- pldd-wait-ptrace-stop.patch: Update from upstream + +------------------------------------------------------------------- +Mon Feb 24 11:38:41 UTC 2014 - schwab@suse.de + +- nss-dns-memleak.patch: fix memory leak in nss-dns (bnc#863499) +- Don't build glibc-{extra,info,i18ndata,obsolete} and nscd for i686 + +------------------------------------------------------------------- +Mon Feb 10 14:24:29 UTC 2014 - schwab@suse.de + +- Bump minimum kernel to 3.0 + +------------------------------------------------------------------- +Sun Feb 9 13:52:23 UTC 2014 - schwab@suse.de + +- Update to glibc 2.19 release + +------------------------------------------------------------------- +Thu Feb 6 10:38:05 UTC 2014 - schwab@suse.de + +- Update to glibc 2.18.90 ee7cc3853761: + * More bug fixes + * SystemTap probes for slow multiple precision fallback paths of + transcendental functions have been introduced. + * Preliminary documentation about Multi-Thread, Async-Signal and + Async-Cancel Safety has been added. + * Change powerpc64le start ABI to 2.17 +- Add /usr/local/lib64 to ld.so.conf on all lib64 platforms +- Enable profile build for aarch64 +- ppc64le-abilist.patch: Removed + +------------------------------------------------------------------- +Wed Jan 8 12:38:29 UTC 2014 - coolo@suse.com + +- make pwdutils a real buildrequire + Requires(pre) are used during builds, but don't trigger rebuilds. + But to create clearly defined bootstrap projects, it's essential + to know what packages are required for others. So move this requires + to build to a buildrequire + +------------------------------------------------------------------- +Tue Jan 7 14:30:50 UTC 2014 - schwab@suse.de + +- Update to glibc 2.18.90 94c8a4bc574c: + * More bug fixes + * Slovenian translations for glibc messages have been contributed by the + Translation Project's Slovenian team of translators. + +------------------------------------------------------------------- +Thu Dec 19 13:45:17 UTC 2013 - schwab@suse.de + +- Update to glibc 2.18.90 83f5c32d21f7: + * Support for STT_GNU_IFUNC symbols added for ppc64 + * A new feature test macro _DEFAULT_SOURCE is available + * The _BSD_SOURCE feature test macro no longer enables BSD interfaces + that conflict with POSIX. The libbsd-compat library (which was a + dummy library that did nothing) has also been removed. + * Added support for version-3 tz format files +- i686-no-sse42-strstr.patch: Removed + +------------------------------------------------------------------- +Tue Dec 10 15:03:59 UTC 2013 - schwab@suse.de + +- Update to glibc 2.18.90 aeb95445d128: + * More bug fixes + * Support for STT_GNU_IFUNC symbols added for ppc32/power4+ + * The public headers no longer use __unused nor __block + * Support for PowerPC64 ELFv2 ABI +- ppc64le-abilist.patch: ABI lists for PowerLE + +------------------------------------------------------------------- +Mon Nov 25 13:59:52 UTC 2013 - schwab@suse.de + +- Update to glibc 2.18.90 bd12ab55c05e: + * New locales: ak_GH, anp_IN, ar_SS, cmn_TW, hak_TW, lzh_TW, nan_TW, pap_AW, + pap_CW, quz_PE, the_NP. + * Substantially revised locales: gd_GB, ht_HT + * The LC_ADDRESS field was updated to support country_car for almost all + supported locales. + * ISO 1427 definitions were updated. + * ISO 3166 definitions were updated. + * The localedef utility now supports --big-endian and --little-endian + command-line options to generate locales for a different system from that + for which the C library was built. + * Binary locale files now only depend on the endianness of the system for + which they are generated and not on other properties of that system. + * ISO 639 definitions were updated for Chiga (cgg) and Chinese (gan, hak, czh, + cjy, lzh, cmn, mnp, cdo, czo, cpx, wuu, hsn, yue). + * SystemTap probes for malloc have been introduced. + * Support for powerpc64le has been added. + * The soft-float powerpc port now supports e500 processors. +- Remove upstreamed patches: + cbrtl-ldbl-96.patch + fcntl-o-tmpfile.patch + getaddrinfo-overflow.patch + glibc-2.18.tar.xz + glibc-ld-profile.patch + glibc-nscd-hconf.diff + i686-strcasecmp-fallback.patch + m68k-Scrt1.patch + malloc-overflows.patch + nonascii-case.patch + nss-database.patch + printf-overrun.patch + readdir_r-overflow.patch + strcoll-overflow.patch +- Remove obsolete patches: + glibc-2.4.90-revert-only-euro.diff + +------------------------------------------------------------------- +Wed Oct 30 14:05:30 UTC 2013 - schwab@suse.de + +- getaddrinfo-overflow.patch: Fix stack overflow due to large AF_INET6 + requests (CVE-2013-4458, bnc#847227) + +------------------------------------------------------------------- +Mon Oct 21 12:14:38 UTC 2013 - schwab@suse.de + +- Remove SSE4.2 implementation of strstr for x86-32 (bnc#843464) + +------------------------------------------------------------------- +Mon Oct 14 09:32:44 UTC 2013 - schwab@suse.de + +- Depend on gcc defaults for base powerpc optimisations (bnc#844824) + +------------------------------------------------------------------- +Fri Oct 11 08:37:38 UTC 2013 - schwab@suse.de + +- Enable ports addon for m68k and adapt file list +- m68k-Scrt1.patch: Use PIC for Scrt1.o + +------------------------------------------------------------------- +Thu Sep 19 14:12:59 UTC 2013 - schwab@suse.de + +- nscd-server-user.patch: run nscd as user nscd (fate#314673) + +------------------------------------------------------------------- +Thu Sep 12 13:42:23 UTC 2013 - schwab@suse.de + +- malloc-overflows.patch: Fix integer overflows in malloc (CVE-2013-4332, + bnc#839870) + +------------------------------------------------------------------- +Wed Sep 11 10:11:56 UTC 2013 - schwab@suse.de + +- fcntl-o-tmpfile.patch: Add O_TMPFILE to (bnc#837965) +- strcoll-overflow.patch: Update to latest version + +------------------------------------------------------------------- +Tue Aug 13 07:24:59 UTC 2013 - schwab@suse.de + +- Update to glibc 2.18 release + * No source change +- strcoll-overflow.patch: fix buffer overflow in strcoll (CVE-2012-4412, + bnc#779320) +- readdir_r-overflow.patch: fix readdir_r with long file names + (CVE-2013-4237, bnc#834594) + +------------------------------------------------------------------- +Tue Aug 6 09:20:04 UTC 2013 - schwab@suse.de + +- Update to glibc 2.17.90 85891acadf1b: + * CVE-2013-2207 Incorrectly granting access to another user's pseudo-terminal + has been fixed by disabling the use of pt_chown (Bugzilla #15755). + Distributions can re-enable building and using pt_chown via the new configure + option `--enable-pt_chown'. Enabling the use of pt_chown carries with it + considerable security risks and should only be used if the distribution + understands and accepts the risks. + * CVE-2013-0242 Buffer overrun in regexp matcher has been fixed (Bugzilla + #15078). + * CVE-2013-1914 Stack overflow in getaddrinfo with many results has been + fixed (Bugzilla #15330). + * Add support for calling C++11 thread_local object destructors on thread + and program exit. This needs compiler support for offloading C++11 + destructor calls to glibc. + * Improved worst case performance of libm functions with double inputs and + output. + * Support for priority inherited mutexes in pthread condition variables on + non-x86 architectures. + * Optimized string functions for AArch64. Implemented by Marcus Shawcroft. + * Optimized string functions for ARM. Implemented by Will Newton and + Richard Henderson. + * Added a benchmark framework to track performance of functions in glibc. + * New macro named issignaling to check for a signaling NaN (sNaN). + It is based on draft TS 18661 and currently enabled as a GNU extension. + * On Linux, the clock function now uses the clock_gettime system call + for improved precision, rather than old times system call. + * Added new API functions pthread_getattr_default_np and + pthread_setattr_default_np to get and set the default pthread + attributes of a process. + * Added support for TSX lock elision for pthread mutexes on i386 and x86-64. + This may improve lock scaling of existing programs on TSX capable systems. + * Support added for AT_HWCAP2 (to coincide with Linux kernel 3.10 + availability). Implemented by Ryan S. Arnold. + * Support added for POWER8 platform. Implemented by Ryan S. Arnold. +- Remove upstreamed patches: + pthread-cond-timedwait-i486.patch + glibc-aarch64-lib64.patch + arm-ld-so-cache.patch + rtlddir.patch + regexp-overrun.patch + getaddrinfo-overflow.patch + nscd-netgroup.patch + disable-pt-chown.patch + nscd-short-write.patch + big5-hkscs-update.patch.bz2 + digits-dots.patch + strptime-W-week.patch + aarch64-sigsetjmp.patch +- Rediff all remaining patches +- Reenable stackguard randomization on arm +- Recognize ppc64p7 arch to build for power7 +- Remove all ABI extensions from libcrypt +- cbrtl-ldbl-96.patch: fix cbrtl for ldbl-96 + +------------------------------------------------------------------- +Wed Jul 31 12:20:38 UTC 2013 - schwab@suse.de + +- i686-strcasecmp-fallback.patch: fix fallback in i686 + strcasecmp/strncasecmp +- nonascii-case.patch: also test strncasecmp +- pldd-wait-ptrace-stop.patch: fix pldd not to leave process stopped after + detaching (bnc#819383) + +------------------------------------------------------------------- +Mon Jul 22 12:32:34 UTC 2013 - schwab@suse.de + +- disable-pt-chown.patch: disable use of pt_chown (CVE-2013-2207, + bnc#830257) +- nonascii-case.patch: fix strcasecmp in tr_TR.ISO-8859-9 locale +- glibc-2.14-crypt.diff: fix incomplete dependencies for libowcrypt + +------------------------------------------------------------------- +Thu Jul 4 12:14:27 UTC 2013 - schwab@suse.de + +- crypt_blowfish-gensalt.patch: separare crypt_gensalt into its own + library libowcrypt, remove crypt_rn and crypt_ra (fate#314945) +- glibc-2.14-crypt-versioning.diff, glibc-fix-check-abi.patch, + glibc-crypt-badsalttest.patch: folded into glibc-2.14-crypt.diff +- crypt_blowfish-const.patch: constify crypt_blowfish +- crypt_blowfish-1.2-sha.diff: refresh + +------------------------------------------------------------------- +Fri Jun 28 12:26:38 UTC 2013 - dmueller@suse.com + +- add ld-linux.so.3 compat symlink also for armv6hl +- remove deprecated armv7l + +------------------------------------------------------------------- +Wed Jun 19 09:29:55 UTC 2013 - coolo@suse.com + +- rely on systemd-rpm-macros instead of the full thing + +------------------------------------------------------------------- +Mon Jun 17 09:49:24 UTC 2013 - schwab@suse.de + +- nscd-netgroup.patch: Fix handling of netgroup cache in nscd (bnc#819524) + +------------------------------------------------------------------- +Mon Jun 10 08:33:46 UTC 2013 - schwab@suse.de + +- glibc-bindresvport-blacklist.diff: Renamed from + glibc-2.3.90-bindresvport.blacklist.diff; fix resource leaks + (bnc#824046) +- Remove glibc-armhf-compat.patch + +------------------------------------------------------------------- +Mon May 20 08:26:35 UTC 2013 - schwab@suse.de + +- aarch64-sigsetjmp.patch: Fix sigsetjmp on aarch64 + +------------------------------------------------------------------- +Sat May 18 09:34:41 UTC 2013 - schwab@suse.de + +- Fix file list for glibc-utils + +------------------------------------------------------------------- +Thu May 16 12:02:14 UTC 2013 - schwab@suse.de + +- big5-hkscs-update.patch.bz2: Update BIG5-HKSCS charmap to HKSCS-2008 +- digits-dots.patch: Fix parsing of numeric hosts in gethostbyname_r +- nss-database.patch: Properly cache the result from looking up the nss + database config +- strptime-W-week.patch: Properly handle %W in strptime +- printf-overrun.patch: Revert problematic fixes for [BZ #11741] +- glibc-aarch64-lib64.patch: Replace with upstream version +- arm-ld-so-cache.patch: ARM: Support loading unmarked objects from cache +- rtlddir.patch: Add support for rtld directory different from slib + directory +- regexp-overrun.patch: Fix buffer overrun in regexp matcher + (CVE-2013-0242, bnc#801246) +- getaddrinfo-overflow.patch: Fix stack overflow in getaddrinfo with many + results (CVE-2013-1914, bnc#813121) + +------------------------------------------------------------------- +Thu May 16 10:04:01 UTC 2013 - schwab@suse.de + +- When testsuite run fails make all test output available + +------------------------------------------------------------------- +Tue May 7 10:00:00 UTC 2013 - schwab@suse.de + +- Fix check for XEN build in glibc_post_upgrade + +------------------------------------------------------------------- +Sun Apr 14 02:41:52 UTC 2013 - crrodriguez@opensuse.org + +- Do not order nscd after syslog.target + +------------------------------------------------------------------- +Mon Mar 4 14:16:43 UTC 2013 - schwab@suse.de + +- Fix crypt ABI for aarch64 + +------------------------------------------------------------------- +Thu Feb 28 14:30:44 UTC 2013 - schwab@suse.de + +- manpages.patch: + Remove debianisms from manpages (bnc#805054) + +------------------------------------------------------------------- +Mon Feb 18 09:28:23 UTC 2013 - schwab@suse.de + +- Update crypt ABI for aarch64 +- glibc-aarch64-lib64.patch: + Use lib64 for aarch64 and add link for /lib/ld-linux-aarch64.so.1 +- Don't build profiling libraries for aarch64 + +------------------------------------------------------------------- +Tue Feb 5 09:28:44 UTC 2013 - schwab@suse.de + +- Move _constraints file to glibc-testsuite only + +------------------------------------------------------------------- +Sun Feb 3 00:08:54 UTC 2013 - dmueller@suse.com + +- build with ports enabled on aarch64 + +------------------------------------------------------------------- +Thu Jan 31 15:42:07 UTC 2013 - schwab@suse.de + +- Obsolete unscd to migrate back to nscd. + +------------------------------------------------------------------- +Thu Jan 31 09:09:06 UTC 2013 - coolo@suse.com + +- looks like testsuite runs only on kvm, so add _constraint + (actually it does not build on xen, but I can't constraint that) + +------------------------------------------------------------------- +Thu Jan 24 16:33:04 UTC 2013 - schwab@suse.de + +- Don't run testsuite in parallel +- Fail if testsuite fails +- Disable crypt/badsalttest test + +------------------------------------------------------------------- +Tue Jan 8 09:53:38 UTC 2013 - coolo@suse.com + +- add _constraints file to make sure glibc-testsuite only builds on big + hosts. Otherwise it's running out of memory and stalls + +------------------------------------------------------------------- +Thu Dec 27 12:31:13 UTC 2012 - aj@suse.de + +- Set bugurl to bugs.opensuse.org + +------------------------------------------------------------------- +Tue Dec 25 16:50:52 UTC 2012 - aj@suse.de + +- Update to glibc 2.17 release (git id c758a6861537): + * bump version number + * update translations + +------------------------------------------------------------------- +Tue Dec 18 10:28:01 UTC 2012 - schwab@suse.de + +- Move glibc-utils subpackage to own specfile and enable programs that + require libgd +- Filter GLIBC_PRIVATE symbols +- Don't stop at first error in testsuite run + +------------------------------------------------------------------- +Mon Dec 17 11:16:49 UTC 2012 - schwab@suse.de + +- Split off glibc-testsuite package + +------------------------------------------------------------------- +Fri Dec 14 19:31:45 UTC 2012 - aj@suse.de + +- Build profile and locale packages for i686 as well. + +------------------------------------------------------------------- +Wed Dec 12 08:32:53 UTC 2012 - aj@suse.de + +- Update to 4641d57e1e00: + * Updated translations + * bug fixes + +------------------------------------------------------------------- +Mon Dec 10 13:08:01 UTC 2012 - schwab@suse.de + +- pthread-cond-timedwait-i486.patch: + Extend i486 pthread_cond_timedwait to use futex syscall with absolute + timeout +- nscd-short-write.patch: + Properly check for short writes when sending the response in nscd + +------------------------------------------------------------------- +Sat Dec 8 18:55:53 UTC 2012 - aj@suse.de + +- Update to 56e7d3ad5c2f: + * Bugfixes + * Fix warnings building glibc +- Remove upstreamed patch glibc-revert-fseek-on-fclose.diff + +------------------------------------------------------------------- +Mon Dec 3 15:45:08 UTC 2012 - aj@suse.de + +- Remove nosegneg i686 library, it's only used for a 32-bit Xen + hypervisor (not for a 32-bit guest running under 64-bit hypervisor), + and since the 32-bit Xen hypervisor is not part of openSUSE anymore, + it is unneeded (bnc#789607). + +------------------------------------------------------------------- +Mon Dec 3 14:47:22 UTC 2012 - schwab@suse.de + +- Suppress error message from systemctl in %post -n nscd (bnc#792333) + +------------------------------------------------------------------- +Sat Dec 1 08:55:05 UTC 2012 - aj@suse.de + +- Update to f638872ab422: + Fix regression introduced with last update in sunrpc code + Fix assertion failure in resolver + Bug fixes +- Remove upstreamed patch glibc-resolv-assert.diff + +------------------------------------------------------------------- +Fri Nov 30 09:15:15 UTC 2012 - aj@suse.de + +- Update to c93ec1f091ec: + Warn about unsupported DT_FLAGS_1 flags + Add Interlingua locale + Bug fixes + +------------------------------------------------------------------- +Thu Nov 29 14:30:11 UTC 2012 - schwab@suse.de + +- Remove obsolete patches: + glibc-strict-aliasing.diff + nscd-avoid-gcc-warning.diff + +------------------------------------------------------------------- +Wed Nov 28 15:48:32 UTC 2012 - aj@suse.de + +- Update to e3c6aa3a5848: + * Fix powerpc64 make abi check failure + * bugfixes +- Install nscd.socket to new /usr location + +------------------------------------------------------------------- +Wed Nov 28 09:31:11 UTC 2012 - schwab@suse.de + +- Reenable multi-arch on ppc ppc64 + +------------------------------------------------------------------- +Tue Nov 27 21:34:15 UTC 2012 - aj@suse.de + +- Update to de2fd463b1c0: + Various bugfixes including: + * Fix fwrite bug causing grep etc testsuite failure + * sotruss: fix argument parsing + * Check supported DF_1_XXX bits + Add new locales niu_NU and niu_NZ +- Refresh patch glibc-revert-fseek-on-fclose.diff + +------------------------------------------------------------------- +Sat Nov 24 13:48:40 UTC 2012 - aj@suse.de + +- Remove nscd init script, use systemd files. + +------------------------------------------------------------------- +Fri Nov 23 14:33:37 UTC 2012 - matz@suse.com + +- Fix getaddrinfo-ipv6-sanity.diff to apply again. + +------------------------------------------------------------------- +Tue Nov 20 08:06:49 UTC 2012 - aj@suse.de + +- Update to f59cba71d848: + * Various bug fixes + * Add new locales szl_PL, ayc_PE, nhn_MX, doi_IN, mni_IN, sat_IN. + * Remove patch glibc-compiled-binaries.diff since getconf can not be + cross-compiled + * Refresh patch glibc-2.3.90-bindresvport.blacklist.diff + +------------------------------------------------------------------- +Sun Nov 11 09:54:43 UTC 2012 - aj@suse.de + +- Update to current glibc 2.17 development snapshot (git 7e2bd01fcf3c): + * Upstream changes: + + ports is now part of main tarball + + Add port to ARM AArch64 + + New function secure_getenv + + Systemtap static probes + + The `clock_*' suite of functions (declared in ) is now + available directly in the main C library. + + The `crypt' function now fails if passed salt bytes that violate the + specification for those values. On Linux, the `crypt' function will + consult /proc/sys/crypto/fips_enabled to determine if "FIPS mode" is + enabled, and fail on encrypted strings using the MD5 or DES algorithm + when the mode is enabled. + + Optimzations and bug fixes + * remove upstream patches malloc-check-size.patch, + glibc-2.16-getaddrinfo-buffer.patch, sparc-bind-now.patch, + pthread-cond-wait-revert.patch + * Remove now obsolete patch glibc-gai-private4.diff + * Refresh patches glibc-2.14-crypt.diff, glibc-2.14-crypt-versioning.diff, + glibc-fix-check-abi.patch, nss-db-path.patch, glibc-2.3.90-noversion.diff, + glibc-revert-fseek-on-fclose.diff + * Disable patches glibc-compiled-binaries.diff, getaddrinfo-ipv6-sanity.diff + and glibc-gai-private4.diff. + * Use git id instead of ChangeLog date in version output (patch glibc-version.diff) + * Enable multi-arch on all architectures that support it. + +------------------------------------------------------------------- +Wed Nov 7 14:59:06 UTC 2012 - schwab@suse.de + +- Avoid shell comment leaking into %post. + +------------------------------------------------------------------- +Thu Oct 25 07:30:04 UTC 2012 - aj@suse.de + +- Update to glibc 2.16 c3b96f90c9c1: + - Fix missing _mcount@GLIBC_2.0 on powerpc32 (replaces + patch glibc-2.16-ppc32-mcount.patch) +- Drop patch glibc-elf-localscope.diff, fixed upstream in 2.16 + in a different way. + +------------------------------------------------------------------- +Tue Oct 9 07:15:12 UTC 2012 - aj@suse.de + +- Fix malloc_usable_size (swo#1349, bnc#745247) (patch + malloc-check-size.patch). + +- Update to current glibc 2.16 (git a5cfcf08ffaa): + * fix fma detection + * Don't parse %s format argument as multibyte string + * Use size_t instead of int for internal variables in glob + * Properly handle fencepost with MALLOC_ALIGN_MASK + +------------------------------------------------------------------- +Sat Oct 6 08:51:46 UTC 2012 - meissner@suse.com + +- make glibc-devel- require glibc- just + like glibc-devel + +------------------------------------------------------------------- +Fri Sep 28 07:47:33 UTC 2012 - aj@suse.de + +- Fix crash in relocation on sparc with bind-now (swo#14376) + (patch sparc-bind-now.patch). + +------------------------------------------------------------------- +Thu Sep 27 12:20:11 UTC 2012 - aj@suse.de + +- Fix check-abi on more architectures (bnc#780696), patch by Jan + Engelhardt (updated patch glibc-fix-check-abi.patch). + +------------------------------------------------------------------- +Tue Sep 4 11:08:53 UTC 2012 - schwab@linux-m68k.org + +- Move pt_chown to %{_libexecdir} so that baselibs can find it. +- Do create hardlinks to getconf so that baselibs use the correct binary + and getconf -v works (obsoletes patch glibc-2.8-getconf.diff). + +------------------------------------------------------------------- +Tue Aug 28 07:10:49 UTC 2012 - aj@suse.de + +- Update to da1f43196321, major changes: + * Fix strtod integer/buffer overflow (bso#14459). + * Fix segmentation fault in strncasecmp for i686. + * Translation updates + +------------------------------------------------------------------- +Tue Jul 24 08:39:30 UTC 2012 - aj@suse.de + +- Fix _mcount on PowerPC32. + +------------------------------------------------------------------- +Sat Jul 21 07:31:10 UTC 2012 - aj@suse.de + +- Enable parallel build for some more cases. + +------------------------------------------------------------------- +Fri Jul 20 17:00:00 UTC 2012 - aj@suse.de + +- Update to glibc 2.16 release. + * update version numbers + * Documentation updates +- Update manpages from Debian, includes new man pages for + locale.1, mtrace.1, gencat.1 iconvconfig.8. +- Remove getent.1 man page, use the one from man-pages. + +------------------------------------------------------------------- +Fri Jul 20 16:42:42 UTC 2012 - aj@suse.de + +- Update to glibc 2.16 trunk (git id 416bf844227d): + * Fix check-abi for arm + * Refresh some patches. + * remove merged patches + * mainly lots of bug fixes + * Support for ISO C11 + * full details in NEWS file + +------------------------------------------------------------------- +Fri Jul 20 15:06:49 UTC 2012 - jengelh@inai.de + +- Add commit 10f62770e115d9f (glibc-sparc-fxstatat64.diff) from + upstream to resolve rpmlint-induced packaging abort due to + (previously) "no-return-in-nonvoid" +- Add xz as explicit BuildRequires for openSUSE_12.1 + +------------------------------------------------------------------- +Thu Jul 19 23:42:46 UTC 2012 - jengelh@inai.de + +- Do package ld-linux.so.2 on SPARC as well + +------------------------------------------------------------------- +Tue Jul 17 12:22:29 UTC 2012 - aj@suse.de + +- Add makeinfo as build requires to be able to generate the info + pages. + +------------------------------------------------------------------- +Wed Jul 4 13:36:17 UTC 2012 - aj@suse.de + +- Add glibc-2.16-getaddrinfo-buffer.patch to not use a too small + buffer for dns queries on 64-bit systems (bso#14307,bso#13904). +- Fix getaddrinfo-ipv6-sanity.diff (bnc#767125). + +------------------------------------------------------------------- +Mon Jul 2 16:23:15 UTC 2012 - agraf@suse.com + +- Backport *context patch for ARM from 2.16, so we have a working libpth + +------------------------------------------------------------------- +Thu Jun 28 18:46:30 UTC 2012 - aj@suse.de + +- Remove not anymore existing nscd.socket. + +------------------------------------------------------------------- +Thu Jun 28 12:33:50 UTC 2012 - aj@suse.de + +- Update to glibc 2.15-branch (git id 725b8ee08aff): + * Fix regression in cosh (bso#14273) + +------------------------------------------------------------------- +Wed Jun 27 07:34:15 UTC 2012 - aj@suse.de + +- Testsuite is ok to fail on arm + +------------------------------------------------------------------- +Tue Jun 26 07:11:49 UTC 2012 - aj@suse.de + +- Update to glibc 2.15 branch (git id b640404bd8c9): + * Fix fmod implementation that returned NaN for some values. + * Fix strcase_cmp_l x86 multiarch implementation. + * Remove glibc-2.15-avx2.patch, merged now. + +------------------------------------------------------------------- +Thu Jun 21 11:44:59 UTC 2012 - aj@suse.de + +- Fix Bogus FP exception on underflow for exp(double) (bnc#767956) + +------------------------------------------------------------------- +Mon Jun 18 11:04:37 UTC 2012 - aj@suse.de + +- Remove nscd.socket since nscd does not support socket + activation. + +------------------------------------------------------------------- +Wed Jun 13 11:07:15 UTC 2012 - aj@suse.de + +- Build power3 libs on 32-bit PowerPC (bnc#765165). + +------------------------------------------------------------------- +Wed May 23 20:00:55 UTC 2012 - aj@suse.de + +- Update to current git of glibc 2.15 branch: + * obsoletes glibc-2.16-avx.patch, + glibc-2.16-fix-check-localplt.patch + * Fixes for math functions. + +------------------------------------------------------------------- +Wed May 23 11:51:02 UTC 2012 - aj@suse.de + +- Fix first_weekday for tr_TR locale (tr_TR.patch) + +------------------------------------------------------------------- +Wed May 16 08:37:57 UTC 2012 - schwab@linux-m68k.org + +- Fix confstr use of local buffer outside its extent + +------------------------------------------------------------------- +Wed May 9 07:30:36 UTC 2012 - aj@suse.de + +- Split out glibc-armhf-compat.patch from armhf-ld-so.patch. +- Run nscd in the foreground with systemd (glibc-nscd-foreground-patch) + +------------------------------------------------------------------- +Tue May 8 14:00:52 UTC 2012 - aj@suse.de + +- Refresh glibc-2.16-avx.patch and handle FMA4. + +------------------------------------------------------------------- +Thu May 3 11:05:36 UTC 2012 - aj@suse.de + +- Fix dynamic linker name for ARMv5. + +------------------------------------------------------------------- +Thu Apr 26 14:02:37 UTC 2012 - aj@suse.de + +- Fix mcheck (optimization problem with gcc 4.7) + +------------------------------------------------------------------- +Wed Apr 25 10:40:20 UTC 2012 - aj@suse.de + +- Also check for armv7hl. + +------------------------------------------------------------------- +Wed Apr 25 08:47:22 UTC 2012 - adrian@suse.de + +- provide old ld-linux.so.3 on armv7, not catched by find.provides + +------------------------------------------------------------------- +Sun Apr 22 11:35:05 UTC 2012 - aj@suse.de + +- gcc 4.7 does not build crt files properly on powerpc64, backport + patch from upstream to handle this + (glibc-2.16-powerpc-initfini.patch) + +------------------------------------------------------------------- +Fri Apr 20 18:28:18 UTC 2012 - aj@suse.de + +- Disable patch x86-cpuid-level2.patch, this should be fixed in + valgrind now. + +------------------------------------------------------------------- +Thu Apr 19 11:12:43 UTC 2012 - aj@suse.de + +- Reorder patches, refresh to apply cleanly with -p1. + +------------------------------------------------------------------- +Wed Apr 18 11:35:48 UTC 2012 - aj@suse.de + +- Build profiled libs only for base. +- Cleanup patches. +- Remove glibc-2.14-fix-ctors.patch, we have proper support in + binutils now. + +------------------------------------------------------------------- +Tue Apr 17 12:35:21 UTC 2012 - aj@suse.de + +- The dynamic linker for armv7 hardware float is called + /lib/ld-linux-armhf.so.3. Provide symlink for old location. + +------------------------------------------------------------------- +Tue Apr 17 08:29:21 UTC 2012 - aj@suse.de + +- Build for power4 only, don't support power3 anymore. +- Add option to build glibc a bit more quickly for testing purposes. +- Remove disabled patch glibc-revert-netlink-cache.patch. +- Start renumbering patches. + +------------------------------------------------------------------- +Mon Apr 16 14:31:38 UTC 2012 - aj@suse.de + +- Do not build locales and profile for i686 since we only ship + the base and glibc-devel packages. + +------------------------------------------------------------------- +Fri Apr 13 09:35:49 UTC 2012 - aj@suse.de + +- Fix check-abi to succeed. +- Use feof_unlocked in glibc-2.3.90-bindresvport.blacklist.diff. +- Make x86 to be elf/check-localplt clean again +- Refresh some patches to apply without fuzz. + +------------------------------------------------------------------- +Fri Apr 6 09:19:11 UTC 2012 - aj@suse.de + +- Disable building with as-needed since it breaks glibc + (testsuite will fail, even if testsuite does not use as-needed) + +------------------------------------------------------------------- +Thu Apr 5 18:48:06 UTC 2012 - aj@suse.de + +- Another fix for dynamic linking. + +------------------------------------------------------------------- +Thu Apr 5 18:22:36 UTC 2012 - aj@suse.de + +- Properly fix dl_lookup_x crash (glibc-fix-noload.patch), disable + glibc-fix-lookup-crash.patch. + +------------------------------------------------------------------- +Mon Apr 2 09:30:24 UTC 2012 - aj@suse.de + +- Fix building on Armv5 (glibc-add-arm-dependency-libmemusage.patch) + +------------------------------------------------------------------- +Thu Mar 29 07:51:43 UTC 2012 - aj@suse.de + +- Fix crash when nscd is not running (bnc#741021) properly + and disable patch glibc-revert-netlink-cache.patch + +------------------------------------------------------------------- +Fri Mar 23 11:07:32 UTC 2012 - aj@suse.de + +- Fix path for nss_db (bnc#753657). + +------------------------------------------------------------------- +Thu Mar 22 09:41:48 UTC 2012 - aj@suse.de + +- Fix LD_PROFILE invocation. + +------------------------------------------------------------------- +Wed Mar 21 08:45:12 UTC 2012 - aj@suse.de + +- Fix cycle detection in loading of dynamic objects. + +------------------------------------------------------------------- +Wed Mar 14 08:26:52 UTC 2012 - aj@suse.de + +- Update getaddrinfo-ipv6-sanity.diff (bnc#684534). + +------------------------------------------------------------------- +Fri Mar 2 17:01:55 UTC 2012 - aj@suse.de + +- vfprintf: validate nargs and maybe allocate from heap (bnc#747768) + +------------------------------------------------------------------- +Tue Jan 31 13:20:37 UTC 2012 - aj@suse.de + +- Fix checks for AVX (patch glibc-2.16-avx.patch) + +------------------------------------------------------------------- +Tue Jan 31 09:44:07 UTC 2012 - aj@suse.de + +- Use Linux 2.6.32 on x86_64 as oldest supported kernel + +------------------------------------------------------------------- +Tue Jan 31 08:57:15 UTC 2012 - aj@suse.de + +- Fix relocation ordering to fix ifunc crash (bnc#740109). + +------------------------------------------------------------------- +Sun Jan 29 22:47:18 CET 2012 - dmueller@suse.de + +- set abi back to gnueabi for ARM (regression from Jan 12) + +------------------------------------------------------------------- +Wed Jan 18 09:29:24 UTC 2012 - aj@suse.de + +- Update license strings in spec file. + +------------------------------------------------------------------- +Mon Jan 16 13:19:43 UTC 2012 - aj@suse.de + +- Split up new subpackage glibc-extra and move makedb with its + dependency on libselinux to it. (bnc#741525) +- Use lua script for verifyscript to not have a dependency on bash + +------------------------------------------------------------------- +Thu Jan 12 15:42:36 UTC 2012 - aj@suse.de + +- Disable netlink caching (bnc#741021). + +------------------------------------------------------------------- +Thu Jan 12 11:01:41 UTC 2012 - aj@suse.de + +- Use _target_cpu instead of _build and _host. This makes the + i686 library really build for i686. + +------------------------------------------------------------------- +Tue Jan 10 12:31:14 UTC 2012 - aj@suse.de + +- Remove all math ifuncs on x86-64. + +------------------------------------------------------------------- +Tue Jan 10 09:53:58 UTC 2012 - aj@suse.de + +- Remove math ifuncs that cause crashes in apache2 and + gdk-pixbuf-query-loaders-64 (bnc#740109) for now + (glibc-2.15-math64crash.patch). +- nscd needs the same glibc version, add require. + +------------------------------------------------------------------- +Mon Jan 9 08:17:08 UTC 2012 - aj@suse.de + +- Fix realloc usage in vfscanf (glibc-2.16-scanf.patch) +- Fix getcontext on powerpc 32-bit (glibc-ppc-getcontext.patch) + +------------------------------------------------------------------- +Wed Jan 4 09:34:28 UTC 2012 - aj@suse.de + +- Remove patch glibc-2.3.4-gb18030-big5hkscs.diff.bz2 and + replace it by gb18030.patch.bz2 (synced with Fedora 16) + (bnc#743617). + +------------------------------------------------------------------- +Tue Jan 3 19:42:17 UTC 2012 - aj@suse.de + +- Compile unwind-dw2-fde-glibc.c with -fno-strict-aliasing + (patch glibc-strict-aliasing.diff) +- Build on i686 a separate library for usage under Xen. + +------------------------------------------------------------------- +Tue Jan 3 15:36:12 UTC 2012 - aj@suse.de + +- Only use -mno-tls-direct-seg-refs on 32-bit x86, it's not needed + on x86-64. + +------------------------------------------------------------------- +Tue Jan 3 14:37:48 UTC 2012 - aj@suse.de + +- Cleanup spec file: + - experimental malloc is not experimental anymore and only option + (drop patch glibc-malloc-arena-max.diff) + - remove obsolete configure flags + +------------------------------------------------------------------- +Tue Jan 3 08:40:28 UTC 2012 - aj@suse.de + +- Update to 2ba92745c36e: + - Update copyright years + - Fix miscompilation of posix/regex_internal.c with GCC 4.7. + +------------------------------------------------------------------- +Tue Jan 3 08:23:44 UTC 2012 - aj@suse.de + +- Revert pthread-cond-wait change for now since it causes hangs + (patch pthread-cond-wait-revert.patch). + +------------------------------------------------------------------- +Mon Dec 26 12:53:55 UTC 2011 - aj@suse.de + +- Update to c0da14cdda1f (glibc-ports: 8a70b2dcabbf): + - new locales + - many bugfixes + - glibc 2.15 + - obsoletes tzfile-corruption-fix.patch, + glibc-2.14-32args-printf.patch + +------------------------------------------------------------------- +Thu Dec 21 15:16:42 CET 2011 - meissner@suse.de + +- Do not mention the buildtime anymore to make build-compare work. + +------------------------------------------------------------------- +Mon Dec 19 10:01:56 UTC 2011 - aj@suse.de + +- Fix timezone loader overflow (bnc#735850,CVE-2009-5029) (patch + tzfile-corruption-fix.patch) + +------------------------------------------------------------------- +Mon Dec 5 09:29:32 UTC 2011 - aj@suse.de + +- Update to 52ad36a21973 (glibc-ports: 4a40b38f6355): + * fix many warnings + * bugfixes + * obsolete patches glibc-strict-aliasing.diff and + glibc-arm-clone-unwind-fix.diff + + +------------------------------------------------------------------- +Tue Nov 29 03:09:56 UTC 2011 - rcoe@wi.rr.com + +- fix printf with many args and printf arg specifiers (bnc#733140) + +------------------------------------------------------------------- +Thu Nov 24 14:02:55 UTC 2011 - aj@suse.de + +- Updated glibc-ports-2.14.1.tar.bz2 from ftp.gnu.org. + +------------------------------------------------------------------- +Thu Nov 24 09:25:14 UTC 2011 - aj@suse.com + +- Create glibc-devel-static baselibs (bnc#732349). + +------------------------------------------------------------------- +Thu Nov 17 10:27:31 UTC 2011 - aj@suse.de + +- Remove duplicated locales from glibc-2.3.locales.diff.bz2 + +------------------------------------------------------------------- +Tue Nov 15 12:49:56 UTC 2011 - aj@suse.de + +- nscd now monitors resolv.conf, so simplify glibc-2.4.90-nscd.diff + patch and re-enable it +- Adjust and re-enable glibc-2.3.3-nscd-db-path.diff + +------------------------------------------------------------------- +Tue Nov 15 12:10:32 UTC 2011 - aj@suse.de + +- Update to 09f93bd3d6b1: + - Clean up internal fopen uses to always use close-on-exec + - Optimized strcasecmp and strncasecmp for SSSE3 and SSE4.2 on x86-32 + - bugfixes + +------------------------------------------------------------------- +Mon Nov 14 12:02:06 CET 2011 - ro@suse.de + +- check-build.sh: accept kernel 3.x + +------------------------------------------------------------------- +Tue Nov 8 22:55:40 CET 2011 - dmueller@suse.de + +- make glibc-static provide versioned + +------------------------------------------------------------------- +Tue Nov 8 18:20:39 CET 2011 - dmueller@suse.de + +- fix building with ports again: + * ifuncs tracing backport requires adjustments + +- avoid using asynchronous-unwind-tables only during configure, + but still built the library with unwind tables enabled +- replace arm build hack with a proper solution + +------------------------------------------------------------------ +Mon Nov 7 21:06:32 CET 2011 - dmueller@suse.de + +- update glibc-ports to 2.14.1: + * Align the constant pool in start.S to 4 bytes. + * sysdeps/unix/sysv/linux/arm/eabi/internal_sendmmsg.S: New. +- Fix unwinding crash when using clone() + +------------------------------------------------------------------- +Wed Nov 2 13:52:36 UTC 2011 - aj@suse.de + +- Update to d35dce5213b3: + - caching of network information for getaddrinfo + - bugfixes + +------------------------------------------------------------------- +Sat Oct 29 18:37:46 UTC 2011 - aj@suse.de + +- Update to 21b64b153631: + - various bugfixes + +------------------------------------------------------------------- +Thu Oct 27 08:44:14 UTC 2011 - aj@suse.de + +- Update to 804791474dc1: + - more libm optimizations +- Remove AMD libm routines due to new upstream libm optimizations + and interfaces. +- Fix build on x86. + +------------------------------------------------------------------- +Mon Oct 24 19:02:46 UTC 2011 - aj@suse.de + +- Update to a201fbcf9cc3: + - More libm optimizations + - Optimize wcslen, strnlen + +------------------------------------------------------------------- +Thu Oct 20 08:58:47 UTC 2011 - aj@suse.de + +- Ignore failure of chkstat (bnc#725145). + +------------------------------------------------------------------- +Wed Oct 19 12:07:41 UTC 2011 - aj@suse.de + +- Provide glibc-static from glibc-devel-static to make packaging + easier. glibc-static is the Fedora name. + +------------------------------------------------------------------- +Tue Oct 18 07:42:40 UTC 2011 - aj@suse.de + +- Update to glibc head 99ce7b04edf1: + - Optimize many libm functions + - Optimize access to isXYZ and toXYZ tables + - Optimized memcmp and wmemcmp for x86-64 and x86-32 + - Add parameter annotation to modf + - Support optimized isXXX functions in C++ code + - Optimized memchr, memrchr, rawmemchr for x86-32 + - Add nscd netgroupcache +- Disable libm-x86-64.diff.bz2 since it needs changes following the + libm optimzations. + +------------------------------------------------------------------- +Mon Oct 17 07:47:54 UTC 2011 - aj@suse.de + +- Remove fma, fmaf from libm-x86-64.diff.bz2, they are not accurate + (bso#13304). + +------------------------------------------------------------------- +Tue Oct 11 09:51:46 UTC 2011 - aj@suse.de + +- Update to current git 4f2b767fef50 + * Correctly reparse group line after enlarging the buffer + * 2.14.1 release + +------------------------------------------------------------------- +Mon Oct 10 14:07:44 UTC 2011 - aj@suse.de + +- Fix tracing with ifuncs. + +------------------------------------------------------------------- +Tue Oct 4 14:10:13 UTC 2011 - uli@suse.com + +- cross-build: use %__cc, %__cxx, %_build, %_host +- mipsel: install ports, disable FP + +------------------------------------------------------------------- +Fri Sep 30 17:14:04 CEST 2011 - dmueller@suse.de + +- avoid build failure on %%arm + +------------------------------------------------------------------- +Thu Sep 29 12:58:59 UTC 2011 - aj@suse.de + +- Update to 68577918437e: + * Obsoleted patches: glibc-gconvcache-s390.diff, + glibc-2.3.5-nscd-zeronegtimeout.diff, + glibc-x86-bits-sigcontext.patch, + glibc-2.15-getsysstats-speedup.patch, glibc-2.13-warnings.fix, + glibc-2.13-localedef.patch, + glibc-fix-rwlock-stack-imbalance.patch, glibc-2.15-vsyscall.patch, + glibc-2.15-avoid-vsyscall.patch + +------------------------------------------------------------------- +Thu Sep 29 07:40:25 UTC 2011 - adrian@suse.de + +- just use %arm for right arm architectures + +------------------------------------------------------------------- +Tue Sep 27 11:24:02 UTC 2011 - aj@suse.de + +- Update to 2.14 git version 8bd683657e8a, it contains backports from + glibc trunk: + + Avoid race between {,__de}allocate_stack and __reclaim_stacks + during fork +- Add glibc-2.14-fix-ctors.patch to run ctors (bnc#717671), gcc 4.6 + optimized these away. + +------------------------------------------------------------------- +Mon Sep 26 12:30:09 UTC 2011 - adrian@suse.de + +- don't use -fasynchronous-unwind-tables on arm, it breaks the build + +------------------------------------------------------------------- +Thu Sep 22 21:07:43 CEST 2011 - dmueller@suse.de + +- fix ports build + +------------------------------------------------------------------- +Thu Sep 22 13:10:02 UTC 2011 - adrian@suse.de + +- don't enforce armv5tel for all arm architectures anymore +- armv8l architecture does not exist + +------------------------------------------------------------------- +Tue Sep 20 07:54:21 UTC 2011 - aj@suse.de + +- Cleanup spec file: remove some tags + +------------------------------------------------------------------- +Mon Sep 19 08:09:40 UTC 2011 - opensuse@cboltz.de + +- move usr.sbin.nscd apparmor profile back to apparmor-profiles package + (bnc#647718) + +------------------------------------------------------------------- +Mon Sep 19 07:45:36 UTC 2011 - aj@suse.de + +- Update to 2.14 git version 69c1dfc1a796, it contains backports from + glibc trunk: + + Fix setxid race handling exiting threads + + Fix cfi directives in x86-64 and i386 code + + Fix scope handling during dl_close + + Fix spurious nop at start of __strspn_ia32 + + Correct cycle detection during dependency sorting + + Fix fopen (non-existing-file, "re") errno (Obsoletes patch + fopen-close-exec.patch) + +------------------------------------------------------------------- +Fri Sep 16 11:20:29 UTC 2011 - mmarek@suse.cz + +- Fix assertion error in res_query.c, triggered by Firefox + (bso#13013). + +------------------------------------------------------------------- +Wed Sep 7 07:17:16 UTC 2011 - aj@suse.de + +- Avoid usage of vsyscalls inside glibc. + +------------------------------------------------------------------- +Tue Sep 6 09:53:24 CEST 2011 - aj@suse.de + +- Prefer real syscalls instead of vsyscalls on x86-64 outside + libc.so + +------------------------------------------------------------------- +Mon Sep 5 10:06:23 UTC 2011 - aj@suse.de + +- Do not not trigger an abort when an i586 Intel CPU is running the + i686 library, as valgrind does. [bnc#681398] + +------------------------------------------------------------------- +Mon Sep 5 08:26:24 UTC 2011 - aj@suse.de + +- Readd vdso support. +- Add patch to relocate objects in dependency order, this fixes the + vdso support. + +------------------------------------------------------------------- +Sat Sep 3 19:39:03 UTC 2011 - aj@suse.de + +- Revert last change, it caused some breakage. [bnc#715854] + +------------------------------------------------------------------- +Thu Sep 1 20:49:16 UTC 2011 - aj@suse.de + +- Add support for new vdso (3.1 kernel) and only then + for vsyscall which is not anymore in 3.1 kernel + (patch glibc-2.15-vsyscall.patch) + +------------------------------------------------------------------- +Thu Aug 25 09:44:37 UTC 2011 - lnussel@suse.de + +- use symbol version OW_CRYPT_1.0 for the Owl extensions + (crypt_r[an], crypt_gensalt.*) +- refactor sha2 gensalt patch +- document sha2 hashes in man page + +------------------------------------------------------------------- +Mon Aug 22 13:12:18 UTC 2011 - aj@suse.de + +- Update AppArmor profile of nscd [bnc#647718] + +------------------------------------------------------------------- +Fri Aug 19 13:26:11 UTC 2011 - aj@suse.de + +- Fix fopen("non-existing-file", "re") errno [bnc#713146]. + +------------------------------------------------------------------- +Thu Aug 18 11:55:08 UTC 2011 - aj@suse.de + +- Mark glibc-info, glibc-html and glibc-i18ndata as noarch packages. + +------------------------------------------------------------------- +Wed Aug 17 18:57:00 UTC 2011 - matz@suse.de + +- Fix crash (access-after-free) in dl_lookup_x. [bnc#703140] + +------------------------------------------------------------------- +Wed Aug 17 18:56:03 UTC 2011 - aj@suse.de + +- Enhance rpmlintrc to ignore shlib policy violation. +- Remove obsolete patches glibc-fnmatch-multibyte.diff, + glibc-2.3.1.localedef.diff, glibc-2.10-nscd-nostack.diff. + +------------------------------------------------------------------- +Wed Aug 17 14:47:11 UTC 2011 - aj@suse.de + +- Update to current 2.14 branch: Various bugfixes. + Remove upstreamed patches missing-include-build-fix.diff, + glibc-2.14-res_send.patch, glibc-dl-fxstatat64.patch) + +------------------------------------------------------------------- +Wed Aug 17 14:09:50 UTC 2011 - aj@suse.de + +- Revert removal of sunrpc code (patch glibc2.14-revert-sunrpc-removal.patch). + +------------------------------------------------------------------- +Fri Aug 12 14:55:12 CEST 2011 - matz@suse.de + +- Revert seeking on fclose, incomplete implementation of POSIX + behaviour can confuse current users. [bnc #711829] + (patch glibc-revert-fseek-on-fclose.diff) + +------------------------------------------------------------------- +Fri Jul 22 13:47:23 UTC 2011 - lnussel@suse.de + +- fix signature of sha2 functions + +------------------------------------------------------------------- +Thu Jul 21 12:37:09 UTC 2011 - rhafer@suse.de + +- Disable rewriting ::1 to 127.0.0.1 for /etc/hosts entries. + (bnc#684534, bnc#706719) + (patch glibc-fix-double-loopback.diff) + +------------------------------------------------------------------- +Wed Jul 20 15:04:33 UTC 2011 - lnussel@suse.de + +- install crypt_blowfish man pages + +------------------------------------------------------------------- +Tue Jul 19 12:19:22 UTC 2011 - aj@suse.de + +- Back to old glibc-2.2-sunrpc.diff for now. + +------------------------------------------------------------------- +Tue Jul 19 08:41:55 UTC 2011 - lnussel@suse.de + +- update crypt_blowfish to version 1.2 (bnc#700876) + * due to the signedness bug fix 2a hashes are incompatible with + previous versions if the password contains 8bit chracters! + * libcrypt now exports crypt_gensalt + +------------------------------------------------------------------- +Fri Jul 15 07:54:46 UTC 2011 - aj@suse.de + +- Update to glibc 2.14: + * The RPC implementation in libc is obsoleted. Old programs keep working + but new programs cannot be linked with the routines in libc anymore. + Programs in need of RPC functionality must be linked against TI-RPC. + The TI-RPC implementation is IPv6 enabled and there are other benefits. + * Various bugfixes, new locales, new linux kernel interfaces. + * New program sotruss to traces calls through PLTs + * Removed the following obsoleted patches: glibc-2.6-configure.diff, + glibc-disable-backward-memcpy.diff, glibc-static-memcpy.diff, + glibc-zarch-longlong.diff, glibc-bso-12454.diff, + glibc-vfprintf-positional.diff +- Build without -fno-strict-aliasing. + +------------------------------------------------------------------- +Tue Jul 12 14:21:29 UTC 2011 - aj@suse.de + +- Remove ppc-atomic.diff after discussion with glibc PPC experts + since it does not bring any real benefit. + +------------------------------------------------------------------- +Thu Jul 7 14:50:15 UTC 2011 - aj@suse.de + +- Update glibc-2.2-sunrpc.diff with newer patch from sourceware + bugzilla (bs#bso#5379). + +------------------------------------------------------------------- +Wed Jul 6 08:24:45 UTC 2011 - lnussel@suse.de + +- enable glibc-2.8-getconf.diff again to fix build failure + +------------------------------------------------------------------- +Tue Jul 5 20:22:50 UTC 2011 - aj@suse.de + +- Add systemd configuration for nscd. + +------------------------------------------------------------------- +Tue Jul 5 08:03:26 UTC 2011 - aj@suse.de + +- Remove glibc-statfs64-ia64.diff since current ia32el has the bug + fixed. +- Remove glibc-ppc64-vdso-time.diff (bnc#590216). + +------------------------------------------------------------------- +Mon Jul 4 10:00:46 UTC 2011 - aj@suse.de + +- Further cleanup of ld.so.conf to remove duplicate directories + and allow override of system directories (bnc#671725) +- Fix futex bug (added patch glibc-fix-rwlock-stack-imbalance.patch + from sourceware bug #12403). + +------------------------------------------------------------------- +Fri Jul 1 16:09:14 UTC 2011 - aj@suse.de + +- Remove glibc-2.10.99-ia64-include.diff, it's not needed anymore. +- Disable obsolete patches glibc-fnmatch-multibyte.diff, + glibc-2.10-nscd-nostack.diff, glibc-2.3.1.localedef.diff +- Add glibc-2.13-localedef.patch to fix alignment problem. +- Adjust glibc-version.diff, FLOATING_STACKS variable is obsolete. + +------------------------------------------------------------------- +Thu Jun 30 12:17:33 UTC 2011 - aj@suse.de + +- Remove old ARM patches as it's unclear why those are needed and arm + support is anyhow broken according to comments here and in spec + files. + +------------------------------------------------------------------- +Thu Jun 30 11:22:02 UTC 2011 - aj@suse.de + +- Back to kernel 2.6.16 as minimal kernel version. + +------------------------------------------------------------------- +Tue Jun 28 12:30:34 UTC 2011 - aj@suse.de + +- Only apply glibc-statfs64-ia64.diff on SLE but not on openSUSE. + +------------------------------------------------------------------- +Mon Jun 27 12:19:47 UTC 2011 - aj@suse.de + +- Disable exp_malloc on PPC platforms for now since it caused a + build failure. + +------------------------------------------------------------------- +Mon Jun 27 11:00:33 UTC 2011 - aj@suse.de + +- Update glibc-x86-bits-sigcontext.patch with version accepted + upstream. +- Add glibc-2.15-getsysstats-speedup.patch to "Fix Linux + sysconf(_SC_NPROCESSORS_[CONF|ONLN]) performance problem" +- Fix warning about potential array subscript out of bounds + (glibc-2.13-wranings.fix). +- Fix some rpmlint warnings. + +------------------------------------------------------------------- +Tue Jun 21 10:59:33 UTC 2011 - aj@suse.de + +- Cleanup spec file, change PreReqs. +- Remove obsolete patches: glibc-2.3.90-ld.so-madvise.diff, + glibc-suse-note.diff, glibc-2.3-regcomp.diff. +- Rename glibc-2.3-SuSE.diff to glibc-testsuite.patch, remove obsolete + parts. + +------------------------------------------------------------------- +Mon Jun 20 12:47:46 UTC 2011 - aj@suse.de + +- Enhance rpmlintrc. +- move summary,license and group out of the not-ppc if (by Marcus + Meissner). + +------------------------------------------------------------------- +Mon Jun 20 11:02:01 UTC 2011 - aj@suse.de + +- Remove PreReq on permissions to avoid a cycle that gives leads to + an uninstallable system (bnc#700925). +- Fix on x86 - fixes scpm compilation + (bnc#700784). + +------------------------------------------------------------------- +Fri Jun 17 09:50:19 UTC 2011 - aj@suse.de + +- Cleanup ld.so.conf list, move kde directories to + kdelibs3 (bnc#671725). + +------------------------------------------------------------------- +Fri Jun 17 07:07:37 UTC 2011 - aj@suse.de + +- Do not package memusage and memusagestat since they require + lib-gd and that grows the build cycle. + +------------------------------------------------------------------- +Thu Jun 16 18:37:19 UTC 2011 - aj@suse.de + +- Fix handling of shared library preloading. + +------------------------------------------------------------------- +Thu Jun 16 13:33:23 UTC 2011 - aj@suse.de + +- Fix getaddrinfo IPv6 code (bnc#684534). +- Split up glibc-devel-static subpackage (bnc#655261). + +------------------------------------------------------------------- +Thu Jun 16 12:23:32 UTC 2011 - aj@suse.de + +- Reorder ld.so.conf library list (bnc#671725). + +------------------------------------------------------------------- +Wed Jun 15 07:08:35 UTC 2011 - aj@suse.de + +- Split up package glibc-utils with some debugging tools, add memusage + and memusagestat programs +- Fix compile warnings. +- Silence some rpmlint warnings. +- Remove obsolete patches glibc-2.3.2-revert_tcsetattr.diff, + glibc-2.8-clone.diff, glibc-nptl-2.4-nofixsyscallnr.diff +- Cleanup spec file. +- Use new permission handling for pt_chown. +- Build without -fno-strict-aliasing. + +------------------------------------------------------------------- +Mon Jun 6 14:19:26 UTC 2011 - aj@suse.de + +- Fix typos in /etc/gai.conf (bnc#651912). + +------------------------------------------------------------------- +Fri Jun 3 08:40:55 UTC 2011 - aj@suse.de + +- Use 2.6.5 as oldest supported kernel on all archs besides x86 and + x86-64 (reverting partially a change). + +------------------------------------------------------------------- +Fri May 27 11:55:35 UTC 2011 - aj@suse.de + +- Remove patches that are not needed anymore: + * glibc-selinux.diff + * glibc-check-native-missing-include.diff + * glibc-2.3.3-execstack.diff +- Disable the following patches, they look obsolete by now but leave them + in to easy enable them again: + * glibc-2.3-SuSE.diff + * glibc-2.3-regcomp.diff + * glibc-2.8-clone.diff + * glibc-2.3.2-revert_tcsetattr.diff +- Do not package glibc-obsolete with empty directory on archs that + don't need it. + +------------------------------------------------------------------- +Thu May 26 07:53:51 UTC 2011 - aj@suse.de + +- Add glibc-static-memcpy.diff to fix static compiles. + +------------------------------------------------------------------- +Wed May 25 15:28:37 UTC 2011 - aj@suse.de + +- Run on kernel 2.6.32 or newer only - and optimize thus. +- Enable malloc implementation that is be less memory efficient + but higher performing in multi-threaded programs. +- Use --enable-bind-now to avoid lazy binding in ld.so + and libc.so + +------------------------------------------------------------------- +Wed May 25 14:38:58 UTC 2011 - aj@suse.de + +- Add glibc-bso-12454.diff to not create assert running dynamic linker + in some cases. +- Disable backwards memcpy for x86-64. + +------------------------------------------------------------------- +Wed May 25 07:59:27 UTC 2011 - aj@suse.de + +- Add glibc-dl-signal-error.diff to not crash the dynamic linker + if dependencies are missing. + +------------------------------------------------------------------- +Mon May 23 08:44:47 UTC 2011 - rguenther@novell.com + +- Update longlong.h from GCC sources. Fixes s390 build with -mzarch. + [bnc#695102] + +------------------------------------------------------------------- +Fri May 20 14:45:44 UTC 2011 - aj@suse.de + +- Fix obsoletes and provides. +- Update to glibc 2.13 +- Drop ld-prelink-unique.diff, it is part of 2.13. + +------------------------------------------------------------------- +Tue Feb 22 12:57:07 CET 2011 - pbaudis@suse.cz + +- Fix potential removal of required local scope from shared objects + marked as NODELETE [bnc#657627] + +------------------------------------------------------------------- +Fri Feb 4 00:46:40 CET 2011 - pbaudis@suse.cz + +- Upgrade to latest release/2.11/master - glibc-2.11.3-b72646ad0c41 + - Random assortion of bugfixes, some #defines for new kernels +- Retired patches: + - glibc-2.11.3-bnc658509.diff + - glibc-2.11.3-bso12397.diff + - glibc-sparc64-fxstat.diff +- Remove the NSS hack of opening modules using RTLD_DEEPBIND. + This was useful for nss_ldap, since some applications used a different + LDAP library with clashing symbol names. However, it also created + many headaches, especially with the NSS modules not respecting + malloc() overrides. Now, sssd is used by default for LDAP resolutions + and we can therefore safely get rid of the hack. [bnc#477061] +- Remove the currently disabled AMD string function overrides. + Benchmarking did not unearth any differences that would make + convincing case for keeping the functions with all the associated + maintenance headaches; AMD does not recommend keeping their custom + versions of the functions either. +- Introduce MALLOC_ARENA_MAX and M_ARENA_MAX support [bnc#659090] +- Fixed stack unwinding past glibc _fini function (proper showing + of destructor backtraces) [bnc#585879] +- Fix gconv cache generation on s390 [bnc#592944] +- Add missing iconvconfig for refreshing gconv.cache to glibc-locale %post +- Fixed stack corruption in *printf() with large number of positional + specifiers [bnc#666179] + +------------------------------------------------------------------- +Fri Jan 28 14:53:35 UTC 2011 - rguenther@novell.com + +- Fix ENOSYS detection for mkdirat. [bso#12397] + +------------------------------------------------------------------- +Thu Dec 9 12:33:35 UTC 2010 - rguenther@novell.com + +- Drop restrict qualifiers from memmove and bcopy fortify wrappers. + [bnc#658509] + +------------------------------------------------------------------- +Tue Nov 30 01:53:42 CET 2010 - pbaudis@suse.cz + +- Upgrade to glibc-2.11.3 + - Just few more bugfixes since the latest upgrade + +------------------------------------------------------------------- +Tue Nov 16 04:03:01 CET 2010 - pbaudis@suse.cz + +- Remove explicit support for nss SPLIT_GROUPS setting; glibc from + 2.11 on should handle this automagically. + +------------------------------------------------------------------- +Mon Nov 15 18:43:35 CET 2010 - pbaudis@suse.cz + +- Upgrade to latest release/2.11/master - glibc-2.11.2-dd2fde461e30 + - Candidate tree for glibc-2.11.3 + - Multitude of various bug fixes + +------------------------------------------------------------------- +Mon Nov 15 18:29:49 CET 2010 - pbaudis@suse.cz + +- Enable multi-arch routines support for ppc, ppc64, i686 and x86_64. + + Temporarily, AMD-optimized string routines are disabled. We will + selectively re-enable them after some more careful benchmarking + in the next few days. + + Note: In this glibc version, multi-arch routines DO NOT include + the controversial backwards-copy memcpy(). + +------------------------------------------------------------------- +Wed Oct 27 03:14:37 CEST 2010 - pbaudis@suse.cz + +- Fix missing hconf setup in nscd - this meant `multi on` in + /etc/host.conf was ignored when nscd was used, breaking e.g. + resolving of multi-AF records in /etc/hosts [bnc#572188] +- Fix two LD_AUDIT security vulnerabilities: spurious $ORIGIN expansion + and missing setuid library check when running as setuid [bnc#646960] + +------------------------------------------------------------------- +Mon Sep 13 14:36:26 UTC 2010 - aj@suse.de + +- Fix build in manual with make 3.82. + +------------------------------------------------------------------- +Sun Sep 12 08:00:57 UTC 2010 - aj@suse.de + +- Work around shortest-stem feature in make 3.82+ (patch + glibc-make-3.82.patch) + +------------------------------------------------------------------- +Wed Jul 7 04:12:05 CEST 2010 - pbaudis@suse.cz + +- Fix NIS-compat initgroups routine to work reliably over multiple + invocations [bnc#607064] + +------------------------------------------------------------------- +Thu Jul 1 19:52:56 UTC 2010 - jengelh@medozas.de + +- SPARC: restore fxstat functionality in sparc64 mode + +------------------------------------------------------------------- +Sat Jun 26 10:26:17 UTC 2010 - jengelh@medozas.de + +- Use %_smp_mflags + +------------------------------------------------------------------- +Fri Jun 11 15:41:07 CEST 2010 - pbaudis@suse.cz + +- Upgrade to latest release/2.11/master - glibc-2.11.2-21580967038a + - Fix buggy x86 CPU family and model check + - Fix sunrpc error condition handling + - Fix crash on unresolved weak symbol reference + +------------------------------------------------------------------- +Tue Jun 1 03:38:28 CEST 2010 - pbaudis@suse.cz + +- Fix ldconfig -r failing on aux cache [bnc#609345] + +------------------------------------------------------------------- +Thu May 20 02:19:28 CEST 2010 - pbaudis@suse.cz + +- Upgrade to glibc-2.11.2 (f2020c64596a) + - Virtually no changes since previous revision, just official tag + +------------------------------------------------------------------- +Wed May 12 04:24:13 CEST 2010 - pbaudis@suse.cz + +- Upgrade to latest release/2.11/master - glibc-2.11.1-6d270188ef3f + - This contains considerable amount of bugfixes cherrypicked from + the master branch, slated to become glibc-2.11.2 soon with little + further changes + +------------------------------------------------------------------- +Mon May 10 23:33:35 CEST 2010 - pbaudis@suse.cz + +- Add a hint about /etc/host.conf mdns option removal to the parser + error reporting [bnc#569273] + +------------------------------------------------------------------- +Tue May 4 05:47:41 UTC 2010 - aj@suse.de + +- Handle /var/run on tmpfs + +------------------------------------------------------------------- +Mon Apr 26 22:09:40 CEST 2010 - pbaudis@suse.cz + +- Remove stale resolv.dynamic.diff patch file + +------------------------------------------------------------------- +Thu Apr 22 08:30:50 CEST 2010 - meissner@suse.de + +- for powerpc32 build a generic library and also a power4 library + to allow older 32bit powerpc to work. bnc#596271 + +------------------------------------------------------------------- +Tue Apr 20 13:15:19 CEST 2010 - pbaudis@suse.cz + +- Consider private IPv4 addresses as global-scope in gai.conf [bnc#597616] + +------------------------------------------------------------------- +Wed Mar 24 13:04:12 CET 2010 - pbaudis@suse.cz + +- Fix get_nprocs() large CPU count handling [bnc#590665] + +------------------------------------------------------------------- +Tue Mar 23 15:09:09 CET 2010 - pbaudis@suse.cz + +- Fix interference of STB_GNU_UNIQUE and prelink [bnc#586979] +- Make time() use VDSO on PPC64 [bnc#590216] +- Make pthread_cond_timedway() use VDSO on PPC64 [bnc#590517] + +------------------------------------------------------------------- +Thu Mar 18 14:45:34 CET 2010 - pbaudis@suse.cz + +- Add PreReq for cat to glibc-locale [bnc#588997] + +------------------------------------------------------------------- +Thu Mar 18 14:29:42 CET 2010 - pbaudis@suse.cz + +- Fix /etc/resolv.conf change detection for multi-threaded applications + (by Sebastian Kienzl) + +------------------------------------------------------------------- +Fri Mar 5 12:59:44 CET 2010 - pbaudis@suse.cz + +- Fix spurious mapping from lowercase sharp s to uppercase sharp S + which is less standard and causes problems for ISO encodings [bnc#541773] + +------------------------------------------------------------------- +Mon Mar 1 18:55:37 CET 2010 - pbaudis@suse.cz + +- Fix spurious overflow messages on some R_X86_64_PC32 relocations, + patch by Richard Guenther [bnc#583019] + +------------------------------------------------------------------- +Wed Feb 24 11:53:41 CET 2010 - pbaudis@suse.cz + +- Fix assertion failures within valloc(), patch by Michael Matz + [bnc#581391] + +------------------------------------------------------------------- +Wed Feb 17 12:02:24 CET 2010 - pbaudis@suse.cz + +- S/390: Disable two UTF conversion instructions due to the hardware + mishandling some error conditions in the input stream [bnc#579871] + +------------------------------------------------------------------- +Mon Feb 15 22:34:29 CET 2010 - pbaudis@suse.cz + +- Further fix previous power5 fix + +------------------------------------------------------------------- +Sun Feb 14 15:33:33 CET 2010 - rguenther@suse.de + +- avoid spurious differences in nscd on rebuilds. + +------------------------------------------------------------------- +Thu Feb 11 21:36:32 CET 2010 - pbaudis@suse.cz + +- Fix another upgrade problem on power5 and older - correctly remove + the old optimized libraries; found out by matz@suse.de [bnc#563978] + +------------------------------------------------------------------- +Fri Feb 5 21:07:54 CET 2010 - pbaudis@suse.cz + +- Final fix for memchr() overflow on IA64 provided by upstream + [bnc#567516] + +------------------------------------------------------------------- +Thu Jan 28 17:11:59 CET 2010 - pbaudis@suse.cz + +- Fix another memchr() overflow on IA64; another known one still + remains a mystery [bnc#567516] + +------------------------------------------------------------------- +Wed Jan 27 02:49:46 CET 2010 - pbaudis@suse.cz + +- Remove now-obsolete powerpc-cpu addon usage [bnc#572819] +- Fix statfs64() on IA64 in 32-bit mode ia32el [bnc#534828] + +------------------------------------------------------------------- +Tue Jan 26 03:33:38 CET 2010 - pbaudis@suse.cz + +- Fix upgrade from previous distributions on power5 and older [bnc#563978] + +------------------------------------------------------------------- +Mon Jan 25 17:35:25 CET 2010 - meissner@suse.de + +- ignore power6, power7 and cell specific Power CPU optimizations + on openSUSE. + +------------------------------------------------------------------- +Tue Jan 19 02:42:40 CET 2010 - pbaudis@suse.cz + +- Disable AMD-optimized strncmp() on x86_64 that is getting miscompiled + by the assembler [bnc#540647] + +------------------------------------------------------------------- +Mon Jan 18 18:22:32 CET 2010 - pbaudis@suse.cz + +- Upgrade to latest release/2.11/master - glibc-2.11.1-11c19d374bd4 + - Just trivial changes - version bump to 2.11.1, NIS-related + resolver fixes, ELF lookup race, .h typo fix and regcomp + out-of-memory handling miss + - Few more bugfixes, weekday updated in three locales +- Retired patches: + glibc-ia64-memchr.diff + +------------------------------------------------------------------- +Mon Dec 14 23:49:33 CET 2009 - jengelh@medozas.de + +- add baselibs.conf as a source + +------------------------------------------------------------------- +Fri Dec 11 13:13:01 CET 2009 - jengelh@medozas.de + +- libnldbl_nonshared is only built for sparc32 + +------------------------------------------------------------------- +Tue Dec 8 20:50:26 CET 2009 - jengelh@medozas.de + +- package libnldbl_nonshared for SPARC + +------------------------------------------------------------------- +Fri Nov 20 01:55:16 CET 2009 - pbaudis@suse.cz + +- Upgrade to latest release/2.11/master - glibc-2.11-1bc1954c7357: + - This snapshot is slated to become 2.11.1 if all goes well + - Mix of fixes for various recently found out issues +- Retired patches: + glibc-ifunc-dlsym-fixup.diff +- [IA64] Fix memchr() on mmap(MAP_SHARED) boundary [fix lighttpd crashes] +- Again use 127.0.0.1 as default nameserver in case of empty + /etc/resolv.conf [bnc#473308] + +------------------------------------------------------------------- +Thu Nov 19 13:15:41 CET 2009 - pbaudis@suse.cz + +- Add 623 and 664 to /etc/bindresvport.blacklist to fix problems with + port conflict on some IPMI network cards [bnc#513961] +- Allow external additions to /usr/share/locale/locale.alias and + /usr/lib/gconv/gconv-modules, required for the SAP-locales package. +- Add delimiter in front of external additions to locale/gconv lists +- Remove AMD-provided strlen(), upstream is faster. + +- Keep .symtab and .strtab for all glibc-related .so libraries [FATE#307090] + [bnc#545721] +- [ppc,ppc64] Enable optimized builds for power7; no separate power4, power5 + builds are generated anymore, instead default glibc is built for power4 + at least, tuned for power5 execution [FATE#307021] +- Large clean-up of the specfile + +------------------------------------------------------------------- +Fri Nov 13 22:47:47 CET 2009 - pbaudis@suse.cz + +- Upgrade to Git HEAD as of 20091105 - glibc-2.11-13f6812ffb5b: + * New interfaces: execvpe, pthread_sigqueue, mkstemps, mkstemps64, mkostemps, + mkostemps64 + Implemented by Ulrich Drepper. + + * Checking version of longjmp added that fails if an uninitialized stack + frame would be created. Implemented by Ulrich Drepper. + + * STT_GNU_IFUNC is now supported in static executables. + Implemented by H.J. Lu. + + * STT_GNU_IFUNC implemented for PPC by Alan Modra. + + * New optimized string functions for x86-64: strstr, strcasestr, memcmp, + strcspn, strpbrk, strspn, strcpy, stpcpy, strncpy, strcmp (SSE2, SSE4.2), + strncmp (SSE2, SSE4.2), strchr (SSE4.2), strrchr (SSE4.2). + Contributed by H.J. Lu. + + strlen, rawmemchr, strcmp (SSSE3), strncmp (SSSE3). + Implemented by Ulrich Drepper. + + * New optimized string functions for x86: strlen, strcspn, strspn, strpbrk, + strstr, strcasestr. + Contributed by H.J. Lu. + + * Support for fma instruction in AVX on x86-64. + Implemented by H.J. Lu and Ulrich Drepper. + + * AVX support in x86-64 auditing support in ld.so. + Implemented by H.J. Lu. + + * STB_GNU_UNIQUE support added. + Implemented by Ulrich Drepper. + + * Implement second fallback mode for optimized DNS lookup for even more + broken environments. If two requests from the same port are not + handled correctly close the socket and open a new one before sending + the second request. The 'single-request-reopen' option in /etc/resolv.conf + can be used to select this mode right away, instead of rediscovering the + necessity is every process again. + Implemented by Ulrich Drepper. + + * New resolver flag RES_USE_DNSSEC to enable use of verified lookup. + Implemented by Adam Tkac. + + * Optimized iconv conversions for S390x. + Implemented by Andreas Krebbel. + + * Using condvars with PI mutexes is now more efficient due to kernel + support for requeueing to PI futexes. NPTL support added for x86-64. + Implemented by Ulrich Drepper. + + * New locales: ps_AF, my_MM +- Retired patches: + glibc-utmp-timeout-raise.diff + glibc-nscd-assert.diff + glibc-2.10-mcheck-free-race.diff + glibc-nscd-prune-ret.diff +- Made ifunc compile on IA64 using patch by H.J.Lu +- Fixed compilation on PPC Cell +- Lowered utmp locking timeout from 30s to 10s to be compatible + with upstream +- Allow external additions to /usr/share/locale/locale.alias and + /usr/lib/gconv/gconv-modules, required for the SAP-locales package. +- Remove AMD-provided strlen(), upstream is faster. +- ARM is currently non-functional + +------------------------------------------------------------------- +Fri Nov 13 20:18:27 CET 2009 - pbaudis@suse.cz + +- Rediff patches to apply with fuzz 0 + +------------------------------------------------------------------- +Sat Sep 19 14:13:43 CEST 2009 - pbaudis@suse.cz + +- Update to glibc-2.10.1-44dbdf3777 of glibc/pb-stable.git glibc-2.10-branch + (Still the same source is used for glibc-ports.) - random minor fixes + +------------------------------------------------------------------- +Fri Sep 18 21:40:04 CEST 2009 - coolo@novell.com + +- add /etc/apparmor.d to the nscd file list + +------------------------------------------------------------------- +Mon Sep 14 23:53:20 CEST 2009 - pbaudis@suse.cz + +- define _filter_GLIBC_PRIVATE so that our glibc is not marked to + provide these symbols [bnc#468748] +- Fix exception behaviour of various libm functions by AMD optimized + for x86_64 [bnc#487576] + +------------------------------------------------------------------- +Tue Sep 8 13:15:04 CEST 2009 - pbaudis@suse.cz + +- Provide the /etc/apparmor.d/usr.sbin.nscd file [bnc#535467] +- Blowfish: Enable BF_SCALE even on x86_64 + +------------------------------------------------------------------- +Sat Sep 5 23:19:51 CEST 2009 - pbaudis@suse.cz + +- Raise utmp locking timeout from 1s to 30s to ensure logins get recorded + even on heavily loaded systems [bnc#486631] +- Fix invalid pointer handling in some nscd assertions and the code to send + data to the client [bnc#513617] +- Radically trim down the Blowfish support patch - keeps only crypt_blowfish + from the original OWL patch, but does the rest within the current glibc + crypt infrastructure [bnc#529495] + +------------------------------------------------------------------- +Wed Aug 26 12:53:54 CEST 2009 - mls@suse.de + +- make patch0 usage consistent + +------------------------------------------------------------------- +Thu Aug 20 19:02:31 CEST 2009 - pbaudis@suse.cz + +- Update to glibc-2.10.1-aa152ec6ad of release/2.10/master branch + (Still the same source is used for glibc-ports.) - random minor fixes + * REVERTED invalid fix of broken locking within nscd [bnc#510788] +- Fix nscd handling of zero negative timeout for some databases + [bnc#523154,bnc#510788] + +------------------------------------------------------------------- +Fri Jul 17 01:14:16 CEST 2009 - pbaudis@suse.cz + +- Update to glibc-2.10.1-4253a1e0b2 of glibc/pb-stable.git glibc-2.10-branch + (Still the same source is used for glibc-ports.) - random minor fixes + * Fix broken locking within nscd [bnc#510788] +- Fix compilation with 2.6.30 kernel headers on IA64 + +------------------------------------------------------------------- +Thu Jun 18 00:58:47 CEST 2009 - pbaudis@suse.cz + +- Fix a dead-lock introduced by the bnc#509398 fix +- Update to glibc-2.10.1-d0f6ed789f of glibc/pb-stable.git glibc-2.10-branch + (Still the same source is used for glibc-ports.) - random minor fixes + +------------------------------------------------------------------- +Fri Jun 12 12:19:34 CEST 2009 - pbaudis@suse.cz + +- Update to glibc-2.10.1-9cf557216c of glibc/pb-stable.git glibc-2.10-branch + (Still the same source is used for glibc-ports.) + * Fix 100% CPU usage by Java apps because of bad futex calls [bnc#509096] + +------------------------------------------------------------------- +Mon Jun 8 17:58:50 CEST 2009 - pbaudis@suse.cz + +- Fix race condition in the mcheck free() hook [bnc#509398] + +------------------------------------------------------------------- +Fri Jun 5 00:46:59 CEST 2009 - pbaudis@suse.cz + +- Remove temporary revert of a namespace leakage cleanup in glibc-2.8 + +------------------------------------------------------------------- +Fri May 22 22:45:10 CEST 2009 - pbaudis@suse.cz + +- Update to glibc-2.10.1-e38af591a8 of glibc/pb-stable.git glibc-2.10-branch + maintained by me at repo.or.cz; contains backports of various bugfixes. + (Still the same source is used for glibc-ports.) +- Stop using separate tarball for nptl. +- Add ARM support, pulling in glibc-ports snapshot when compiling for ARM. + +------------------------------------------------------------------- +Fri May 15 22:13:33 CEST 2009 - pbaudis@suse.cz + +- Add support for multiple group records for a single group + when using nss_compat (configurable in /etc/default/nss) [bnc#480991] + +------------------------------------------------------------------- +Sun May 10 21:42:37 CEST 2009 - pbaudis@suse.cz + +- Update to 2009051021, glibc-2.10.1: + * Add missing cacheinfo entry for a recent Intel processor + * Fix ABI issue with the gshadow interface + +------------------------------------------------------------------- +Sun May 10 11:20:12 CEST 2009 - pbaudis@suse.cz + +- Upgrade to CVS HEAD as of 2009051010 - glibc-2.10: + * DNS IPv4-IPv6 lookup changed back to parallel version; with broken DNS + servers (the case e.g. for many ADSL users), you may experience long + timeouts, once for each process (but eventually your request will be + resolved) - the solution is to run nscd (default on SUSE) and/or + put 'options single-request' in /etc/resolv.conf. + + * New interfaces: preadv, preadv64, pwritev, pwritev64, malloc_info + Implemented by Ulrich Drepper. + + * New Linux interfaces: accept4, fallocate, fallocate64. + Implemented by Ulrich Drepper. + + * Correct declarations of string function when used in C++ code. This + could lead to compile errors for invalid C++ code. + + * XPG7/POSIX 2008 compilation environment. Many GNU-specific functions are + now in POSIX. + + * New POSIX 2008 interface: psiginfo + Implemented by Ulrich Drepper. + + * New ISO C++1x interfaces: quick_exit, at_quick_exit + Implemented by Ulrich Drepper. + + * Support for selecting between multiple function definitions at runtime + using STT_GNU_IFUNC symbols. Implemented by Ulrich Drepper. + + * The libcrypt library can now use the hash function implementations in + NSS. Implemented by Ulrich Drepper. + + * The malloc implementation can be compiled to be less memory efficient + but higher performing in multi-threaded programs. + Implemented by Ulrich Drepper. + + * New locales: nan_TW@latin, ks_IN + + * Faster strlen, strchr, strchrnul, strrchr, memchr, and rawmemchr for x86-64. + Implemented by Ulrich Drepper. + + * Extended printf hook support. It is possible to use user-defined types + and extend existing format specifiers. + Implemented by Ulrich Drepper. + + * Handling for group shadow files has been added. + Implemented by Ulrich Drepper. +- Retired: + glibc-2.10-dns-fixpack.diff + glibc-2.10-dns-no-gethostbyname4.diff + glibc-2.10-locale-tuesday.diff + glibc-2.10-nscd-gc-dataofs.diff + glibc-2.10-nscd-prunerace.diff + glibc-2.10-ppc32-setcontext-fp.diff + glibc-2.10-unsetenv.diff + glibc-2.4.90-mdns-resolver.diff + glibc-2.9-fortify.diff + glibc-getgroups-fortify.diff + glibc-ldscript.diff + glibc-mtfsf.diff + glibc-2.10-nscd-meminflight.diff + getaddrinfo-ipv6-sanity.diff + glibc-2.10-nis-hosts.diff +- Several other modified + +------------------------------------------------------------------- +Fri Apr 17 16:49:52 CEST 2009 - pbaudis@suse.cz + +- Fix defaulting to localhost in case of no nameserver entries + in /etc/resolv.conf [bnc#473308] + +------------------------------------------------------------------- +Mon Mar 23 15:32:01 CET 2009 - rguenther@suse.de + +- Add missing libc_hidden_builtin_def (memcmp) to + glibc-2.3.3-amd64-string.diff. Fixes build with GCC 4.4. + +------------------------------------------------------------------- +Fri Feb 27 16:21:17 CET 2009 - rguenther@suse.de + +- Make sure to mark fortified inline routines with + __attribute__((__artificial__)). + +------------------------------------------------------------------- +Wed Feb 18 16:18:19 CET 2009 - adrian@suse.de + +- Build i686 glibc src rpm as nosrc to get both versions on the + media [bnc#474338] + +------------------------------------------------------------------- +Thu Jan 22 14:10:25 CET 2009 - schwab@suse.de + +- Fix use of mtfsf insn. + +------------------------------------------------------------------- +Wed Jan 21 20:26:05 CET 2009 - schwab@suse.de + +- Fix ldscript mangling. + +------------------------------------------------------------------- +Wed Jan 21 01:18:59 CET 2009 - pbaudis@suse.cz + +- Re-enable the DNS fixpack, add real fix for bnc#441947 +- nscd: Fix gc he_data overflow and turn of alloca usage [bnc#387202] +- Normalize the patch queue +- Increate CPU_SETSIZE from 1024 to 4096 - for large SGI machines + and compatibility with SLE10SP2 [bnc#464667] + +------------------------------------------------------------------- +Fri Jan 16 22:33:21 CET 2009 - pbaudis@suse.cz + +- Disable the DNS fixpack from CVS, breaks nscd resolving [bnc#441947] + +------------------------------------------------------------------- +Fri Jan 9 13:12:21 CET 2009 - pbaudis@suse.cz + +- Fix unsetenv() crashing after clearenv() +- Backport various DNS-related fixes from CVS +- Disable parallel A-AAAA queries - revert to the glibc-2.9 behaviour + of sending the queries sequentially [bnc#442572] +- Fix fp register protection on power6 setcontext() [bnc#464738] + +------------------------------------------------------------------- +Mon Dec 8 01:25:57 CET 2008 - pbaudis@suse.cz + +- Fix crash when parsing NIS hosts file [bnc#448702] + +------------------------------------------------------------------- +Thu Dec 4 04:07:11 CET 2008 - pbaudis@suse.cz + +- Fix nscd gc-cacheadd and prune-invalidate races [bnc#446233] +- Remove obsolete and disabled nscd patch +- Fix /etc/bindresvport.blacklist parsing [bnc#439146] +- Fix en_GB and csb_PL locales having weeks start on Tuesdays [bnc#449186] + +------------------------------------------------------------------- +Sun Nov 23 14:55:40 CET 2008 - pbaudis@suse.cz + +- clean up patch filenames + +------------------------------------------------------------------- +Fri Nov 21 14:04:16 CET 2008 - olh@suse.de + +- fix check-build.sh to actually allow building on ppc* again + +------------------------------------------------------------------- +Fri Nov 21 13:36:05 CET 2008 - olh@suse.de + +- do not run compiled binaries with cputuned libraries [bnc#445911] + the buildhost only generates them, but must not execute them + +------------------------------------------------------------------- +Mon Nov 17 14:34:45 CET 2008 - pbaudis@suse.cz + +- Update to glibc-2.9 final + +------------------------------------------------------------------- +Thu Nov 6 18:25:09 CET 2008 - jjolly@suse.de + +- Added patch to fix s390x 64bit stack frame problem + +------------------------------------------------------------------- +Fri Oct 31 19:51:08 CET 2008 - matz@suse.de + +- Fix atomics on s390/s390x, leading to failures in pthread mutexes. + +------------------------------------------------------------------- +Tue Oct 28 18:08:32 CET 2008 - schwab@suse.de + +- Restore alignment patch. + +------------------------------------------------------------------- +Tue Oct 28 09:45:22 CET 2008 - olh@suse.de + +- symlink power5/power5+ to power4 on ppc32 + +------------------------------------------------------------------- +Thu Oct 23 22:20:28 CEST 2008 - ro@suse.de + +- only do obsoletes for XXbit packages on ppc, not on x86 + +------------------------------------------------------------------- +Wed Oct 23 13:46:25 CEST 2008 - matz@suse.de + +- Deactivate unwind tables for initfini.c. + +------------------------------------------------------------------- +Thu Oct 23 10:56:50 CEST 2008 - olh@suse.de + +- obsolete glibc{,-devel,-locale,-profile} -XXbit packages [bnc#437293] +- update last change to handle empty rpmspec defines + +------------------------------------------------------------------- +Tue Oct 21 09:54:06 CEST 2008 - olh@suse.de + +- update glibc_post_upgrade to handle power7 and ppc-cell-be +- remove libs unconditionally on powerpc to handle libs in + subdirectories for which we do not ship optimized versions [bnc#437209] + +------------------------------------------------------------------- +Thu Oct 16 14:42:59 CEST 2008 - olh@suse.de + +- enable cpu-tuned libraries for power4, power6 and ppc-cell-be + on ppc32 [fate#304000,bnc#408808] + +------------------------------------------------------------------- +Mon Oct 13 14:51:11 CEST 2008 - matz@suse.de + +- Update to trunk from 20081013, no longer export paccept, + obsoletes some patches (lowlevellock and res_send). + Fix overflow in nscd patch. + +------------------------------------------------------------------- +Mon Oct 13 00:03:18 CEST 2008 - dmueller@suse.de + +- also strip .comment.SUSE.OPTs from the static libs +- add missing-include-build-fix.diff + +------------------------------------------------------------------- +Tue Oct 7 09:44:20 CEST 2008 - schwab@suse.de + +- Fix alignment in resolver. + +------------------------------------------------------------------- +Tue Sep 30 09:41:01 CEST 2008 - olh@suse.de + +- symlink tuned libs because rpmlint is unable to handle hardlinks + +------------------------------------------------------------------- +Wed Sep 29 11:01:41 CEST 2008 - olh@suse.de + +- enable cpu-tuned libraries for power6 and ppc-cell-be [fate#304000,bnc#408808] +- remove -mtune G4/RS64 from CFLAGS on ppc/ppc64 + +------------------------------------------------------------------- +Thu Sep 18 11:39:53 CEST 2008 - rguenther@suse.de + +- Change .comment.SuSE.OPTs to .comment.SUSE.OPTs. Also strip from + crti.o and crtn.o. +- Adjust getgroups fortify check. [bnc#426958] + +------------------------------------------------------------------- +Thu Sep 18 10:19:51 CEST 2008 - schwab@suse.de + +- Fix alignment in resolver. + +------------------------------------------------------------------- +Mon Sep 15 11:55:18 CEST 2008 - adrian@suse.de + +- do not run glibc_post_upgrade in XEN builds + +------------------------------------------------------------------- +Sat Sep 13 21:49:44 CEST 2008 - rguenther@suse.de + +- strip .note.gnu.build-id from crt1.o. + +------------------------------------------------------------------- +Sat Sep 13 10:20:47 CEST 2008 - dmueller@suse.de + +- only strip comment from crt1.o + +------------------------------------------------------------------- +Fri Sep 12 17:49:39 CEST 2008 - mls@suse.de + +- block baselibs generation for i586 (use i686 instead) + +------------------------------------------------------------------- +Fri Sep 12 17:34:06 CEST 2008 - dmueller@suse.de + +- strip suse opts comments from crt.o (fate #300498) + +------------------------------------------------------------------- +Mon Sep 8 13:38:36 CEST 2008 - rguenther@suse.de + +- Add a patch to fix wrong asm constraints in the i386 lowlevel + futex lock implementation. + +------------------------------------------------------------------- +Thu Sep 4 19:46:22 CEST 2008 - matz@suse.de + +- Update to current trunk snapshot (2008-09-04), makes s390 build. + +------------------------------------------------------------------- +Wed Aug 27 16:12:01 CEST 2008 - matz@suse.de + +- Add a patch to use RTLD_DEEPBIND to load nss modules. [bnc #157078] + +------------------------------------------------------------------- +Mon Aug 25 15:09:37 CEST 2008 - matz@suse.de + +- Update to current trunk snapshot (2008-08-25). + +------------------------------------------------------------------- +Fri Aug 22 17:18:23 CEST 2008 - prusnak@suse.cz + +- enabled SELinux support [Fate#303662] + +------------------------------------------------------------------- +Fri Aug 15 10:37:10 CEST 2008 - aj@suse.de + +- Fix nscd init script for new checks. +- package empty ld.so.cache. + +------------------------------------------------------------------- +Fri Jul 25 08:16:40 CEST 2008 - aj@suse.de + +- Add directory /var/cache/ldconfig to filelist. + +------------------------------------------------------------------- +Wed Jun 25 15:38:25 CEST 2008 - pbaudis@suse.cz + +- Fix strptime() %EY era support [bnc#355887] + +------------------------------------------------------------------- +Wed Jun 25 13:30:42 CEST 2008 - rguenther@suse.de +- Add patch to fix unwinding through clone for x86_64 and i386. + [bnc#290807, bnc#403464] + +------------------------------------------------------------------- +Fri May 30 23:57:54 CEST 2008 - schwab@suse.de + +- Fix ppc atomic ops. + +------------------------------------------------------------------- +Fri Apr 25 13:30:50 CEST 2008 - pbaudis@suse.cz + +- Update to glibc-2.8 CVS branch as of 2008042513 (post-glibc-2.8): + * Faster sqrt and sqrtf implemention for some PPC variants. + +------------------------------------------------------------------- +Thu Apr 10 23:57:44 CEST 2008 - pbaudis@suse.cz + +- Build fix after the revert + +------------------------------------------------------------------- +Thu Apr 10 23:05:17 CEST 2008 - pbaudis@suse.cz + +- Temporarily revert a namespace leakage cleanup in glibc-2.8 since + it causes a lot of build failures + +------------------------------------------------------------------- +Thu Apr 10 16:29:34 CEST 2008 - pbaudis@suse.cz + +- Update to CVS HEAD as of 2008041002 (almost glibc-2.8): + * New locales: bo_CN, bo_IN. + + * New encoding: HP-ROMAN9, HP-GREEK8, HP-THAI8, HP-TURKISH8. + + * Sorting rules for some Indian languages (Devanagari and Gujarati). + Implemented by Pravin Satpute. + + * IPV6 addresses in /etc/resolv.conf can now have a scope ID + + * nscd caches now all timeouts for DNS entries + Implemented by Ulrich Drepper. + + * nscd is more efficient and wakes up less often. + Implemented by Ulrich Drepper. + + * More checking functions: asprintf, dprintf, obstack_printf, vasprintf, + vdprintf, and obstack_vprintf. + Implemented by Jakub Jelinek. + + * Faster memset for x86-64. + Implemented by Harsha Jagasia and H.J. Lu. + + * Faster memcpy on x86. + Implemented by Ulrich Drepper. + + * ARG_MAX is not anymore constant on Linux. Use sysconf(_SC_ARG_MAX). + Implemented by Ulrich Drepper. + +- memset() implementation from AMD replaced by new upstream + implementation + +- Enable stackguard randomization + +------------------------------------------------------------------- +Thu Apr 10 12:54:45 CEST 2008 - ro@suse.de + +- added baselibs.conf file to build xxbit packages + for multilib support + +------------------------------------------------------------------- +Thu Mar 13 13:48:49 CET 2008 - dmueller@suse.de + +- don't try to use ipv6 in getaddrinfo() unconditionally (bnc#361697) + +------------------------------------------------------------------- +Sat Jan 26 13:19:41 CET 2008 - aj@suse.de + +- Add fixes from 2.8 branch for string.h and headers. The string.h + changes should fix sysvinit compilation. +- Fix some rpmlint warnings: + * Add versioned provides and obsoletes. + * Use %check section. + +------------------------------------------------------------------- +Fri Jan 18 14:03:43 CET 2008 - schwab@suse.de + +- Fix use of fnstsw. + +------------------------------------------------------------------- +Wed Nov 21 05:35:36 CET 2007 - pbaudis@suse.cz + +- Update to CVS branch glibc_2.7 as of today +- Remove the ::1 hack again +- Fix nscd race condition between mempool_alloc() and gc() [#288910] +- Fix nscd stack overflow in gc() when the number of cache entries + gets too large [#288910] +- Fix sunrpc udp client [#257745] +- Fix initgroups() crash in nss_compat [#310544] + +------------------------------------------------------------------- +Thu Sep 27 15:46:30 CEST 2007 - matz@suse.de + +- Remove broken x86_64 bcopy function. [#328486] + +------------------------------------------------------------------- +Sun Sep 16 14:04:30 CEST 2007 - aj@suse.de + +- Install gai.conf on all archs. + +------------------------------------------------------------------- +Thu Sep 13 17:20:58 CEST 2007 - pbaudis@suse.cz + +- Install the default gai.conf to /etc instead of docdir +- Do not return ::1 /etc/hosts records for 127.0.0.1 queries [#288879] + +------------------------------------------------------------------- +Wed Sep 5 03:07:39 CEST 2007 - pbaudis@suse.cz + +- Fix pthread_mutex_unlock() internal lock handling for incorrectly + written applications +- Fix nscd assertion failure when opening persistent db failed [#288910] + +------------------------------------------------------------------- +Mon Sep 3 20:10:39 CEST 2007 - mls@suse.de + +- fix typos in mdns patch [#206247], [#256690] + +------------------------------------------------------------------- +Fri Aug 31 17:38:02 CEST 2007 - aj@suse.de + +- Add /usr/share/locale-bundle/ as fallback directory for usage + with bundle-lang packages (see bug #302270). + +------------------------------------------------------------------- +Tue Aug 21 22:31:54 CEST 2007 - pbaudis@suse.cz + +- Reintroduce errorneously omitted AMD64 optimizations + (and fix them to compile again) + +------------------------------------------------------------------- +Thu Aug 16 09:47:53 CEST 2007 - aj@suse.de + +- Fix static linking (#233835). +- Silence rpmlint for profile package. +- Add Short-Description to nscd init script. + +------------------------------------------------------------------- +Mon Aug 13 19:09:31 CEST 2007 - aj@suse.de + +- Backport: + * Update kernel-features.h. + * Fix sched_getcpu error path on x86-64. + * Use upstreamed version of ldconfig cache speed ups. + +------------------------------------------------------------------- +Fri Aug 3 15:46:35 CEST 2007 - pbaudis@suse.cz + +- Remove the dynamic linker support for direct bindings (-Bdirect); + according to Michael Meeks, the performance improvement is too small +- Split timezone package to a separate physical package +- Update glibc to version 2.6.1 + +------------------------------------------------------------------- +Fri Jul 27 11:32:54 CEST 2007 - aj@suse.de + +- Use fdupes to reduce timezone data size. + +------------------------------------------------------------------- +Fri Jul 13 18:27:49 CEST 2007 - schwab@suse.de + +- Update to head of glibc-2.6 branch. +- Fix update on ppc. + +------------------------------------------------------------------- +Thu Jun 28 14:59:55 CEST 2007 - matz@suse.de + +- Add a provide for "rtld(GNU_HASH)". + +------------------------------------------------------------------- +Sun Jun 17 12:30:26 CEST 2007 - schwab@suse.de + +- Fix section selection in crt objects. + +------------------------------------------------------------------- +Thu Jun 7 02:43:29 CEST 2007 - pbaudis@suse.cz + +- Backport fix for crashing printf() of some invalid ldouble values + +------------------------------------------------------------------- +Wed May 30 04:40:25 CEST 2007 - pbaudis@suse.cz + +- Added few fixes from 2.6 CVS before 2.6.1 gets released + +------------------------------------------------------------------- +Fri May 18 23:14:42 CEST 2007 - pbaudis@suse.cz + +- Update glibc to version 2.6 +- Update tzdata to version 2007f + +------------------------------------------------------------------- +Fri May 4 11:24:53 CEST 2007 - schwab@suse.de + +- Update build checks. + +------------------------------------------------------------------- +Fri Apr 20 13:13:52 CEST 2007 - dmueller@suse.de + +- only keep symtab for libpthread* + +------------------------------------------------------------------- +Thu Apr 19 23:22:35 CEST 2007 - pbaudis@suse.cz + +- Fix strtod() exponent limit calculations [#230909] +- Fix random nscd crashes under very heavy passwd/group queries + load [#192391] +- Add some enums from CVS to sys/personality.h [#253710] +- Fix pthread_atfork()-induced hangs in threaded programs [#256237] +- Fix llrintl() on ppc64 [#241183] +- Fix makecontext() segfault [#249780] +- Fix potential dladdr() breakage [#241464] +- Fix some races in client programs with nscd garbage collection [#252138] + +------------------------------------------------------------------- +Fri Mar 30 02:54:06 CEST 2007 - pbaudis@suse.cz + +- Update localtime during timezone update [#239888] + +------------------------------------------------------------------- +Sun Mar 25 10:00:59 CEST 2007 - olh@suse.de + +- temporary disable powerpc cputuned libs to reduce turnaround time + +------------------------------------------------------------------- +Fri Feb 9 15:03:50 CET 2007 - pbaudis@suse.cz + +- Update to the latest upstream timezone data [#231833] + +------------------------------------------------------------------- +Fri Feb 2 11:42:51 CET 2007 - schwab@suse.de + +- Remove -ffortify. + +------------------------------------------------------------------- +Thu Feb 1 13:43:54 CET 2007 - schwab@suse.de + +- Remove -fstack-protector. + +------------------------------------------------------------------- +Mon Jan 29 16:13:09 CET 2007 - sbrabec@suse.cz + +- Removed references to /opt/gnome. + +------------------------------------------------------------------- +Thu Jan 25 21:14:58 CET 2007 - olh@suse.de + +- link power4 to ppc970, link power6 to power6x +- Update the powerpc cpu-tuned environment to v0.05 + +------------------------------------------------------------------- +Mon Jan 22 14:43:40 CET 2007 - schwab@suse.de + +- Update ppc build check. + +------------------------------------------------------------------- +Fri Nov 24 12:45:26 CET 2006 - pbaudis@suse.cz + +- Fix for Brazilian and Wester Australia timezone DSTs [#213375,#223196] + +------------------------------------------------------------------- +Thu Nov 16 21:59:06 CET 2006 - pbaudis@suse.cz + +- Disable power6 optimization for 10.2, not all pieces are there + [#219962] + +------------------------------------------------------------------- +Wed Oct 25 22:23:48 CEST 2006 - pbaudis@suse.cz + +- Change ld.so madvise() call to posix_fadvise() +- Fix mallopt(M_MXFAST,0) behaviour [#198760] +- Update the powerpc cpu-tuned environment to v0.04 [#215117] + +------------------------------------------------------------------- +Sun Oct 22 21:59:49 CEST 2006 - pbaudis@suse.cz + +- Update the powerpc cpu-tuned environment to v0.03 [#212549] +- Improve glibc powerpc optimization [#212548,#212580,#214282] + +------------------------------------------------------------------- +Tue Oct 17 21:03:54 CEST 2006 - mls@suse.de + +- add ldconfig-old-cache patch to speed up ldconfig + +------------------------------------------------------------------- +Sat Oct 14 12:23:53 CEST 2006 - olh@suse.de + +- dont use uninitialized (and wrong) variable in glibc-2.4.90-bdirect.diff + [#212470] + +------------------------------------------------------------------- +Thu Oct 12 02:33:58 CEST 2006 - pbaudis@suse.cz + +- Update to the latest 2.5 CVS +- More friendly -Bdirect behaviour in case of missing libraries +- Fix 2.4.90-nscd patch wrt. new gcc + +------------------------------------------------------------------- +Mon Oct 2 13:37:26 CEST 2006 - aj@suse.de + +- Fix warnings in testsuite (patch from CVS). + +------------------------------------------------------------------- +Fri Sep 29 22:06:43 CEST 2006 - pbaudis@suse.cz + +- Update to 2.5 CVS - official release (only minimal changes in CVS + since the last update) +- Fix a thinko in the -Bdirect patch + +------------------------------------------------------------------- +Fri Sep 29 19:51:24 CEST 2006 - dmueller@suse.de + +- fix devel requires + +------------------------------------------------------------------- +Fri Sep 29 04:27:40 CEST 2006 - pbaudis@suse.cz + +- Make the dynamic linker support direct bindings (Michael Meeks' + Solaris-like -Bdirect with minor changes by me) +- Split the kernel headers to a new package (linux-kernel-headers) + +------------------------------------------------------------------- +Wed Sep 27 14:59:32 CEST 2006 - schwab@suse.de + +- Fix broken assertion [#208189]. + +------------------------------------------------------------------- +Tue Sep 26 18:10:38 CEST 2006 - pbaudis@suse.cz + +- Fix mistake when removing some patches + +------------------------------------------------------------------- +Mon Sep 25 21:15:15 CEST 2006 - pbaudis@suse.cz + +- Update to current CVS + +------------------------------------------------------------------- +Sat Sep 23 04:36:58 CEST 2006 - pbaudis@suse.cz + +- Fix 64bit-cleanliness gcc warnings + +------------------------------------------------------------------- +Thu Sep 21 23:52:13 CEST 2006 - pbaudis@suse.cz + +- Add /usr/lib{,64}/Xaw3d to /etc/ld.so.conf (by schwab@suse.de, + from original STABLE) [#205169] +- Fix chown() instead of lchown() called in fchownat() emulation + [#201751] +- Fix glob() overflowing stack when producing massive number of + matches [#190458] +- Update to current CVS + +------------------------------------------------------------------- +Wed Sep 20 23:48:20 CEST 2006 - pbaudis@suse.cz + +- Fix cut'n'paste error in a last-minute change + +------------------------------------------------------------------- +Wed Sep 20 22:07:59 CEST 2006 - pbaudis@suse.cz + +- Update to current CVS +- Fix powerpc-cpu tarball extension +- Move crypt-blowfish to a patch so that quilt works on the tree + +------------------------------------------------------------------- +Sat Sep 2 19:01:21 CEST 2006 - schwab@suse.de + +- Use asm-powerpc for ppc and ppc64. +- Fix chroot check in glibc_post_upgrade. + +------------------------------------------------------------------- +Mon Aug 28 01:24:24 CEST 2006 - pbaudis@suse.cz + +- Update to current CVS, should fix false positive heap overflow + trigger from malloc() causing gcc to hang [#201724] + +------------------------------------------------------------------- +Wed Aug 23 23:56:35 CEST 2006 - pbaudis@suse.cz + +- Update the powerpc cpu-tuned environment to v0.02 [#199274] +- Update to current CVS +- Drop pthread_mutexattr_getprioceiling() out of range fix + +------------------------------------------------------------------- +Thu Aug 10 20:10:04 CEST 2006 - pbaudis@suse.cz + +Ported from STABLE: +- Remove libc5 reference from /etc/ld.so.conf, shlibs5 is no longer + supported [#181947] +- Fix name of a dummy ia64 header from offsets.h to asm-offsets.h + [#191394] + +------------------------------------------------------------------- +Sun Jul 30 23:33:04 CEST 2006 - pbaudis@suse.cz + +- Update to current CVS snapshot (highlight: support for .gnu.hash + fast linking support) + +------------------------------------------------------------------- +Wed Jul 12 03:15:08 CEST 2006 - pbaudis@suse.cz + +- pthread_mutexattr_getprioceiling() was returning prioceiling out + of range [#182782] + +------------------------------------------------------------------- +Wed Jul 12 02:39:22 CEST 2006 - pbaudis@suse.cz + +- Fix the HTML documentation missing an index [#190585] + +------------------------------------------------------------------- +Sat Jun 24 18:32:42 CEST 2006 - kukuk@suse.de + +- Update to current CVS snapshot +- Update to kernel-headers 2.6.17 +- Remove HZ define (sysconf(_SC_CLK_TCK) instead) + +------------------------------------------------------------------- +Tue Jun 13 11:49:43 CEST 2006 - kukuk@suse.de + +- Update to current CVS snapshot + +------------------------------------------------------------------- +Tue May 2 14:10:41 CEST 2006 - pbaudis@suse.cz + +- Fix bad memset() size in NTPL code [#159184] + +------------------------------------------------------------------- +Tue May 2 10:42:55 CEST 2006 - kukuk@suse.de + +- asm-powerpc/page.h: Don't move #ifdef __KERNEL__ [#171010] +- bits/mman.h: Fix value of MADV_REMOVE [#170734] + +------------------------------------------------------------------- +Mon Apr 24 12:04:12 CEST 2006 - kukuk@suse.de + +- Fix china timezone mess [#163674] +- Don't include linux/stddef.h [#167964] + +------------------------------------------------------------------- +Tue Apr 18 14:38:57 CEST 2006 - schwab@suse.de + +- Sanitize . + +------------------------------------------------------------------- +Thu Apr 13 13:34:07 CEST 2006 - kukuk@suse.de + +- Add /usr/include/linux/taskstats.h [#141936] + +------------------------------------------------------------------- +Tue Apr 11 12:20:57 CEST 2006 - kukuk@suse.de + +- nptl/init.c (sigcancel_handler): Compare with correct PID even + if the thread is in the middle of a fork call. + (sighandler_setxid): Likewise. + +------------------------------------------------------------------- +Sun Apr 9 16:27:20 CEST 2006 - ihno@suse.de + +- S390 fix for startupcode. Part of it was not PIC. + +------------------------------------------------------------------- +Fri Apr 7 13:42:20 CEST 2006 - kukuk@suse.de + +- Don't hardcode syscall numbers at our own + +------------------------------------------------------------------- +Tue Apr 4 22:10:47 CEST 2006 - schwab@suse.de + +- Fix readlink declaration. + +------------------------------------------------------------------- +Mon Apr 3 13:40:54 CEST 2006 - kukuk@suse.de + +- Update from CVS: + - nscd bug fixes + - Match return value of readlink to what POSIX says + - Fix NIS+ checks for NULL pointer + +------------------------------------------------------------------- +Sun Apr 2 20:53:17 CEST 2006 - dmueller@suse.de + +- Fix clients crash if nscd is unresponsive (glibc-#2501) +- Fix fd leak in nscd daemon (glibc-#2498) + +------------------------------------------------------------------- +Sat Apr 1 21:48:54 CEST 2006 - schwab@suse.de + +- Fix on ppc64. + +------------------------------------------------------------------- +Fri Mar 31 15:50:25 CEST 2006 - schwab@suse.de + +- Extend last change also to ppc64. + +------------------------------------------------------------------- +Sun Mar 26 21:08:58 CEST 2006 - schwab@suse.de + +- Terminate FDE before clone syscall. + +------------------------------------------------------------------- +Fri Mar 24 14:58:29 CET 2006 - ro@suse.de + +- kernel-headers: asm-powerpc: define PAGE_MASK in page.h + +------------------------------------------------------------------- +Mon Mar 20 13:57:27 CET 2006 - kukuk@suse.de + +- Update to final 2.6.16 kernel headers +- Update to current CVS: + - Don't use TLS before setting it up. + - Fix rounding of long doubles on ppc64. + - Correct usage of cfi_offset on ppc/ppc64. + - Fix memory leak in dlopen. + +------------------------------------------------------------------- +Tue Mar 14 17:08:27 CET 2006 - schwab@suse.de + +- Update fnmatch patch. + +------------------------------------------------------------------- +Fri Mar 10 13:36:38 CET 2006 - kukuk@suse.de + +- Disable unshare() syscall (request of kernel developer) + +------------------------------------------------------------------- +Fri Mar 10 08:30:53 CET 2006 - kukuk@suse.de + +- Don't include linux/interrupt.h from linux/rtc.h +- Revert last change to linux/input.h, disable struct +- Update to current CVS (nptl/ia64 fix) + +------------------------------------------------------------------- +Thu Mar 9 07:58:20 CET 2006 - kukuk@suse.de + +- Fix linux/input.h for userspace inclusion + +------------------------------------------------------------------- +Wed Mar 8 22:06:11 CET 2006 - kukuk@suse.de + +- Update kernel headers to 2.6.16-rc5 + +------------------------------------------------------------------- +Mon Mar 6 13:41:08 CET 2006 - kukuk@suse.de + +- Update to 2.4 CVS + - official release + - Fix free on ppc [#155374] + - Various sysconf() fixes + +------------------------------------------------------------------- +Sat Mar 4 18:12:36 CET 2006 - kukuk@suse.de + +- Update to CVS + - ldconfig/prelink fixes + +------------------------------------------------------------------- +Fri Mar 3 17:32:56 CET 2006 - aj@suse.de + +- Do not leave hyphens in defines in create_biarch_asm.sh (Bug 154998). + +------------------------------------------------------------------- +Fri Mar 3 10:58:02 CET 2006 - kukuk@suse.de + +- Update to CVS + - Fix ftw test suite failures + - Fix alignment of malloc for long double + +------------------------------------------------------------------- +Thu Mar 2 09:56:59 CET 2006 - kukuk@suse.de + +- Update to 2.3.91 CVS + - Fix 6arg syscall on s390x + - memccpy fix on IA64 + +------------------------------------------------------------------- +Wed Mar 1 08:54:53 CET 2006 - kukuk@suse.de + +- Update to CVS + - New linkat interface + - Update from tzdata2006b + - Define MADV_DONTFORK and MADV_DOFORK. + - Add robust mutex to NPTL + +------------------------------------------------------------------- +Thu Feb 23 15:26:29 CET 2006 - kukuk@suse.de + +- Reenable power optimized code again [#142839] + +------------------------------------------------------------------- +Sun Feb 12 09:45:39 CET 2006 - kukuk@suse.de + +- Disable power optimized code + +------------------------------------------------------------------- +Thu Feb 9 10:50:12 CET 2006 - kukuk@suse.de + +- Update to CVS + - Add unshare prototype + - Add memory barrier on i386/NPTL + +------------------------------------------------------------------- +Wed Feb 8 10:50:07 CET 2006 - kukuk@suse.de + +- Remove glibc-2.4-ppc-dl-procinfo-20060111.diff [#142839] + +------------------------------------------------------------------- +Mon Feb 6 16:58:50 CET 2006 - kukuk@suse.de + +- Update to current CVS +- Fix alternate locale search path patch [#147685] + +------------------------------------------------------------------- +Thu Feb 2 12:13:19 CET 2006 - kukuk@suse.de + +- Update to current CVS + +------------------------------------------------------------------- +Mon Jan 30 16:10:35 CET 2006 - schwab@suse.de + +- Fix the fix. + +------------------------------------------------------------------- +Sat Jan 28 18:42:08 CET 2006 - kukuk@suse.de + +- Fix seg.fault in __atfct_seterrno if called from futimesat() +- Apply patches for CPU-Tuned Environment on Power [#142839] + +------------------------------------------------------------------- +Fri Jan 27 12:10:55 CET 2006 - kukuk@suse.de + +- Cleanup ld.so.conf + +------------------------------------------------------------------- +Thu Jan 26 08:53:33 CET 2006 - kukuk@suse.de + +- Add alternate directory for translations [#144073] + +------------------------------------------------------------------- +Thu Jan 26 00:41:37 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Mon Jan 23 17:44:50 CET 2006 - kukuk@suse.de + +- Update to CVS +- Fix build_locales + +------------------------------------------------------------------- +Sat Jan 21 10:24:02 CET 2006 - kukuk@suse.de + +- Update to CVS +- Fix inclusion of sys/poll.h with _GNU_SOURCE defined + +------------------------------------------------------------------- +Fri Jan 20 15:02:35 CET 2006 - kukuk@suse.de + +- Update to CVS + +------------------------------------------------------------------- +Sun Jan 15 08:28:26 CET 2006 - kukuk@suse.de + +- Update to CVS (fix long double configure check) + +------------------------------------------------------------------- +Sun Jan 15 01:59:54 CET 2006 - schwab@suse.de + +- Readd , , . + +------------------------------------------------------------------- +Sun Jan 15 01:08:22 CET 2006 - schwab@suse.de + +- Readd . + +------------------------------------------------------------------- +Sat Jan 14 22:33:32 CET 2006 - kukuk@suse.de + +- Update to current CVS (long double support) + +------------------------------------------------------------------- +Fri Jan 13 09:17:17 CET 2006 - aj@suse.de + +- Fix x86-64 w_exp to not use extra plt. + +------------------------------------------------------------------- +Thu Jan 12 22:39:01 CET 2006 - kukuk@suse.de + +- Fix asm-s390/setup.h for userspace inclusion +- nsswitch.conf: Add nis to netgroup and automount entry +- Fix sys/procfs.h for ppc64 + +------------------------------------------------------------------- +Mon Jan 9 23:20:14 CET 2006 - kukuk@suse.de + +- Update to current CVS (fix for pthread.h with -std=c99) +- Define PAGE_SIZE on POWER +- Don't include linux/sched.h in asm-power/elf.h + +------------------------------------------------------------------- +Sun Jan 8 17:58:11 CET 2006 - kukuk@suse.de + +- Fix linux/acct.h for userland inclusion + +------------------------------------------------------------------- +Sun Jan 8 11:48:58 CET 2006 - kukuk@suse.de + +- Update to current CVS +- Remove CHILD_MAX from kernel-headers +- Copy subdirectories of asm-power, too. +- Remove da_DK@euro (does not exist) + +------------------------------------------------------------------- +Sat Jan 7 10:02:43 CET 2006 - kukuk@suse.de + +- Fix ext2 kernel headers +- Update to current CVS + +------------------------------------------------------------------- +Fri Jan 6 12:28:10 CET 2006 - kukuk@suse.de + +- Update to kernel headers 2.6.15 + +------------------------------------------------------------------- +Fri Jan 6 00:58:28 CET 2006 - kukuk@suse.de + +- Update crypt_blowfish to version 1.0 +- Update to current CVS +- Adjust nscd patches + +------------------------------------------------------------------- +Tue Jan 3 17:19:36 CET 2006 - aj@suse.de + +- Update to current CVS to fix pthread.h on 64-bit systems for C++. + +------------------------------------------------------------------- +Tue Jan 3 06:04:26 CET 2006 - aj@suse.de + +- Enable string patch again. +- Update to current CVS. + +------------------------------------------------------------------- +Wed Dec 21 15:11:14 CET 2005 - kukuk@suse.de + +- Update to current CVS +- Fix ldconfig + +------------------------------------------------------------------- +Sat Dec 17 09:49:18 CET 2005 - kukuk@suse.de + +- Remove /usr/lib/zoneinfo +- Add /etc/localtime to filelist +- Update to current CVS +- Fix glibc #1978: statvfs does not know about current filesystems +- Fix wrong error return code of time() on x86 +- Remove nscd_nischeck +- Remove audit from nfb +- Remove LinuxThreads + +------------------------------------------------------------------- +Wed Dec 14 18:00:59 CET 2005 - kukuk@suse.de + +- Update to current CVS +- Remove nscd_nischeck +- Remove audit from nfb + +------------------------------------------------------------------- +Mon Dec 5 12:07:05 CET 2005 - kukuk@suse.de + +- Update to current CVS +- Disable SELinux + +------------------------------------------------------------------- +Thu Nov 24 15:54:27 CET 2005 - kukuk@suse.de + +- Remove obsolete patches: + - glibc-2.3.asprintf-error_handling.diff + - glibc-2.3.90-missing-string_h.diff + +------------------------------------------------------------------- +Wed Nov 23 17:20:10 CET 2005 - kukuk@suse.de + +- Update to current CVS +- Don't install in parallel + +------------------------------------------------------------------- +Fri Nov 18 13:42:43 CET 2005 - kukuk@suse.de + +- Update to current CVS to fix compiling with new binutils + +------------------------------------------------------------------- +Wed Nov 16 18:33:57 CET 2005 - kukuk@suse.de + +- Update to current CVS + +------------------------------------------------------------------- +Sat Nov 5 14:44:07 CET 2005 - kukuk@suse.de + +- Update to current CVS +- Disable linuxthreads on POWER and Itanium +- Fix kernel-headers for userland inclusion + +------------------------------------------------------------------- +Wed Nov 2 17:12:36 CET 2005 - kukuk@suse.de + +- Update to current CVS +- Update to kernel-headers 2.6.14 + +------------------------------------------------------------------- +Tue Oct 18 17:37:08 CEST 2005 - kukuk@suse.de + +- Update to current CVS + +------------------------------------------------------------------- +Sat Oct 1 23:00:04 CEST 2005 - schwab@suse.de + +- Update libm ULPs. +- Fix limit in getcwd. + +------------------------------------------------------------------- +Thu Sep 15 16:13:50 CEST 2005 - kukuk@suse.de + +- Update to current CVS +- Update to final 2.6.13 kernel headers +- Adjust bindresvport.blacklist patch to check already ports >= 512 + +------------------------------------------------------------------- +Fri Aug 26 16:41:56 CEST 2005 - kukuk@suse.de + +- Update to current CVS +- init.d/nscd: Remove -S support (was removed from nscd) + +------------------------------------------------------------------- +Fri Aug 19 18:28:24 CEST 2005 - schwab@suse.de + +- Fix comment. + +------------------------------------------------------------------- +Fri Aug 19 17:36:24 CEST 2005 - matz@suse.de + +- Change .note.SuSE format [#105825]. + +------------------------------------------------------------------- +Fri Aug 19 17:13:21 CEST 2005 - kukuk@suse.de + +- Update to current CVS +- Move all obsolete libraries into own subpackage and document + them as obsolete + +------------------------------------------------------------------- +Fri Aug 5 10:32:38 CEST 2005 - schwab@suse.de + +- -mno-tls-direct-seg-refs is x86-only + +------------------------------------------------------------------- +Tue Aug 2 14:54:01 CEST 2005 - kukuk@suse.de + +- Update to 2.3.x CVS branch +- Compile with -mno-tls-direct-seg-refs + +------------------------------------------------------------------- +Fri Jul 29 11:12:02 CEST 2005 - kukuk@suse.de + +- Update to current CVS head + +------------------------------------------------------------------- +Wed Jul 27 23:13:04 CEST 2005 - schwab@suse.de + +- Update libm ULPs for ia64. +- Add linuxthreads stack guard support for ia64. + +------------------------------------------------------------------- +Sat Jul 23 10:05:16 CEST 2005 - kukuk@suse.de + +- Update to current CVS head (adds bits/wchar2.h) +- Move LinuxThreads version to obsolete/linuxthreads + +------------------------------------------------------------------- +Thu Jul 21 15:04:31 CEST 2005 - kukuk@suse.de + +- Update to current CVS head + +------------------------------------------------------------------- +Fri Jul 15 15:45:35 CEST 2005 - schwab@suse.de + +- Fix file list. + +------------------------------------------------------------------- +Fri Jul 15 12:09:08 CEST 2005 - aj@suse.de + +- Fix amd64 string routines and math routines. + +------------------------------------------------------------------- +Fri Jul 15 08:45:27 CEST 2005 - kukuk@suse.de + +- Use old LinuxThreads only for runtime and remove static version + and headers +- Update to current CVS head +- Remove own texi2html + +------------------------------------------------------------------- +Mon Jul 11 11:00:47 CEST 2005 - kukuk@suse.de + +- Install generic stdio-lock.h header file + +------------------------------------------------------------------- +Sat Jul 9 18:46:46 CEST 2005 - kukuk@suse.de + +- Temporary disable AMD64 string optimization + +------------------------------------------------------------------- +Wed Jul 6 09:58:39 CEST 2005 - kukuk@suse.de + +- Build and install ja_JP.SHIFT_JISX0213 locale [Bug #84030] + +------------------------------------------------------------------- +Mon Jul 4 20:41:47 CEST 2005 - kukuk@suse.de + +- nss_compat: Preserve original return value [Bug #95033] +- Cleanup old Obsoletes/Requires + +------------------------------------------------------------------- +Mon Jun 27 13:49:38 CEST 2005 - kukuk@suse.de + +- Update to current gilbc CVS snapshot + +------------------------------------------------------------------- +Thu Jun 23 23:25:42 CEST 2005 - kukuk@suse.de + +- Update to current glibc CVS snapshot +- Adjust nscd patch +- Enable SELinux/audit support for nscd +- Update .note.SuSE version + +------------------------------------------------------------------- +Mon Jun 20 12:35:20 CEST 2005 - kukuk@suse.de + +- Update to final 2.6.12 kernel headers +- Update to current glibc CVS snapshot + +------------------------------------------------------------------- +Thu Jun 16 17:03:43 CEST 2005 - kukuk@suse.de + +- Update linux/audit.h header +- Update to current CVS snapshot + +------------------------------------------------------------------- +Mon Jun 13 14:48:53 CEST 2005 - kukuk@suse.de + +- Don't terminate strings twice in nis/netgroup code. +- netinet/if_tr.h: don't include kernel headers. + +------------------------------------------------------------------- +Wed Jun 8 16:26:21 CEST 2005 - kukuk@suse.de + +- Update to kernel-headers 2.6.12-rc6 +- Fix build on s390 and s390x + +------------------------------------------------------------------- +Wed Jun 8 12:08:49 CEST 2005 - matz@suse.de + +- Don't strip .symtab from libpthread.so.0 (and other libs). + Fixes debugging of threaded programs (#81253). + +------------------------------------------------------------------- +Mon Jun 6 18:47:22 CEST 2005 - kukuk@suse.de + +- Update to current CVS head +- Update to kernel-headers 2.6.12-rc5 + +------------------------------------------------------------------- +Thu May 26 20:07:11 CEST 2005 - schwab@suse.de + +- No longer build loadlocale.c with -fno-unit-at-a-time. + +------------------------------------------------------------------- +Tue May 24 11:09:00 CEST 2005 - kukuk@suse.de + +- Update to current CVS head, obsoletes: + - glibc-2.3.90-libm.diff + - glibc-2.3.90-i386-sysdep.diff + - warn.diff + - dl-osinfo.diff + Adjusted: + - glibc-2.3.90-bindresvport.blacklist.diff + +------------------------------------------------------------------- +Sun May 22 01:53:44 CEST 2005 - schwab@suse.de + +- Fix missing include. + +------------------------------------------------------------------- +Tue May 17 23:46:19 CEST 2005 - schwab@suse.de + +- Fix warning. + +------------------------------------------------------------------- +Fri Apr 29 15:11:22 CEST 2005 - kukuk@suse.de + +- Update to latest CVS snapshost + +------------------------------------------------------------------- +Sat Apr 23 17:05:58 CEST 2005 - kukuk@suse.de + +- Fix all the archs using wrong FLAGS + +------------------------------------------------------------------- +Sat Apr 23 08:02:31 CEST 2005 - kukuk@suse.de + +- Remove -D_FORTIFY_SOURCE from RPM_OPT_FLAGS + +------------------------------------------------------------------- +Fri Apr 22 13:05:40 CEST 2005 - kukuk@suse.de + +- Update to current CVS + +------------------------------------------------------------------- +Fri Apr 22 12:45:26 CEST 2005 - kukuk@suse.de + +- Check if nice value does not conflict with test suite + +------------------------------------------------------------------- +Tue Apr 19 13:54:03 CEST 2005 - mls@suse.de + +- resolv: trigger re-read of /etc/resolv.conf for all threads if + a change is detected +- nscd: support a negative timeout of zero, used by hosts cache + +------------------------------------------------------------------- +Mon Apr 18 17:31:23 CEST 2005 - meissner@suse.de + +- Enable fortify possibility even for GCC 4.0, we apply + the necessary patch to the SUSE GCC 4.0. + +------------------------------------------------------------------- +Sat Apr 16 12:16:13 CEST 2005 - aj@suse.de + +- Apply amd64 string diff again. + +------------------------------------------------------------------- +Tue Apr 12 11:35:46 CEST 2005 - kukuk@suse.de + +- Update kernel-headers to 2.6.10 +- Update to current CVS snapshot + +------------------------------------------------------------------- +Wed Apr 6 18:33:32 CEST 2005 - schwab@suse.de + +- Cleanup neededforbuild. + +------------------------------------------------------------------- +Tue Apr 5 22:02:25 CEST 2005 - aj@suse.de + +- Add gettext-devel to neededforbuild. + +------------------------------------------------------------------- +Tue Apr 5 16:45:06 CEST 2005 - aj@suse.de + +- Do not build on xen machines. +- Adjust libm ULPs for PowerPC. + +------------------------------------------------------------------- +Fri Apr 1 14:20:45 CEST 2005 - kukuk@suse.de + +- Update to current CVS snapshot + +------------------------------------------------------------------- +Tue Mar 29 10:57:40 CEST 2005 - kukuk@suse.de + +- Update to current CVS snapshot +- Fix compiler warnings on ix86 + +------------------------------------------------------------------- +Mon Mar 28 17:27:44 CEST 2005 - kukuk@suse.de + +- Update to current CVS snapshot +- Disable Noversion Patch on i386 temporary + +------------------------------------------------------------------- +Fri Mar 18 14:33:22 CET 2005 - ro@suse.de + +- check-build.sh: require 2.6.11 on x86,x86_64 for build + +------------------------------------------------------------------- +Thu Mar 17 13:57:22 CET 2005 - mls@suse.de + +- nscd: enable hosts cache +- nscd: also watch /etc/resolv.conf +- nscd: check files every 3 seconds +- nscd: deal correctly with missing files + +------------------------------------------------------------------- +Tue Mar 15 15:50:12 CET 2005 - kukuk@suse.de + +- Update to current CVS snapshot. + +------------------------------------------------------------------- +Sat Feb 12 02:49:56 CET 2005 - schwab@suse.de + +- Remove const from __pthread_internal_tsd_address. + +------------------------------------------------------------------- +Fri Feb 11 15:44:31 CET 2005 - schwab@suse.de + +- Update to current CVS. +- Link glibc_post_upgrade against new libc. +- Fix build error with gcc4. + +------------------------------------------------------------------- +Wed Feb 9 10:40:29 CET 2005 - kukuk@suse.de + +- Update to current CVS +- Fix bindresvport blacklist handling. +- Increase buffer in tst-cancel17 to match new kernel buffer size + [#50277] +- Enable LinuxThreads again +- Remove ia64-audit patch (is upstream) + +------------------------------------------------------------------- +Mon Feb 7 13:15:58 CET 2005 - aj@suse.de + +- Add patch to allow compilation with gcc4. + +------------------------------------------------------------------- +Mon Jan 31 16:33:47 CET 2005 - schwab@suse.de + +- Readd support for LD_AUDIT on ia64. + +------------------------------------------------------------------- +Mon Jan 31 14:32:01 CET 2005 - kukuk@suse.de + +- Add memory clobber to string inline assemblies on s390 [#50284]. + +------------------------------------------------------------------- +Mon Jan 31 12:55:59 CET 2005 - kukuk@suse.de + +- Fix filelist on i686 if we build NPTL only version + +------------------------------------------------------------------- +Mon Jan 31 09:17:33 CET 2005 - aj@suse.de + +- Generate new ULPs file for i386 needed by GCC 4. + +------------------------------------------------------------------- +Sun Jan 30 12:43:56 CET 2005 - kukuk@suse.de + +- Include own copy of texi2html +- Add glibc_pst_upgrade program (based on version from FC3) +- Update to current CVS + +------------------------------------------------------------------- +Thu Jan 27 23:28:57 CET 2005 - kukuk@suse.de + +- Re-add patch for timezone/zic.c (got lost with last merge) + +------------------------------------------------------------------- +Wed Jan 26 11:34:36 CET 2005 - kukuk@suse.de + +- Update timezone data to 2005c release (fixes zdump crash on + 64bit architectures) + +------------------------------------------------------------------- +Sat Jan 22 15:45:25 CET 2005 - schwab@suse.de + +- Add basic (incomplete) support for LD_AUDIT on ia64. + +------------------------------------------------------------------- +Fri Jan 21 11:00:08 CET 2005 - kukuk@suse.de + +- Enable patch for [Bug #49833] +- Allow to build NPTL only glibc +- Update to CVS from Jan 16, 2005, containing: +- Fix execlp argument in SunRPC code [glibc #681] +- Fix errno return values for futimes [glibc #633] +- Update FPU function on PPC/PPC64 [Bug #49764] + +------------------------------------------------------------------- +Mon Jan 17 10:40:24 CET 2005 - aj@suse.de + +- Enable amd64 string patch again after fixing failing hunks. +- Handle missing cpuid better for amd64 string functions. [#49803] + +------------------------------------------------------------------- +Sat Jan 15 16:05:36 CET 2005 - aj@suse.de + +- Fix amd64 string patch to use correct datatype. + +------------------------------------------------------------------- +Fri Jan 14 14:06:43 CET 2005 - kukuk@suse.de + +- Fix memory corruption in getgrouplist function [Bug #49833] + +------------------------------------------------------------------- +Tue Jan 11 11:01:26 CET 2005 - kukuk@suse.de + +- Enable all LinuxThreads tests again +- Finalize getconf -a patch (make it compatible with Solaris) +- Rewrite getconf manual page and mention new option +- Merge GB18030 patches into one. + +------------------------------------------------------------------- +Thu Dec 30 10:57:40 CET 2004 - kukuk@suse.de + +- Merge kernel-headers.remove-SO_BSDCOMPAT.diff with + kernel-headers.SuSE.diff +- Revert nscd paths on old SuSE Linux distributions + +------------------------------------------------------------------- +Wed Dec 29 22:33:00 CET 2004 - kukuk@suse.de + +- Update to glibc 2.3.90 CVS branch +- Remove alarm-round.patch (merged upstream) + +------------------------------------------------------------------- +Thu Dec 9 14:19:05 CET 2004 - kukuk@suse.de + +- Update to current CVS +- Move nscd persistent database files back to /var/run/nscd + +------------------------------------------------------------------- +Mon Dec 6 15:43:08 CET 2004 - kukuk@suse.de + +- Update to current CVS +- Fix more kernel headers for userland inclusion + +------------------------------------------------------------------- +Fri Nov 26 14:33:20 CET 2004 - ro@suse.de + +- kernel-headers.diff: define __force in compiler.h + +------------------------------------------------------------------- +Thu Nov 25 17:52:39 CET 2004 - schwab@suse.de + +- Add Intel libm update. + +------------------------------------------------------------------- +Thu Nov 25 12:08:17 CET 2004 - kukuk@suse.de + +- Update to current glibc CVS +- Update kernel headers to 2.6.9 + +------------------------------------------------------------------- +Thu Nov 18 15:11:32 CET 2004 - kukuk@suse.de + +- Update to current glibc CVS + +------------------------------------------------------------------- +Mon Nov 15 14:11:27 CET 2004 - kukuk@suse.de + +- Update to current glibc CVS + +------------------------------------------------------------------- +Mon Nov 8 10:50:27 CET 2004 - kukuk@suse.de + +- Blacklist port 921 (lwresd) for usage by bindresvport() +- Update to current glibc CVS +- Add /var/run/nscd/* files as ghost entries + +------------------------------------------------------------------- +Mon Oct 18 13:54:04 CEST 2004 - aj@suse.de + +- Don't use special fdim functions for x86-64 since those give + wrong results for fdim (inf,inf). +- Fix ppc64 rebuild issue with ppc32 system [#47325]. + +------------------------------------------------------------------- +Wed Oct 13 14:06:55 CEST 2004 - kukuk@suse.de + +- Fix symlink librt.so -> tls/librt.so.1 +- Backout last glob changes +- Disable nptl as default for linking + +------------------------------------------------------------------- +Tue Oct 12 21:12:15 CEST 2004 - kukuk@suse.de + +- Install kernel-headers after merging linuxthreads/NPTL headers + +------------------------------------------------------------------- +Tue Oct 12 09:36:48 CEST 2004 - kukuk@suse.de + +- Update to current CVS snapshot + +------------------------------------------------------------------- +Mon Oct 11 15:11:03 CEST 2004 - kukuk@suse.de + +- Make NPTL default for linking + +------------------------------------------------------------------- +Fri Oct 1 13:34:49 CEST 2004 - kukuk@suse.de + +- Update to current CVS snapshot +- Add workaround for linuxthreads/without-__threads bug +- Remove KDE/ldconfig workaround +- Set SuSE ABI note to 9.3 + +------------------------------------------------------------------- +Sun Sep 26 16:56:19 CEST 2004 - kukuk@suse.de + +- Add lib/nptl/librt.so symlink to tls/librt.so.1 +- Update to current CVS + +------------------------------------------------------------------- +Sat Sep 25 13:43:09 CEST 2004 - kukuk@suse.de + +- Implement mq support for rtkaio and enable it again + +------------------------------------------------------------------- +Fri Sep 24 15:37:08 CEST 2004 - kukuk@suse.de + +- Add zh_SG.UTF-8 [Bug #46024] + +------------------------------------------------------------------- +Thu Sep 23 16:22:33 CEST 2004 - kukuk@suse.de + +- Sync sys/mount.h and linux/fs.h + +------------------------------------------------------------------- +Wed Sep 22 15:33:10 CEST 2004 - kukuk@suse.de + +- Make mdns support configurable in /etc/host.conf + +------------------------------------------------------------------- +Mon Sep 20 17:58:13 CEST 2004 - kukuk@suse.de + +- Fix invalidating of nscd caches and getaddrinfo() + +------------------------------------------------------------------- +Fri Sep 17 07:13:01 CEST 2004 - kukuk@suse.de + +- Update to current CVS (nscd and glob.h fixes) + +------------------------------------------------------------------- +Thu Sep 16 16:37:45 CEST 2004 - kukuk@suse.de + +- Fix getaddrinfo/nscd support + +------------------------------------------------------------------- +Wed Sep 15 14:11:29 CEST 2004 - kukuk@suse.de + +- Update to current CVS, remove merged patches + +------------------------------------------------------------------- +Sun Sep 12 09:06:31 CEST 2004 - kukuk@suse.de + +- Update to CVS: Fix nscd crash if one service is disabled +- glob.h: Add workaround for invalid prototypes +- nss_compat: Check that buffer is larger than 0 bytes + +------------------------------------------------------------------- +Sat Sep 11 00:50:47 CEST 2004 - kukuk@suse.de + +- Update to CVS: Fix cdefs.h for C++ usage + +------------------------------------------------------------------- +Fri Sep 10 14:31:47 CEST 2004 - kukuk@suse.de + +- Add lwres to hosts search order in nsswitch.conf +- Update to current CVS +- Use new nscd paths for socket/pid file +- Enable NPTL on i586 +- Add --print-all option to getconf + +------------------------------------------------------------------- +Thu Sep 2 11:13:48 CEST 2004 - kukuk@suse.de + +- Fix NPTL header files on x86-64 for 32bit compilation +- Apply various fixes from CVS +- Remove pre-Install for -devel package (no longer necessary) + +------------------------------------------------------------------- +Wed Aug 25 16:16:32 CEST 2004 - kukuk@suse.de + +- Don't compile in eval.c + +------------------------------------------------------------------- +Mon Aug 23 10:20:09 CEST 2004 - kukuk@suse.de + +- Update to current CVS: + - Use CVS version for last fix. + - Add malloc sanity checks for double free. + +------------------------------------------------------------------- +Sat Aug 21 00:06:58 CEST 2004 - schwab@suse.de + +- Fix cancellable syscalls in librt w/ linuxthreads. + +------------------------------------------------------------------- +Fri Aug 20 20:40:38 CEST 2004 - kukuk@suse.de + +- Update to current CVS [#43993] + +------------------------------------------------------------------- +Thu Aug 19 13:56:15 CEST 2004 - schwab@suse.de + +- Better fix for asm-ia64/gcc_intrin.h. + +------------------------------------------------------------------- +Wed Aug 18 14:53:47 CEST 2004 - kukuk@suse.de + +- Update to current CVS +- Workaround linux/ixjuser.h problem not including compiler.h +- Workaround linux/capi.h problem not including compiler.h + +------------------------------------------------------------------- +Tue Aug 17 18:32:29 CEST 2004 - schwab@suse.de + +- Fix asm-ia64/gcc_intrin.h. + +------------------------------------------------------------------- +Tue Aug 17 12:13:41 CEST 2004 - kukuk@suse.de + +- Workaround broken linux/crc-ccitt.h for usage from glibc [#43884] + +------------------------------------------------------------------- +Mon Aug 16 11:51:37 CEST 2004 - kukuk@suse.de + +- Update to current CVS version and update to + kernel-headers 2.6.8.1 to fix NPTL deadlock problems +- Disable linuxthreads/tst-clock1, does not work on i586 and lower + +------------------------------------------------------------------- +Fri Aug 13 14:45:31 CEST 2004 - kukuk@suse.de + +- Update to current CVS version +- Cleanup/adjust all patches + +------------------------------------------------------------------- +Thu Jun 17 12:12:31 CEST 2004 - kukuk@suse.de + +- Fix sched_setaffinity return/errno code in error case [#42124] + +------------------------------------------------------------------- +Wed Jun 16 07:45:07 CEST 2004 - meissner@suse.de + +- Updated altivec set/get/swapcontext patch to fix + more problems on altivec capable machines [#42039]. +- glibc is also able to build on -pmac64 kernels. + +------------------------------------------------------------------- +Mon Jun 14 20:12:00 CEST 2004 - kukuk@suse.de + +- Add fixes from CVS: + - sysconf return value fixes + - nscd host caching deadlock + - backtrace for s390/s390x/ia64 static linked binaries + +------------------------------------------------------------------- +Mon Jun 14 18:54:05 CEST 2004 - kukuk@suse.de + +- Increase listen backlog in RPC code [#41955] + +------------------------------------------------------------------- +Wed Jun 9 16:21:30 CEST 2004 - meissner@suse.de + +- Fixed typos in powerpc* *context functions to not destroy the r19 + register and save the v19 register correctly. [#41790] + +------------------------------------------------------------------- +Sat Jun 5 08:40:29 CEST 2004 - aj@suse.de + +- Fix makecontext with more than 6 arguments on x86-64 [#40546]. + +------------------------------------------------------------------- +Mon May 24 18:04:38 CEST 2004 - kukuk@suse.de + +- Update to kernel-headers 2.6.6 +- Update to current glibc CVS +- Disable rtkaio temporary + +------------------------------------------------------------------- +Sun May 23 21:44:19 CEST 2004 - kukuk@suse.de + +- Fix pthread_cond_wait on not ix86 and x86-64 architectures + +------------------------------------------------------------------- +Thu May 20 14:11:47 CEST 2004 - kukuk@suse.de + +- Add PPC64 kernel header file fixes [#40831,#40870] + +------------------------------------------------------------------- +Wed May 19 16:18:37 CEST 2004 - kukuk@suse.de + +- Add additional NPTL fixes from CVS + +------------------------------------------------------------------- +Tue May 18 10:52:27 CEST 2004 - schwab@suse.de + +- Fix mapping of DSOs with holes. + +------------------------------------------------------------------- +Fri May 14 13:50:37 CEST 2004 - schwab@suse.de + +- Fix rounding in alarm [#40552]. + +------------------------------------------------------------------- +Wed May 12 11:43:38 CEST 2004 - schwab@suse.de + +- Fix uninitialized array in regexp compiler [#40009]. + +------------------------------------------------------------------- +Tue May 11 11:45:08 CEST 2004 - kukuk@suse.de + +- Apply lot of fixes from current CVS +- Fix alignment of stack for makecontext on x86-64 [Bug #39413] +- Make XTABS identical to TABDLY on PPC + +------------------------------------------------------------------- +Wed May 5 13:50:51 CEST 2004 - kukuk@suse.de + +- Add some header fixes to match POSIX + +------------------------------------------------------------------- +Tue May 4 11:27:15 CEST 2004 - meissner@suse.de + +- Fix INLINE_SYSCALL on ppc and ppc64 (see #38399) + +------------------------------------------------------------------- +Mon May 3 13:42:12 CEST 2004 - kukuk@suse.de + +- Port --mlock option for ld.so from UL1 [Bug #39569] + +------------------------------------------------------------------- +Tue Apr 20 11:23:55 CEST 2004 - kukuk@suse.de + +- Add execstack fix for s390 + +------------------------------------------------------------------- +Mon Apr 19 13:11:27 CEST 2004 - kukuk@suse.de + +- Update to current CVS version (fix problems with new binutils + and gcc) + +------------------------------------------------------------------- +Mon Apr 19 08:29:42 CEST 2004 - kukuk@suse.de + +- Add pthread_getattr_np and syslog fixes from CVS +- Update gb18030 and big5hkscs gconv modules [Bug #39080] + +------------------------------------------------------------------- +Sat Apr 17 17:42:48 CEST 2004 - schwab@suse.de + +- Pacify autobuild. + +------------------------------------------------------------------- +Thu Apr 15 10:07:19 CEST 2004 - kukuk@suse.de + +- Add /etc/ld.so.conf.d/*.conf to /etc/ld.so.conf +- Disable FUTEX_REQUEUE support in NPTL library [Bug #38882] + +------------------------------------------------------------------- +Thu Apr 15 00:37:28 CEST 2004 - schwab@suse.de + +- Remove /usr/i386-linux from ld.so.conf, + +------------------------------------------------------------------- +Wed Apr 14 11:49:05 CEST 2004 - kukuk@suse.de + +- Fix linux/compiler.h for glibc inclusion +- Really fix ffsl on s390x + +------------------------------------------------------------------- +Sat Apr 10 00:42:04 CEST 2004 - schwab@suse.de + +- Fix syntax error in memcmp. + +------------------------------------------------------------------- +Fri Apr 9 16:22:31 CEST 2004 - kukuk@suse.de + +- Update from CVS: linuxthread debug fixes +- Fix INLINE_SYSCALL on x86-64 and ia64 (fixes #38399) +- Fix ffsl weak alias on s390x +- Update to 2.6.5 kernel headers + +------------------------------------------------------------------- +Thu Apr 8 00:24:46 CEST 2004 - meissner@suse.de + +- forward umount to umount2 on ppc64 because umount syscall + does not exist + +------------------------------------------------------------------- +Mon Apr 5 14:40:18 CEST 2004 - kukuk@suse.de + +- Sync with current CVS (which is nearly identical with most of + our latest patches) + +------------------------------------------------------------------- +Fri Apr 2 14:18:11 CEST 2004 - kukuk@suse.de + +- Make fstatvfs64 working on 32bit architectures +- Add fwrite LFS fix from aj +- Add powerpc fixes from CVS +- Fix wrong errno code for shm_unlink [Bug #38013] + +------------------------------------------------------------------- +Wed Mar 31 09:31:56 CEST 2004 - kukuk@suse.de + +- Add three fixes from CVS: + - Call __nptl_deallocate_tsd for main thread, too + - setgroups: optimizations for huge number of groups + - initgroups: Limit the initial allocation to 64 entries + +------------------------------------------------------------------- +Tue Mar 30 17:36:18 CEST 2004 - kukuk@suse.de + +- Add IUTF8 to bits/termios.h [Bug #34725] +- *affinitiy.c: Prepend GLIBC_ to version names + +------------------------------------------------------------------- +Sat Mar 27 09:52:53 CET 2004 - kukuk@suse.de + +- Fix wrong return value of getXXbyYY_r in case key was not + found [Bug #37181] +- Fix typo in dl-open +- Don't set errno in NSS NIS module if group was not found + +------------------------------------------------------------------- +Fri Mar 26 12:39:27 CET 2004 - aj@suse.de + +- Add pow10/pow10f aliases for AMD64. + +------------------------------------------------------------------- +Thu Mar 25 16:42:57 CET 2004 - kukuk@suse.de + +- Update to latest CVS snapshot + +------------------------------------------------------------------- +Sat Mar 20 07:49:49 CET 2004 - aj@suse.de + +- Fix further problems with sched_[sg]etaffinity calls. + +------------------------------------------------------------------- +Fri Mar 19 19:57:35 CET 2004 - aj@suse.de + +- Fix sched_setaffinity compile problem. + +------------------------------------------------------------------- +Fri Mar 19 19:44:32 CET 2004 - kukuk@suse.de + +- Remove conflict with special aaa_base version (rpm will handle + this with file conflict) + +------------------------------------------------------------------- +Fri Mar 19 15:43:19 CET 2004 - kukuk@suse.de + +- Add SuSE abi note +- Add madvise patch +- Update to current CVS + +------------------------------------------------------------------- +Wed Mar 17 13:59:14 CET 2004 - kukuk@suse.de + +- Use official NPTL version fix +- Add LD_DEBUG=statistic for x86-64 +- Fix two JB_SIZE redefinitions on PPC +- Add two fixes for execstack + +------------------------------------------------------------------- +Mon Mar 15 08:11:33 CET 2004 - kukuk@suse.de + +- Require kernel 2.6.4 for glibc/NPTL +- Remove siginfo_t/si_band patch (needs to be fixed in kernel) +- Update linuxthreads_db and nptl_db +- Add libidn fixes from CVS + +------------------------------------------------------------------- +Sat Mar 13 19:53:58 CET 2004 - kukuk@suse.de + +- Adjust filelist (remove libcidn.a and libcidn_p.a) + +------------------------------------------------------------------- +Sat Mar 13 16:01:42 CET 2004 - kukuk@suse.de + +- Update to current CVS (merge of patches) +- Fix siginfo_t/si_band [Bug #34330] + +------------------------------------------------------------------- +Thu Mar 11 18:35:05 CET 2004 - mls@suse.de + +- Add mdns support to resolver library + +------------------------------------------------------------------- +Thu Mar 11 16:01:43 CET 2004 - kukuk@suse.de + +- Update kernel headers to 2.6.4 +- Update to current glibc CVS + +------------------------------------------------------------------- +Wed Mar 10 15:44:25 CET 2004 - bg@suse.de + +- Update hppa patches. + +------------------------------------------------------------------- +Mon Mar 8 15:19:01 CET 2004 - kukuk@suse.de + +- Fix vDSO on IA64 + +------------------------------------------------------------------- +Mon Mar 8 13:25:48 CET 2004 - kukuk@suse.de + +- Update from glibc CVS: + - Add libidn + - Lot of dynamic loader changes + +------------------------------------------------------------------- +Thu Mar 4 10:50:09 CET 2004 - kukuk@suse.de + +- Update from glibc CVS: + - Fix posix_fadvise vs. posix_fadvise64 + +------------------------------------------------------------------- +Tue Mar 2 16:51:44 CET 2004 - kukuk@suse.de + +- Fix PPC kernel header files +- Update from glibc CVS + - NPTL fixes + - nscd fixes + +------------------------------------------------------------------- +Tue Mar 2 12:11:38 CET 2004 - schwab@suse.de + +- Fix ppc32 to always use stat64 syscall. + +------------------------------------------------------------------- +Sat Feb 28 17:30:17 CET 2004 - kukuk@suse.de + +- Update from glibc CVS: + - Fix compiler warnings + - NPTL: Don't use CLONE_STOPPED + - Revert vDSO changes + +------------------------------------------------------------------- +Fri Feb 27 10:05:48 CET 2004 - kukuk@suse.de + +- Update from glibc CVS: + - Real NGROUP_MAX fix + - Lot of NPTL fixes + - clock_settime fix +- Add no_NO back (required by OpenI18N spec and [Bug #34745]) + +------------------------------------------------------------------- +Thu Feb 26 14:52:07 CET 2004 - kukuk@suse.de + +- Workaround broken NGROUP_MAX function + +------------------------------------------------------------------- +Thu Feb 26 12:10:37 CET 2004 - kukuk@suse.de + +- Add insserv PreRequires for nscd +- Update from CVS: NPTL and getaddrinfo memory leak fixes, + Get NGROUP_MAX from /proc filesystem + +------------------------------------------------------------------- +Sat Feb 21 06:22:23 CET 2004 - kukuk@suse.de + +- Update from CVS: IA64 relo fix, lot of PPC fixes +- Fix linux/mod_devicetable.h for userland inclusion +- Enable NPTL on Alpha + +------------------------------------------------------------------- +Fri Feb 20 01:08:26 CET 2004 - schwab@suse.de + +- Fix pthread_barrier_wait. + +------------------------------------------------------------------- +Thu Feb 19 09:46:46 CET 2004 - kukuk@suse.de + +- Update from CVS: More NPTL fixes +- nscd.init: Cleanups + +------------------------------------------------------------------- +Wed Feb 18 15:49:09 CET 2004 - kukuk@suse.de + +- Kernel Headers: Fix asm-ppc/unaliged.h, asm-ppc/types.h and + asm-ppc/bitops.h for userland inclusion. + +------------------------------------------------------------------- +Wed Feb 18 11:24:35 CET 2004 - bg@suse.de + +- Update hppa patches for current glibc +- Add workaround for ICE in hppa + +------------------------------------------------------------------- +Tue Feb 17 13:54:28 CET 2004 - kukuk@suse.de + +- Update from CVS: + - PPC nptl compatiblity fix + - NSCD patches merged + - ld.so.preload: Igreno missing files + - getaddrinfo: Fix problem with IPv6 addresses + +------------------------------------------------------------------- +Tue Feb 17 11:42:59 CET 2004 - aj@suse.de + +- Fix string optimizations init code on AMD64. + +------------------------------------------------------------------- +Sat Feb 14 07:10:42 CET 2004 - kukuk@suse.de + +- Update from CVS (for NPTL fixes and new PPC longjmp) +- Fix nscd deadlock with kernel 2.6 [Bug #34507] + +------------------------------------------------------------------- +Fri Feb 13 14:19:25 CET 2004 - aj@suse.de + +- Add more string/memory optimizations for AMD64. + +------------------------------------------------------------------- +Thu Feb 12 17:07:08 CET 2004 - kukuk@suse.de + +- Fix regex bug with invalid UTF-8 strings + +------------------------------------------------------------------- +Thu Feb 12 16:31:51 CET 2004 - aj@suse.de + +- Add more string optimizations for AMD64. + +------------------------------------------------------------------- +Wed Feb 11 16:14:53 CET 2004 - kukuk@suse.de + +- Update to current CVS snapshot +- Fix _IOC_TYPECHECK on s390/s390x/parisc +- Compile rtkaio only with NPTL +- Remove glibcbug (was dropped since glibc uses bugzilla now) +- Disable parallel build on s390x + +------------------------------------------------------------------- +Tue Feb 10 15:38:37 CET 2004 - schwab@suse.de + +- Work around invalid use of kernel headers in some packages. + +------------------------------------------------------------------- +Fri Feb 6 19:57:04 CET 2004 - kukuk@suse.de + +- Add kernel stat fix for PPC +- Add fix for off-by-one error in regex code + +------------------------------------------------------------------- +Thu Feb 5 18:04:45 CET 2004 - kukuk@suse.de + +- Update kernel header files to 2.6.2 + +------------------------------------------------------------------- +Tue Feb 3 17:14:38 CET 2004 - bg@suse.de + +- Update hppa patch + +------------------------------------------------------------------- +Tue Feb 3 16:24:47 CET 2004 - kukuk@suse.de + +- Fix ypclnt speedup patch +- Update to current CVS snapshot + +------------------------------------------------------------------- +Mon Jan 26 13:44:39 CET 2004 - kukuk@suse.de + +- Update to current CVS snapshot + +------------------------------------------------------------------- +Wed Jan 21 10:23:42 CET 2004 - aj@suse.de + +- Do not run in parallel on s390. + +------------------------------------------------------------------- +Mon Jan 19 15:49:51 CET 2004 - ro@suse.de + +- really fix linux/percpu.h to compile in userland + +------------------------------------------------------------------- +Fri Jan 16 11:14:49 CET 2004 - kukuk@suse.de + +- Update version.h to 2.6.1 +- Fix linux/percpu.h to compile in userland +- Update to current CVS snapshot +- Revert nscd path changes + +------------------------------------------------------------------- +Wed Jan 14 12:06:13 CET 2004 - kukuk@suse.de + +- Update to Kernel Headers 2.6.1 +- Update to current CVS snapshot +- Don't ignore make check on IA64 any longer + +------------------------------------------------------------------- +Sat Jan 10 01:56:48 CET 2004 - schwab@suse.de + +- Locale no_NO has been renamed to nb_NO. + +------------------------------------------------------------------- +Fri Jan 9 14:09:01 CET 2004 - kukuk@suse.de + +- Temporary ignore make check on IA64 and PPC + (known kernel/compiler bugs) + +------------------------------------------------------------------- +Fri Jan 9 00:36:51 CET 2004 - stepan@suse.de + +- fix v4l2 headers + +------------------------------------------------------------------- +Wed Jan 7 13:09:26 CET 2004 - kukuk@suse.de + +- Update to glibc CVS from 20040107 +- Remove manual pages which are now part of man-pages + +------------------------------------------------------------------- +Thu Dec 18 13:41:37 CET 2003 - kukuk@suse.de + +- Update to glibc CVS from 20031218 +- Update ot final 2.6.0 kernel headers +- Fix syntax error in spec file +- Update HPPA patch + +------------------------------------------------------------------- +Mon Dec 15 19:19:08 CET 2003 - kukuk@suse.de + +- Update to glibc CVS from 20031215 + +------------------------------------------------------------------- +Fri Dec 12 10:19:52 CET 2003 - kukuk@suse.de + +- Update to glibc CVS from 20031212 +- disable rtkaio (does not work with kernel 2.6 yet) + +------------------------------------------------------------------- +Fri Dec 5 10:00:28 CET 2003 - kukuk@suse.de + +- Update to glibc 2.3.3 CVS +- Make an extra sub package for nscd + +------------------------------------------------------------------- +Thu Nov 27 13:08:32 CET 2003 - kukuk@suse.de + +- Update to glibc CVS from 20031127 +- Add nsswitch.conf (moved from aaa_base) +- Add ld.so.conf (moved from aaa_base) [Bug #33277] +- Fix ceil on AMD64 + +------------------------------------------------------------------- +Fri Nov 21 14:40:29 CET 2003 - kukuk@suse.de + +- Update to glibc CVS from 20031121 +- Obsolete epoll (glibc-devel contains now this header files) + +------------------------------------------------------------------- +Wed Nov 19 15:54:58 CET 2003 - kukuk@suse.de + +- Add patch so that ld.so supports linuxthreads and nptl +- PPC64 requires kernel 2.4.21 +- Update to glibc CVS from 20031119 + +------------------------------------------------------------------- +Fri Nov 14 14:05:38 CET 2003 - bg@suse.de + +- Add hppa patches for current glibc. + +------------------------------------------------------------------- +Fri Nov 14 13:32:06 CET 2003 - kukuk@suse.de + +- Update to glibc CVS from 20031114 +- Remove PPC64 symbol version patch + +------------------------------------------------------------------- +Thu Nov 13 12:10:15 CET 2003 - schwab@suse.de + +- Fix last change covering libNoVersion. + +------------------------------------------------------------------- +Mon Nov 10 16:52:09 CET 2003 - schwab@suse.de + +- Specfile cleanup. + +------------------------------------------------------------------- +Thu Nov 6 14:10:17 CET 2003 - kukuk@suse.de + +- Update to glibc CVS from 20031106 + +------------------------------------------------------------------- +Wed Nov 5 15:26:06 CET 2003 - uli@suse.de + +- added a number of ARM fixes (glibc-2.3.2-armformat.patch, + glibc-armisa.patch, glibc-sjlj.patch) + +------------------------------------------------------------------- +Mon Oct 27 21:13:09 CET 2003 - kukuk@suse.de + +- Update to glibc CVS from 20031027 +- kernel headers: update to 2.6.0-test9 +- nptl: Use -fno-unit-at-a-time on AMD64, too + +------------------------------------------------------------------- +Thu Oct 23 13:34:25 CEST 2003 - kukuk@suse.de + +- Update to current CVS version + +------------------------------------------------------------------- +Wed Oct 22 19:01:37 CEST 2003 - kukuk@suse.de + +- nptl: Fix prototype in configure script +- nptl: Use -fno-unit-at-a-time +- locale: Add nb_NO + +------------------------------------------------------------------- +Fri Oct 17 16:56:58 CEST 2003 - kukuk@suse.de + +- Increase timeout for make check on overloaded architectures + +------------------------------------------------------------------- +Thu Oct 16 18:19:13 CEST 2003 - kukuk@suse.de + +- Fix building as normal user + +------------------------------------------------------------------- +Wed Oct 15 16:31:32 CEST 2003 - kukuk@suse.de + +- Fix putpwent/putgrent +- Make build as normal user + +------------------------------------------------------------------- +Tue Oct 14 21:13:25 CEST 2003 - kukuk@suse.de + +- Update to glibc CVS from 20031014 + +------------------------------------------------------------------- +Tue Oct 14 13:26:06 CEST 2003 - aj@suse.de + +- Fix w_acosf for AMD64. + +------------------------------------------------------------------- +Tue Oct 14 10:49:36 CEST 2003 - kukuk@suse.de + +- Fix asm-sparc/kbio.h to compile kbdrate/X11 + +------------------------------------------------------------------- +Mon Oct 13 12:11:53 CEST 2003 - kukuk@suse.de + +- Update to kernel header files from 2.6.0-test7 + +------------------------------------------------------------------- +Fri Oct 10 17:11:01 CEST 2003 - schwab@suse.de + +- Fix misnamed syscalls. + +------------------------------------------------------------------- +Tue Oct 7 21:13:09 CEST 2003 - kukuk@suse.de + +- Update to glibc CVS from 20031007 + +------------------------------------------------------------------- +Fri Oct 3 09:12:38 CEST 2003 - kukuk@suse.de + +- Update to glibc CVS from 20031003 +- Fix kernel ioctl header files for PPC/PPC64 +- Removed dl-reloc.c fix, merged upstream + +------------------------------------------------------------------- +Wed Oct 1 16:49:19 CEST 2003 - kukuk@suse.de + +- Update to glibc cvs from 20031001 +- Remove sysmacros.h fix, merged upstream +- Add dl-reloc.c fix for compiler warnings + +------------------------------------------------------------------- +Mon Sep 29 11:49:19 CEST 2003 - kukuk@suse.de + +- Update kernel-headers to 2.6.0-test6 +- Fix sysmacros.h to compile with -ansi + +------------------------------------------------------------------- +Sat Sep 27 20:58:07 CEST 2003 - kukuk@suse.de + +- Update to glibc CVS from 20030927 +- Remove SO_BSDCOMPAT (obsoleted by kernel) +- Make _IOC_TYPECHECK useable for userland programs + +------------------------------------------------------------------- +Fri Sep 26 10:01:15 CEST 2003 - kukuk@suse.de + +- Remove obsolete patches +- Update to crypt_blowfish 0.4.5 + +------------------------------------------------------------------- +Fri Sep 26 08:51:10 CEST 2003 - kukuk@suse.de + +- Update to glibc CVS from 20030926 +- Update to nptl 0.60 + +------------------------------------------------------------------- +Sat Sep 20 21:13:04 CEST 2003 - kukuk@suse.de + +- Update to glibc CVS from 20030920 +- Update to nptl 0.59 + +------------------------------------------------------------------- +Wed Sep 17 12:13:35 CEST 2003 - kukuk@suse.de + +- Disable TLS for i586 glibc [Bug #31034] + +------------------------------------------------------------------- +Tue Sep 16 15:38:19 CEST 2003 - kukuk@suse.de + +- Remove db1.85 + +------------------------------------------------------------------- +Mon Sep 15 21:30:51 CEST 2003 - kukuk@suse.de + +- Update to glibc CVS from 20030915 + +------------------------------------------------------------------- +Mon Sep 15 18:43:19 CEST 2003 - kukuk@suse.de + +- Update to kernel 2.6.0-test5 header files + +------------------------------------------------------------------- +Sat Sep 13 07:01:40 CEST 2003 - kukuk@suse.de + +- Add librtkaio, a librt using kernel aio + +------------------------------------------------------------------- +Thu Sep 11 16:59:50 CEST 2003 - kukuk@suse.de + +- Update to current CVS +- Remove patches which are merged in CVS +- Update to nptl-0.58 +- Remove _POSIX_VERSION hack + +------------------------------------------------------------------- +Thu Sep 11 16:59:49 CEST 2003 - kukuk@suse.de + +- version.h: Fix comment how to compile kernel modules + +------------------------------------------------------------------- +Wed Sep 10 19:27:05 CEST 2003 - aj@suse.de + +- Install en_US.ISO-8859-15 under this name [#30373]. + +------------------------------------------------------------------- +Tue Sep 9 14:22:02 CEST 2003 - aj@suse.de + +- Fix last patch. + +------------------------------------------------------------------- +Mon Sep 8 18:20:56 CEST 2003 - aj@suse.de + +- Fix setting up of user signal handler in linuxthreads on x86_64. + +------------------------------------------------------------------- +Fri Sep 5 13:44:13 CEST 2003 - kukuk@suse.de + +- Add dl-tls.c to fix out of memory with static TLS errors + +------------------------------------------------------------------- +Wed Sep 3 21:03:13 CEST 2003 - kukuk@suse.de + +- Update glibc-linuxthreads +- Set _POSIX_VERSION back to 199209 + +------------------------------------------------------------------- +Mon Sep 1 18:23:49 CEST 2003 - kukuk@suse.de + +- Fix typo in nss_compat patch + +------------------------------------------------------------------- +Mon Sep 1 09:13:14 CEST 2003 - kukuk@suse.de + +- Add opendir fix for usage with NPTL +- Fix getspnam/getspent in nss_compat [Bug #29689] +- Set _POSIX2_VERSION back to 199209 + +------------------------------------------------------------------- +Wed Aug 27 15:22:40 CEST 2003 - kukuk@suse.de + +- Update to current CVS version + +------------------------------------------------------------------- +Mon Aug 25 09:35:41 CEST 2003 - kukuk@suse.de + +- Update to current CVS version + +------------------------------------------------------------------- +Mon Aug 18 21:17:25 CEST 2003 - aj@suse.de + +- increase stack size for linuxthreads/set-context. + +------------------------------------------------------------------ +Mon Aug 18 13:23:00 CEST 2003 - aj@suse.de + +- Fix mathinline.h for i386 to compile under C++ without warnings. + +------------------------------------------------------------------- +Sun Aug 17 09:59:25 CEST 2003 - ro@suse.de + +- kernel-headers.dif: don't include device.h from videodev.h + +------------------------------------------------------------------- +Fri Aug 15 10:39:49 CEST 2003 - kukuk@suse.de + +- Update to current cvs (fixes assert usage in C++ source code) + +------------------------------------------------------------------- +Thu Aug 14 10:34:27 CEST 2003 - kukuk@suse.de + +- Initialize fp->_mode for glibc 2.0 compatibility [Bug #28386] +- On i686, include glibc with and without floating stack enabled +- Update to current cvs +- Update to nptl 0.56 + +------------------------------------------------------------------- +Thu Jul 31 16:57:36 CEST 2003 - kukuk@suse.de + +- Reenable new quota.h + +------------------------------------------------------------------- +Wed Jul 30 09:59:21 CEST 2003 - kukuk@suse.de + +- Update to current cvs +- Update kernel headers to 2.6.0-test2 +- Disable sys/quota.h update +- Enable TLS on AMD64 again + +------------------------------------------------------------------- +Mon Jul 28 17:18:33 CEST 2003 - kukuk@suse.de + +- Update to current cvs +- Disable TLS on AMD64 temporary +- Update sys/quota.h to match new kernel implementation + +------------------------------------------------------------------- +Fri Jul 25 10:14:44 CEST 2003 - kukuk@suse.de + +- Update to current cvs +- Update kernel headers to 2.6.0-test1 +- Update to nptl 0.55 +- Change minimal symbol version on PPC64 back to 2.2.5 + +------------------------------------------------------------------- +Wed Jul 23 18:13:40 CEST 2003 - meissner@suse.de + +- Fixed systemcall clobber lists for asm-ppc/unistd.h (by just + merging over the asm-ppc64 things). + +------------------------------------------------------------------- +Wed Jul 23 12:59:04 CEST 2003 - aj@suse.de + +- Handle in ldconfig konqueror.so and other similar KDE hacks that fail without + rpath. +- Fix bugs exposed by unit-at-a-time option. + +------------------------------------------------------------------- +Fri Jul 18 07:27:47 CEST 2003 - aj@suse.de + +- Fix compilation with unit-at-a-time enabled compiler. +- Enlarge stack for tst-setcontext test. + +------------------------------------------------------------------- +Mon Jun 30 13:09:25 CEST 2003 - kukuk@suse.de + +- Update to current CVS (includes if_arp.h and nss_compat changes) +- Update to nptl 0.50 +- Kernel header fixes for userland inclusion + +------------------------------------------------------------------- +Wed Jun 25 09:34:17 CEST 2003 - kukuk@suse.de + +- Update to current CVS +- Add target host and CVS checkout to glibc version printout +- Adjust fnmatch fix +- Update kernel headers to 2.5.73 + +------------------------------------------------------------------- +Tue Jun 24 23:09:11 CEST 2003 - kukuk@suse.de + +- Fix typos in syscalls.list on Alpha + +------------------------------------------------------------------- +Mon Jun 23 10:53:41 CEST 2003 - kukuk@suse.de + +- fix typo in linuxthreads on SPARC +- Update to current CVS +- Update to nptl 0.48 + +------------------------------------------------------------------- +Thu Jun 19 11:10:55 CEST 2003 - kukuk@suse.de + +- Disable nss_compat patch again + +------------------------------------------------------------------- +Wed Jun 18 10:51:07 CEST 2003 - kukuk@suse.de + +- Fix reading of locale.alias file +- Update to current CVS snapshot +- Update to nptl 0.47 +- Some kernel header file fixes for PPC64/IA64 +- Update nss_compat patch + +------------------------------------------------------------------- +Thu Jun 12 23:42:09 CEST 2003 - kukuk@suse.de + +- Update to current CVS snapshot +- Finish patch for printing linker warning + +------------------------------------------------------------------- +Wed Jun 11 11:45:42 CEST 2003 - kukuk@suse.de + +- Update to nptl 0.45 +- Update to current CVS snapshot +- Add patch to print linker warning, if a static binary calls + functions using NSS + +------------------------------------------------------------------- +Tue Jun 10 16:46:47 CEST 2003 - kukuk@suse.de + +- Use %find_lang macro and cleanup glibc-locale filelist + +------------------------------------------------------------------- +Thu Jun 5 17:28:36 CEST 2003 - kukuk@suse.de + +- Complete mathinline.h fixes + +------------------------------------------------------------------- +Thu Jun 5 10:10:02 CEST 2003 - kukuk@suse.de + +- linux/compiler.h: Define all inline variants to __inline__ + +------------------------------------------------------------------- +Wed Jun 4 14:29:07 CEST 2003 - kukuk@suse.de + +- Update to current glibc CVS snapshot +- Update to nptl 0.43 +- More kernel header fixes +- Make --no-archive default for localedef + +------------------------------------------------------------------- +Tue May 27 14:09:31 CEST 2003 - kukuk@suse.de + +- Update to current glibc CVS snapshot +- Update to nptl 0.40 +- Disable nss_compat patch +- Update to kernel headers from 2.5.70 + +------------------------------------------------------------------- +Fri May 23 10:50:37 CEST 2003 - kukuk@suse.de + +- Update to current glibc CVS snapshot +- Add patches to make nss_compat work with every service + +------------------------------------------------------------------- +Mon May 19 10:57:13 CEST 2003 - kukuk@suse.de + +- Update to current glibc CVS snapshot +- Add patch for better binary compatibility (errno, h_errno) + +------------------------------------------------------------------- +Fri May 16 09:32:39 CEST 2003 - kukuk@suse.de + +- Update to current glibc CVS snapshot +- Update to nptl 0.39 +- Add URL tag +- asm-i386/byteorder.h: fix asm vs. __asm__ + +------------------------------------------------------------------- +Wed May 14 22:31:52 CEST 2003 - schwab@suse.de + +- Fix missing syscall numbers on ia64. + +------------------------------------------------------------------- +Wed May 14 08:59:09 CEST 2003 - kukuk@suse.de + +- More kernel headers fixes for i386, ia64, ppc and s390 + +------------------------------------------------------------------- +Mon May 12 16:49:51 CEST 2003 - kukuk@suse.de + +- Update to current glibc CVS snapshot +- Fix lot of more kernel headers +- Adjust netinet/igmp.h patch +- Copy linux/version.h in place before compiling glibc + +------------------------------------------------------------------- +Fri May 9 13:25:08 CEST 2003 - kukuk@suse.de + +- Fix bits/stdio.h +- Fix lot of kernel headers to work in userspace +- Fix netinet/igmp.h +- Enable TLS on PPC + +------------------------------------------------------------------- +Wed May 7 10:58:25 CEST 2003 - kukuk@suse.de + +- Update CVS snapshot +- Enable TLS on IA64 +- Update to nptl 0.37 +- Update kernel-headers to 2.5.69 + +------------------------------------------------------------------- +Thu Apr 24 12:20:23 CEST 2003 - ro@suse.de + +- fix install_info --delete call and move from preun to postun + +------------------------------------------------------------------- +Fri Apr 11 06:32:25 CEST 2003 - aj@suse.de + +- Do not build locales in parallel. + +------------------------------------------------------------------- +Tue Apr 8 16:12:36 CEST 2003 - kukuk@suse.de + +- Disable TLS for PPC + +------------------------------------------------------------------- +Mon Apr 7 14:16:03 CEST 2003 - kukuk@suse.de + +- Update CVS snapshot + +------------------------------------------------------------------- +Sat Apr 5 09:55:15 CEST 2003 - kukuk@suse.de + +- Disable TLS for ia64 +- Update to nptl 0.34 +- Update to CVS snapshot + +------------------------------------------------------------------- +Fri Apr 4 16:23:39 CEST 2003 - kukuk@suse.de + +- Remove libNoVersion from filelist on alpha +- Add nptl docu + +------------------------------------------------------------------- +Fri Apr 4 10:23:35 CEST 2003 - kukuk@suse.de + +- Update to nptl 0.33 +- Run ldconfig after installation +- Update to CVS snapshot + +------------------------------------------------------------------- +Sat Mar 29 17:47:56 CET 2003 - kukuk@suse.de + +- Update to CVS snapshot +- Add USAGI patches for kernel-headers +- Add nptl on i686 +- Enable --with-tls +- Implement NI_NUMSERICSCOPE for getnameinfo +- Implement AI_V4MAPPED/AI_ALL for getaddrinfo +- Implement AI_ADDRCONFIG for getaddrinfo +- Add USAGI patch for kernel headers + +------------------------------------------------------------------- +Mon Mar 24 21:46:45 CET 2003 - schwab@suse.de + +- Sanitize . + +------------------------------------------------------------------- +Mon Mar 17 08:45:27 CET 2003 - aj@suse.de + +- Fix tst-aio7 testcase and enable it again. +- Enable %fs for x86-64. +- Install en_US.ISO-8859-15 for libstdc++. +- Fix bits/syscalls.h for x86-64. + +------------------------------------------------------------------- +Thu Mar 13 10:36:24 CET 2003 - kukuk@suse.de + +- Revert tcgetattr change [Bug #25173/#25174] + +------------------------------------------------------------------- +Tue Mar 4 15:15:33 CET 2003 - aj@suse.de + +- Fix lround/lrint functions. + +------------------------------------------------------------------- +Sat Mar 1 07:24:22 CET 2003 - aj@suse.de + +- Update to 2.3.2 release. + +------------------------------------------------------------------- +Wed Feb 26 21:45:36 CET 2003 - kukuk@suse.de + +- Update to current cvs snapshot (fixes OOo and mysql problems) + +------------------------------------------------------------------- +Mon Feb 24 17:52:02 CET 2003 - kukuk@suse.de + +- Disable aio7 test on s390(x), too. + +------------------------------------------------------------------- +Mon Feb 24 14:19:20 CET 2003 - kukuk@suse.de + +- Update to current cvs snapshot (post 2.3.2-pre1) +- Remove glibc-2.3-ppc32-textrel.patch, is included in CVS +- Remove libc23-ppc64-cvshead20021210.patch + +------------------------------------------------------------------- +Thu Feb 20 16:19:21 CET 2003 - kukuk@suse.de + +- Update to current cvs snapshot +- Remove glibc-2.3-ppc64-vfork-20030214.patch, seems to be + included already. + +------------------------------------------------------------------- +Wed Feb 19 11:45:35 CET 2003 - olh@suse.de + +- add glibc-2.3-ppc32-textrel.patch + glibc-2.3-ppc64-vfork-20030214.patch + +------------------------------------------------------------------- +Fri Feb 14 14:51:11 CET 2003 - kukuk@suse.de + +- Extend getent to print all IP addresses of one host + +------------------------------------------------------------------- +Thu Feb 13 18:34:50 CET 2003 - kukuk@suse.de + +- Update to current snapshot + +------------------------------------------------------------------- +Wed Feb 12 11:50:54 CET 2003 - kukuk@suse.de + +- Update to current snapshot (contains official fix for #23513) + +------------------------------------------------------------------- +Tue Feb 11 15:28:16 CET 2003 - kukuk@suse.de + +- Update to current snapshot +- Fix corruption of internal data in gethostbyname2 [Bug #23513] + +------------------------------------------------------------------- +Sun Feb 9 12:20:55 CET 2003 - aj@suse.de + +- Fix cancellation of system calls on x86-64. + +------------------------------------------------------------------- +Sat Feb 8 10:43:02 CET 2003 - kukuk@suse.de + +- Fix wrong logic in dynamic resolv.conf patch + +------------------------------------------------------------------- +Fri Feb 7 17:35:12 CET 2003 - kukuk@suse.de + +- Fix access of _res symbol in multithreaded programs +- Add "dynamic resolv.conf" patch to libnss_dns, too. +- Remove obsolete db2 manual pages +- Update to current snapshot (fixes [Bug #23363]) + +------------------------------------------------------------------- +Thu Feb 6 18:06:36 CET 2003 - kukuk@suse.de + +- Update to current snapshot +- Use install-info for info pages + +------------------------------------------------------------------- +Tue Feb 4 20:12:51 CET 2003 - schwab@suse.de + +- Fix regexp parsing. + +------------------------------------------------------------------- +Mon Feb 3 14:44:21 CET 2003 - meissner@suse.de + +- Merged a unistd.h gcc3.3 compliance patch from Franz Sirl for + ppc and ppc64 kernel headers. + +------------------------------------------------------------------- +Fri Jan 31 22:12:03 CET 2003 - schwab@suse.de + +- Fix building on s390[x]. + +------------------------------------------------------------------- +Fri Jan 31 15:20:00 CET 2003 - kukuk@suse.de + +- Update to current glibc cvs + +------------------------------------------------------------------- +Thu Jan 30 16:05:32 CET 2003 - aj@suse.de + +- Fix one build problem on sparc. +- Fix asm-x86_64/mtrr.h. + +------------------------------------------------------------------- +Wed Jan 29 12:57:23 CET 2003 - kukuk@suse.de + +- Update to current glibc cvs +- Fix libm-ulps for x86-64 and ia64 + +------------------------------------------------------------------- +Thu Jan 23 16:47:33 CET 2003 - schwab@suse.de + +- Fix use of DT_FINI_ARRAY. +- Temporarily disable tst-aio7 test on ia64. + +------------------------------------------------------------------- +Tue Jan 14 22:41:33 CET 2003 - schwab@suse.de + +- Fix ia64 for non-tls build. + +------------------------------------------------------------------- +Tue Jan 14 21:51:24 CET 2003 - aj@suse.de + +- Package libpthread_nonshared.a. + +------------------------------------------------------------------- +Mon Jan 13 10:29:36 CET 2003 - kukuk@suse.de + +- Add fixed version of x86-64-linuxthreads-disable-fs.diff +- Readd parts of libm-x86-64.diff +- Update to current cvs snapshot +- Add fix for errno compatibility +- Add s390(x) vfork fixes + +------------------------------------------------------------------- +Sun Jan 12 19:16:13 CET 2003 - kukuk@suse.de + +- Update to current cvs snapshot + +------------------------------------------------------------------- +Fri Jan 3 19:09:36 CET 2003 - bg@suse.de + +- removed obsolete patch for hppa + +------------------------------------------------------------------- +Fri Dec 20 23:15:48 CET 2002 - kukuk@suse.de + +- Update to current cvs snapshot +- Obsoletes glibc-2.3-setjmp-ppc64.diff +- Obsoletes build-alpha.diff +- Obsoletes libm-x86-64.diff +- Disable activate-spinlocks.diff temporary +- Disable x86-64-linuxthreads-disable-fs.diff (breaks compilation) + +------------------------------------------------------------------- +Tue Dec 17 16:01:13 CET 2002 - olh@suse.de + +- remove glibc-2.2.5-ppc64-bits-socket_h.diff + add glibc-2.3-setjmp-ppc64.diff + add libc23-ppc64-cvshead20021210.patch + dont run configure in subshell, it can fail and rpm cant catch it + +------------------------------------------------------------------- +Fri Dec 13 20:01:30 CET 2002 - schwab@suse.de + +- Add more ia64 syscalls. + +------------------------------------------------------------------- +Fri Dec 6 22:06:41 CET 2002 - olh@suse.de + +- build also the locals parallel + do not fail with parallel calculation on lowmem systems + +------------------------------------------------------------------- +Tue Dec 3 11:16:30 CET 2002 - aj@suse.de + +- Build parallel on x86-64. +- Activate fast spinlocks in malloc for x86 and x86-64. +- Integrate new math library from AMD for x86-64. + +------------------------------------------------------------------- +Fri Nov 29 11:08:03 CET 2002 - bg@suse.de + +- Fix build on hppa. + +------------------------------------------------------------------- +Thu Nov 28 21:31:09 CET 2002 - aj@suse.de + +- Fix build on alpha. + +------------------------------------------------------------------- +Thu Nov 28 15:45:09 CET 2002 - aj@suse.de + +- Update to CVS version from 2002-11-28. +- Do not use %fs for threads for now on x86-64. +- Fix fnmatch bug with multibyte strings. + +------------------------------------------------------------------- +Tue Nov 12 12:41:17 CET 2002 - bg@suse.de + +- Updated hppa patches + +------------------------------------------------------------------- +Thu Nov 7 14:00:04 CET 2002 - kukuk@suse.de + +- getaddrinfo(): get host information for AF_INET and AF_INET6 only + from the same service [Bug #21237] + +------------------------------------------------------------------- +Thu Nov 7 12:11:29 CET 2002 - bg@suse.de + +- Fix build of linuxthreads for hppa + +------------------------------------------------------------------- +Tue Nov 5 16:31:11 CET 2002 - bg@suse.de + +- Use current kernel-headers for parisc +- Add support for hppa + +------------------------------------------------------------------- +Tue Nov 5 15:29:32 CET 2002 - kukuk@suse.de + +- Update to current CVS snapshot + +------------------------------------------------------------------- +Tue Oct 22 16:21:34 CEST 2002 - schwab@suse.de + +- Fix ia64 syscall numbers. + +------------------------------------------------------------------- +Mon Oct 21 17:20:04 CEST 2002 - schwab@suse.de + +- Fix alignment in locale-archive. + +------------------------------------------------------------------- +Mon Oct 21 17:16:51 CEST 2002 - kukuk@suse.de + +- Update to glibc 2.3.1 cvs 20021021 +- Remove nss_dns6 patch + +------------------------------------------------------------------- +Tue Oct 15 14:58:34 CEST 2002 - kukuk@suse.de + +- Update to glibc 2.3.1 cvs 20021015 + +------------------------------------------------------------------- +Wed Oct 2 14:06:31 CEST 2002 - kukuk@suse.de + +- Update to glibc 2.3 cvs 20021002 +- Update crypt_blowfish to 0.4.4 (manual page fix, hppa fix) + +------------------------------------------------------------------- +Wed Sep 25 11:43:08 CEST 2002 - mls@suse.de + +- build with -finline-limit=2000 on mips/armv4l + +------------------------------------------------------------------- +Tue Sep 17 14:54:26 CEST 2002 - schwab@suse.de + +- Add new ia64 syscall numbers. + +------------------------------------------------------------------- +Mon Sep 16 17:24:01 CEST 2002 - meissner@suse.de + +- Added AIO syscall numbers for ppc/ppc64, so libaio does not need them. +- Aligned powerpc bits/sem.h to be the same as the other 64bit + archs, keeping the 32bit layout. +- Added the faster ppc32 memset.S from glibc HEAD on request of IBM. + +------------------------------------------------------------------- +Thu Sep 12 15:56:07 CEST 2002 - meissner@suse.de + +- ppc/ppc64: added more biarch things to the SystemV IPC headers + which are needed to get 64bit ipc / IPC_STAT to work. + +------------------------------------------------------------------- +Mon Sep 9 18:52:53 CEST 2002 - bk@suse.de + +- s390x-biarch: use correct wordsize.h(move to main 32/64 directory) +- s390x: requires 64-bit kernel + +------------------------------------------------------------------- +Mon Sep 9 15:40:23 CEST 2002 - kukuk@suse.de + +- Increase minimum value of MAXPACKET in libnss_dns, too + +------------------------------------------------------------------- +Mon Sep 9 14:31:04 CEST 2002 - uli@suse.de + +- all architectures are created equal, but some are more equal + than others; increased DB_FILE_ID_LEN in DB2 to 24 on x86-64, + ia64, s390x and ppc64 to fit 64 bit __ino_t type + +------------------------------------------------------------------- +Fri Sep 6 17:26:53 MEST 2002 - mls@suse.de + +- fix squeeze bug in db-1.85: set dirty flag after page modification + +------------------------------------------------------------------- +Fri Sep 6 15:44:17 CEST 2002 - kukuk@suse.de + +- Increase minimum value of MAXPACKET + +------------------------------------------------------------------- +Mon Sep 2 10:38:40 CEST 2002 - kukuk@suse.de + +- Fix asm header files for sparc/sparc64 + +------------------------------------------------------------------- +Fri Aug 30 13:18:51 CEST 2002 - aj@suse.de + +- Revert linuxthreads for x86-64 for now. + +------------------------------------------------------------------- +Wed Aug 28 16:15:18 CEST 2002 - aj@suse.de + +- Add optimized math routines for x86-64. + +------------------------------------------------------------------- +Tue Aug 27 15:52:49 CEST 2002 - olh@suse.de + +- BuildFlags="$(echo $RPM_OPT_FLAGS | sed 's#-mminimal-toc##')" + +------------------------------------------------------------------- +Mon Aug 26 21:56:22 CEST 2002 - olh@suse.de + +- add ppc64_glibc_2.2.5_sunrpc-fix.patch + * sysdeps/unix/sysv/linux/powerpc/bits/socket.h: New file that adds + __powerpc64__ specific fields and adjust size/alignment for 64-bit. + +------------------------------------------------------------------- +Fri Aug 23 17:04:38 CEST 2002 - aj@suse.de + +- Use floating stacks for x86-64. +- Add LICENSE file. +- Fix profiling code on x86-64. +- Add strcspn, strpbrk and strspn optimizations for x86-64. +- Fix makecontext for x86-64. + +------------------------------------------------------------------- +Thu Aug 15 08:59:16 CEST 2002 - aj@suse.de + +- Use biarch headers already for building so that bits/syscalls.h is + build correctly. +- Fix bits/syscalls.h for x86-64. +- Remove *xattr patches. + +------------------------------------------------------------------- +Thu Aug 8 16:59:27 CEST 2002 - kukuk@suse.de + +- Update to current cvs (calloc variable overflow fixed) +- Apply fix for calloc fix +- Add *xattr system calls and error number + +------------------------------------------------------------------- +Tue Aug 6 12:45:06 CEST 2002 - kukuk@suse.de + +- Update to current cvs (IPv6 fixes) + +------------------------------------------------------------------- +Mon Aug 5 12:29:59 CEST 2002 - aj@suse.de + +- Implement *context functions for x86-64. + +------------------------------------------------------------------- +Sat Aug 3 16:01:07 CEST 2002 - kukuk@suse.de + +- Update kernel-headers to version 2.4.19 +- Add PreRequires "filesystem". + +------------------------------------------------------------------- +Thu Aug 1 18:23:37 CEST 2002 - bk@suse.de + +- added s390-may2002.diff with some chunks from may2002 drop +- give make check a second chance on s390(x), but fail if not(race) + +------------------------------------------------------------------- +Tue Jul 30 11:40:41 CEST 2002 - kukuk@suse.de + +- sunrpc/xdr_array.c: Check for variable overflow +- Ignore failed make check on s390(x) + +------------------------------------------------------------------- +Tue Jul 30 08:31:24 CEST 2002 - aj@suse.de + +- Add optimisations for x86-64. + +------------------------------------------------------------------- +Mon Jul 29 09:38:04 CEST 2002 - kukuk@suse.de + +- Don't allocate/free category name in setlocale() unnecessarily + (for IBM Java [Bug #17065]). + +------------------------------------------------------------------- +Tue Jul 23 13:36:31 CEST 2002 - kukuk@suse.de + +- Update to current glibc cvs (pread/pwrite fixes) +- Remove extra de.po, is in official tarball now. + +------------------------------------------------------------------- +Sat Jul 20 07:14:26 CEST 2002 - aj@suse.de + +- Fix profiling for x86-64. + +------------------------------------------------------------------- +Fri Jul 19 16:26:26 CEST 2002 - meissner@suse.de + +- Fixed the PPC64 patch, several superflous files removed. +- Reenabled make check for ppc64. + +------------------------------------------------------------------- +Wed Jul 17 14:13:58 CEST 2002 - kukuk@suse.de + +- Update to current glibc cvs +- Fix kernel headers for s390/s390x +- Move some binaries/shell scripts and manual pages to the + correct subpackage + +------------------------------------------------------------------- +Tue Jul 16 14:51:48 CEST 2002 - meissner@suse.de + +- Merged latest PowerPC patch from IBM. + * Lots of ppc64 related fixes. + * Start of biarch support. + * Changed struct stat in 64bit ABI. + +------------------------------------------------------------------- +Fri Jul 12 18:29:17 CEST 2002 - aj@suse.de + +- Add biarch patch for s390 and s390x. + +------------------------------------------------------------------- +Mon Jul 8 10:45:49 CEST 2002 - aj@suse.de + +- Add some optimized x86-64 math routines and a fixed lgammal + implementation. +- Testsuite on x86-64 should pass now. +- Run ldconfig in postinstall. +- Fix memleak in catgets. + +------------------------------------------------------------------- +Sat Jul 6 13:38:48 CEST 2002 - kukuk@suse.de + +- Fix typo in create_biarch_asm.sh (asm-sparc path) + +------------------------------------------------------------------- +Thu Jul 4 21:59:43 CEST 2002 - kukuk@suse.de + +- Fix typo in manpages/Makefile +- Fix filelist (on some archs ld-linux.so.2 was missing) + +------------------------------------------------------------------- +Thu Jul 4 10:02:46 CEST 2002 - kukuk@suse.de + +- Revert mktime patch (check for year < 70) +- Replace ifarch i386 with ix86 +- Add patch for arm +- Include pt_chown again + +------------------------------------------------------------------- +Wed Jul 3 16:05:05 CEST 2002 - kukuk@suse.de + +- Add more new manual pages +- Fix spec file (renaming of ld-*, creating of include/asm header + files) +- Update to current CVS version +- Fix kernel-headers for x86-64 (don't overwrite patched version) +- Rename Equador -> Ecuador [Bug #16648] +- Add hint about security problem of host caching with nscd to + config file. + +------------------------------------------------------------------- +Tue Jun 25 14:29:14 CEST 2002 - aj@suse.de + +- Fix dl-machine.h for x86-64 to compile with new binutils. +- Fix mtrr.h header for x86-64. +- Do not package pt_chown. + +------------------------------------------------------------------- +Tue Jun 18 14:28:40 CEST 2002 - sf@suse.de + +- reverted changes from Tue Jun 11 10:04:55 CEST 2002 + (took the kernel-headers from before, readded patch9) +- add new archive with kernel-headers for x86_64 +- add autofs patch + +------------------------------------------------------------------- +Mon Jun 17 17:12:39 CEST 2002 - bk@suse.de + +- remove s390* from the list of archs that ignore check fail + +------------------------------------------------------------------- +Thu Jun 13 20:38:00 CEST 2002 - uli@suse.de + +- fixed typos in spec + +------------------------------------------------------------------- +Thu Jun 13 13:35:43 CEST 2002 - schwab@suse.de + +- Fix ssize_t and __ipc_pid_t for ppc64. + +------------------------------------------------------------------- +Wed Jun 12 09:47:12 CEST 2002 - uli@suse.de + +- fix errlist.c for ARM as well + +------------------------------------------------------------------- +Tue Jun 11 10:04:55 CEST 2002 - sf@suse.de + +- made new kernel-header archive from kernel-source +- added asm-ppc64 to kernel-headers +- removed patch9 as it is obsoleted by the new kernel-headers + +------------------------------------------------------------------- +Fri Jun 7 14:29:30 CEST 2002 - olh@suse.de + +- update asm-ppc64/ioctls.h, missing TIOCGDEV + +------------------------------------------------------------------- +Thu Jun 6 17:57:41 CEST 2002 - olh@suse.de + +- fix glibc-ppc64 patch + +------------------------------------------------------------------- +Thu Jun 6 15:09:16 CEST 2002 - olh@suse.de + +- update ppc64_glibc_ldconfig.diff + +------------------------------------------------------------------- +Thu Jun 6 10:09:24 CEST 2002 - ke@suse.de + +- Update de.po from + http://www.iro.umontreal.ca/contrib/po/teams/PO/de/libc-2.2.5.de.po. +- Use only translated entries to make the testsuite happy; call + msgattrib on de.po and hu.po [# 16438]. + +------------------------------------------------------------------- +Mon Jun 3 09:58:54 CEST 2002 - aj@suse.de + +- Clean up generation of asm includes for bi-arch systems. +- Enable profiling for x86-64. + +------------------------------------------------------------------- +Mon Jun 3 08:52:38 CEST 2002 - kukuk@suse.de + +- Add fix for weak declaration "_old_sys_nerr" +- Remove already disabled alpha patch +- Update to current CVS + +------------------------------------------------------------------- +Sat Jun 1 10:54:41 CEST 2002 - olh@suse.de + +- fix stat for real, wrong size for st_nlink + +------------------------------------------------------------------- +Wed May 29 18:24:57 CEST 2002 - olh@suse.de + +- add ppc64_glibc_2.2.5-types.diff, fixes stat() + +------------------------------------------------------------------- +Wed May 29 10:38:34 CEST 2002 - olh@suse.de + +- add ppc64_glibc_ldconfig.diff for elf32/elf64 coexistance + +------------------------------------------------------------------- +Thu May 23 08:32:00 MEST 2002 - aj@suse.de + +- Rename __thread to fix problems with GCC 3.2. + +------------------------------------------------------------------- +Mon May 20 11:37:42 CEST 2002 - olh@suse.de + +- add ppc64 kernel headers + add create_ppc_asm.sh + update ppc64 patch, use /lib64/ld64.so.1 + move generic syscalls.list to ppc64/32 + set/getrlimit GLIBC2.0 is ppc32 only + use parallel make on ppc and ppc64 + do not chroot as user + cleanup nested ifarch for dynamic linker + +------------------------------------------------------------------- +Wed May 15 10:25:45 CEST 2002 - aj@suse.de + +- Fix building of linuxthreads with current GCC. + +------------------------------------------------------------------- +Mon May 13 10:04:37 CEST 2002 - olh@suse.de + +- fix ppc64 RTLDLIST ld64.so rewrite + +------------------------------------------------------------------- +Sat May 11 02:09:06 CEST 2002 - schwab@suse.de + +- Add div/mod compatibility functions for ia64. + +------------------------------------------------------------------- +Fri May 10 13:56:59 CEST 2002 - olh@suse.de + +- add ppc64 support + +------------------------------------------------------------------- +Thu May 9 10:06:19 CEST 2002 - aj@suse.de + +- Add sys/io.h for x86-64. + +------------------------------------------------------------------- +Mon May 6 18:12:51 CEST 2002 - ihno@suse.de + +- corrected memory calculation for parallel build + +------------------------------------------------------------------- +Fri May 3 16:28:23 CEST 2002 - kukuk@suse.de + +- Add fix to compile math.h on SPARC with g++ + +------------------------------------------------------------------- +Thu May 2 11:29:29 CEST 2002 - kukuk@suse.de + +- Update to current CVS 2.2 branch +- Add x86-64 fix for crti.o and /usr/lib64 with libpthread + +------------------------------------------------------------------- +Fri Apr 26 16:51:48 CEST 2002 - kukuk@suse.de + +- define sqrtl alias for PowerPC + +------------------------------------------------------------------- +Mon Apr 22 07:56:00 CEST 2002 - aj@suse.de + +- Fix vfork for x86-64. +- Fix handling of ld.so.cache for x86-64. + +------------------------------------------------------------------- +Thu Apr 18 09:16:58 CEST 2002 - aj@suse.de + +- Allow testsuite to fail for x86-64. +- Add ULPs for x86-64. + +------------------------------------------------------------------- +Wed Apr 17 16:36:51 CEST 2002 - kukuk@suse.de + +- Update to current snapshot (mktime and dl fixes) +- Update hu.po +- Do not build a profiled glibc for x86-64 + +------------------------------------------------------------------- +Fri Apr 12 10:33:31 CEST 2002 - kukuk@suse.de + +- Update to current snapshot (fix SPARC compile) +- Revert do-lookup.h patch on Alpha (does not work here) + +------------------------------------------------------------------- +Wed Apr 10 15:09:33 CEST 2002 - aj@suse.de + +- Fix linuxthreads for x86-64. + +------------------------------------------------------------------- +Wed Apr 10 13:02:48 CEST 2002 - aj@suse.de + +- Add x86-64.diff to fix glob64. + +------------------------------------------------------------------- +Wed Apr 10 10:26:22 CEST 2002 - kukuk@suse.de + +- Update kernel-headers to 2.4.19pre4 (with x86-64 support) +- Update glibc to current cvs snapshot +- Allow old currencies (before EUR) + +------------------------------------------------------------------- +Tue Apr 2 15:58:49 CEST 2002 - aj@suse.de + +- Update ULPs. + +------------------------------------------------------------------- +Thu Mar 21 16:18:58 CET 2002 - kukuk@suse.de + +- Create html pages after installation of info pages [Bug #15283] + +------------------------------------------------------------------- +Tue Mar 12 16:09:51 CET 2002 - kukuk@suse.de + +- Add db1 fix if blocksize is not ^2 + +------------------------------------------------------------------- +Sat Mar 2 18:18:15 CET 2002 - kukuk@suse.de + +- Add fix for format string bug + +------------------------------------------------------------------- +Sat Mar 2 10:44:31 CET 2002 - kukuk@suse.de + +- Fix return value of nice wrapper + +------------------------------------------------------------------- +Fri Mar 1 14:33:09 CET 2002 - kukuk@suse.de + +- Add fix for corrupt ut_line +- Add fix for current gcc 3.1 +- Add patch for nice return values + +------------------------------------------------------------------- +Thu Feb 28 14:53:42 CET 2002 - kukuk@suse.de + +- Add fix for rtime, swscanf and ia64 + +------------------------------------------------------------------- +Mon Feb 18 13:22:05 CET 2002 - kukuk@suse.de + +- When a dlopened module references a weak symbol from another + dlopened module (loaded with RTLD_GLOBAL) no dependency was + generated for this fact, so the second module was unloaded even + if the first one was still around. + +------------------------------------------------------------------- +Sun Feb 17 10:51:53 CET 2002 - kukuk@suse.de + +- Add pthread/signal bugfix [Bug #13280] +- Fix directory file list (don't include /usr/include) + +------------------------------------------------------------------- +Thu Feb 14 19:46:04 CET 2002 - kukuk@suse.de + +- Use defattr in spec file to avoid problems with not existing + UIDs and rpm. + +------------------------------------------------------------------- +Thu Feb 14 13:22:13 CET 2002 - aj@suse.de + +- Update ULPs for GCC 3.1. + +------------------------------------------------------------------- +Wed Feb 13 16:03:20 CET 2002 - kukuk@suse.de + +- Apply db1 patch from mls@suse.de to fix rpm problems + +------------------------------------------------------------------- +Tue Feb 12 02:01:42 CET 2002 - ro@suse.de + +- fix owner/group for kernel headers + +------------------------------------------------------------------- +Mon Feb 11 15:17:18 CET 2002 - kukuk@suse.de + +- Add another solution for the glob problem + +------------------------------------------------------------------- +Thu Feb 7 16:20:49 CET 2002 - kukuk@suse.de + +- Add fix for glob (glob should not call globfree) +- Add fix for innetgr + +------------------------------------------------------------------- +Wed Feb 6 22:01:29 CET 2002 - kukuk@suse.de + +- Use correct BuildRoot + +------------------------------------------------------------------- +Wed Feb 6 16:40:49 CET 2002 - kukuk@suse.de + +- Update hu.po + +------------------------------------------------------------------- +Wed Feb 6 15:36:56 CET 2002 - kukuk@suse.de + +- Set LC_CTYPE for error messages in localedef [Bug #12878] + +------------------------------------------------------------------- +Mon Feb 4 14:26:48 CET 2002 - kukuk@suse.de + +- Add fixes from CVS: dynamic loader, readv and writev seg.fault + and various architecture fixes for alpha and mips +- Don't compile with -g on Alpha +- Add fix for possible endless loop fix + +------------------------------------------------------------------- +Fri Feb 1 15:58:41 CET 2002 - bk@suse.de + +- merged s390x lib64 patch and spec file changes + +------------------------------------------------------------------- +Wed Jan 23 15:39:02 CET 2002 - kukuk@suse.de + +- Split glibc into glibc and glibc-locale +- Create more UTF8 locale + +------------------------------------------------------------------- +Mon Jan 21 10:45:19 CET 2002 - kukuk@suse.de + +- Update to official glibc 2.2.5 + +------------------------------------------------------------------- +Wed Jan 16 18:29:33 CET 2002 - kukuk@suse.de + +- Remove /var/adm/setup/setup.timeconfig + +------------------------------------------------------------------- +Wed Jan 16 17:22:52 CET 2002 - kukuk@suse.de + +- Apply S390 fix + +------------------------------------------------------------------- +Wed Jan 9 15:33:49 CET 2002 - kukuk@suse.de + +- Update to glibc 2.2.5pre1 + +------------------------------------------------------------------- +Tue Jan 8 18:41:29 CET 2002 - egmont@suselinux.hu + +- Added partial Hungarian translation + +------------------------------------------------------------------- +Tue Jan 8 13:52:51 CET 2002 - kukuk@suse.de + +- Add patch to pass math tests with gcc 3.x +- Update to current CVS version + +------------------------------------------------------------------- +Thu Jan 3 18:05:48 CET 2002 - kukuk@suse.de + +- Update kernel header files to 2.4.17 + +------------------------------------------------------------------- +Tue Jan 1 10:55:34 CET 2002 - kukuk@suse.de + +- Update current CVS version, add final fixes for LSB test suite + +------------------------------------------------------------------- +Tue Dec 18 15:27:42 CET 2001 - poeml@suse.de + +- Install ja_JP.SJIS locale. + +------------------------------------------------------------------- +Sat Dec 15 15:27:12 CET 2001 - schwab@suse.de + +- Fix missing declaration of md5_uintptr. + +------------------------------------------------------------------- +Fri Dec 14 10:11:17 CET 2001 - kukuk@suse.de + +- Update to correct CVS branch + +------------------------------------------------------------------- +Thu Dec 13 14:50:25 CET 2001 - kukuk@suse.de + +- Update to current CVS +- Increase PATH_MAX to 4096 (including the leading zero) +- Clear pointer if asprintf fails +- pthread_key_delete should not contact thread manager before it + is created. + +------------------------------------------------------------------- +Tue Dec 11 22:35:07 CET 2001 - kukuk@suse.de + +- Fix prelink patch + +------------------------------------------------------------------- +Tue Dec 11 18:53:12 CET 2001 - kukuk@suse.de + +- Add fixes for LSB.os test suite (ftw, grantpt and ftok) +- Update to current CVS +- Add prelink patch + +------------------------------------------------------------------- +Fri Dec 7 19:16:30 CET 2001 - kukuk@suse.de + +- Merge with current CVS +- Add blowfish crypt + +------------------------------------------------------------------- +Fri Nov 23 11:55:14 CET 2001 - uli@suse.de + +- added armv4l arch to spec +- added arm kernel headers +- added trivial fix for dl-machine.h from CVS (see arm.dif) + +------------------------------------------------------------------- +Thu Nov 15 10:29:33 CET 2001 - adrian@suse.de + +- add mips architecture to spec file +- apply further mips fixes for ld +- activate %clean again + +------------------------------------------------------------------- +Sun Nov 11 12:12:03 CET 2001 - kukuk@suse.de + +- Fix lost permissions of shell script on SPARC + +------------------------------------------------------------------- +Thu Nov 8 18:40:33 CET 2001 - kukuk@suse.de + +- Add 32bit UID fixes + +------------------------------------------------------------------- +Thu Nov 8 11:47:21 CET 2001 - kukuk@suse.de + +- More fixes for asm-ia64 header files + +------------------------------------------------------------------- +Thu Nov 8 10:50:13 CET 2001 - kukuk@suse.de + +- Fix asm-i386/processor.h (don't align struct) +- Fix asm-ia64/bitops.h (define CMPXCHG_BUGCHECK) +- Correct version number in version.h + +------------------------------------------------------------------- +Wed Nov 7 14:07:21 CET 2001 - uli@suse.de + +- fixed sys/io.h, sysmacros.h for icc + +------------------------------------------------------------------- +Tue Nov 6 16:53:04 CET 2001 - kukuk@suse.de + +- Update kernel-headers to 2.4.14 + +------------------------------------------------------------------- +Thu Nov 1 11:34:56 CET 2001 - kukuk@suse.de + +- Use again old rules to generate html files + +------------------------------------------------------------------- +Sun Oct 21 22:55:24 CEST 2001 - schwab@suse.de + +- Fix inttypes.h for C++. + +------------------------------------------------------------------- +Fri Oct 19 13:31:53 CEST 2001 - aj@suse.de + +- Fix typo in inttypes.h that presents compilation by non-GCC compilers. + +------------------------------------------------------------------- +Tue Oct 16 10:56:52 CEST 2001 - aj@suse.de + +- Update elf.h to include x86-64 defines since those are needed + by some other tools. + +------------------------------------------------------------------- +Fri Sep 28 15:59:19 CEST 2001 - schwab@suse.de + +- Readd patch from 2001-09-10 with corrections. +- Add compatibility patch for GCC 3. This allows to build glibc + with GCC 3. +- Require that make check succeeds on ia64. + +------------------------------------------------------------------- +Thu Sep 13 15:58:31 CEST 2001 - aj@suse.de + +- Add a better version of the threads-fork patch that fixes some + more places where interrupts can occur and does this a bit cleaner. + +------------------------------------------------------------------- +Tue Sep 11 13:50:37 CEST 2001 - aj@suse.de + +- Remove patch from 2001-09-10 since it breaks the dynamic linker. + +------------------------------------------------------------------- +Tue Sep 11 10:51:11 CEST 2001 - aj@suse.de + +- Fix bug in linuxthreads where manager and threads could + get out of synch due to an interrupted read call. + +------------------------------------------------------------------- +Mon Sep 10 18:20:32 CEST 2001 - schwab@suse.de + +- Fix handling of dependent dynamic objects for dlopen/dlclose. + +------------------------------------------------------------------- +Sat Sep 8 21:02:38 CEST 2001 - kukuk@suse.de + +- Don't create gconv cache (else iconv --list seg.faults) + +------------------------------------------------------------------- +Tue Aug 28 13:39:37 MEST 2001 - aj@suse.de + +- Improve dynamic linker to relocate dynamic objects faster. This + implies a small cache for symbol lookups and handling the ld -z combreloc + feature if binaries are linked this way. + +------------------------------------------------------------------- +Fri Aug 24 14:26:33 CEST 2001 - kukuk@suse.de + +- Add fix for handling of %l[] in vfscanf +- ldconfig removes stale links now +- Remove susehelp config files, now in susehelp itself + +------------------------------------------------------------------- +Wed Aug 22 15:26:06 CEST 2001 - aj@suse.de + +- Update s390 patch from IBM. + +------------------------------------------------------------------- +Fri Aug 17 14:11:16 CEST 2001 - kukuk@suse.de + +- Adjust dns6 patch for 2.2.4 +- Fix spec file (include lost libnss_dns6.so) +- Fix versionnumber in version.h [Bug #9759] +- Update kernel-header to 2.4.9 + +------------------------------------------------------------------- +Thu Aug 16 09:32:39 MEST 2001 - aj@suse.de + +- Update to 2.2.4 final. Add s390-ucontext patch. + +------------------------------------------------------------------- +Fri Aug 10 12:04:14 CEST 2001 - aj@suse.de + +- Update to current glibc version. Do not use the hardlink program + for compatification since localedef will do this itself now. + Create gconv cache. + +------------------------------------------------------------------- +Wed Aug 1 15:31:50 CEST 2001 - aj@suse.de + +- Add patch for zic to create copy of the timezone instead + of a symbolic link so that the file exists even if /usr is not + mounted. + Use i486 instead of i386 as default architecture for i386. + +------------------------------------------------------------------- +Sat Jul 28 08:36:27 CEST 2001 - kukuk@suse.de + +- Fix problem with linux/spinlock.h + +------------------------------------------------------------------- +Fri Jul 27 09:30:01 CEST 2001 - kukuk@suse.de + +- Update kernel-header files to 2.4.7 + +------------------------------------------------------------------- +Thu Jul 26 14:04:15 CEST 2001 - froh@suse.de + +- add fix for failing tst-setcontext on s390 + +------------------------------------------------------------------- +Wed Jul 25 09:29:38 CEST 2001 - aj@suse.de + +- Add patch to fix loading of dynamic libs in static programs for PPC. + +------------------------------------------------------------------- +Fri Jul 20 13:44:30 CEST 2001 - kukuk@suse.de + +- Update to current CVS snapshot +- Disable tst-regex and test-lfs + +------------------------------------------------------------------- +Fri Jul 6 15:26:54 CEST 2001 - kukuk@suse.de + +- Add da_DK@euro and da_DK.UTF-8 + +------------------------------------------------------------------- +Thu Jul 5 14:34:02 CEST 2001 - kukuk@suse.de + +- Update to current CVS snapshot +- Remove obsolete cvs patch +- Fix DNS/IPv6 patch +- Hardlink equal locale files + +------------------------------------------------------------------- +Fri Jun 22 15:59:21 CEST 2001 - olh@suse.de + +- add glibc-2.2.3-ppc_dlmachine.diff to fix binutils make check + +------------------------------------------------------------------- +Tue Jun 19 06:41:03 EDT 2001 - bk@suse.de + +- added s390x support to spec file + +------------------------------------------------------------------- +Tue Jun 19 10:27:38 CEST 2001 - aj@suse.de + +- Fix profiling on PowerPC. + +------------------------------------------------------------------- +Fri Jun 15 17:58:22 CEST 2001 - schwab@suse.de + +- Fixup asm-ia64/atomic.h for user-space inclusion. + +------------------------------------------------------------------- +Tue Jun 12 11:14:08 CEST 2001 - aj@suse.de + +- Fix testsuite for sparc. + +------------------------------------------------------------------- +Mon Jun 11 13:56:16 CEST 2001 - aj@suse.de + +- Fix testsuite for powerpc and S390, build again on alpha. + +------------------------------------------------------------------- +Tue May 22 15:43:24 CEST 2001 - kukuk@suse.de + +- Update to current CVS snapshot +- Rmove support for PF_LOCAL from getaddrinfo [Bug #8469] + +------------------------------------------------------------------- +Sun May 13 15:19:42 CEST 2001 - kukuk@suse.de + +- Don't use absolute paths in pre-install-section + +------------------------------------------------------------------- +Fri May 4 19:20:10 CEST 2001 - kukuk@suse.de + +- Add special version.h which fails on compiling kernel modules + +------------------------------------------------------------------- +Sat Apr 28 18:32:51 CEST 2001 - kukuk@suse.de + +- Update to glibc 2.2.3, kernel-headers-2.4.4 + +------------------------------------------------------------------- +Tue Apr 24 16:04:32 CEST 2001 - schwab@suse.de + +- Fix feenableexcept on ia64. + +------------------------------------------------------------------- +Tue Apr 24 15:48:34 CEST 2001 - aj@suse.de + +- Install some more UTF-8 locales, fix tr_TR locale. + +------------------------------------------------------------------- +Thu Apr 12 17:42:08 CEST 2001 - kukuk@suse.de + +- Include our own texi2html + +------------------------------------------------------------------- +Wed Apr 11 18:50:12 CEST 2001 - kukuk@suse.de + +- Add fixes from SuSE kernel header files +- Add patch to reload /etc/resolv.conf if there was changes +- Add glibc.conf for susehelp (glibc-html pages) + +------------------------------------------------------------------- +Mon Apr 9 17:39:18 CEST 2001 - schwab@suse.de + +- Fix ld.so for kernel 2.4.3 on ia64. + +------------------------------------------------------------------- +Thu Apr 5 17:39:44 CEST 2001 - kukuk@suse.de + +- Add more fixes from CVS + +------------------------------------------------------------------- +Tue Apr 3 15:40:58 CEST 2001 - kukuk@suse.de + +- Fix isdn header files from kernel-headers + +------------------------------------------------------------------- +Fri Mar 30 18:40:09 CEST 2001 - kukuk@suse.de + +- Update kernel header files to 2.4.3 + +------------------------------------------------------------------- +Fri Mar 30 17:22:54 CEST 2001 - kukuk@suse.de + +- Merge s390 patches +- Fix rcmd_af() (allow PF_UNSPEC) + +------------------------------------------------------------------- +Fri Mar 30 08:52:32 CEST 2001 - aj@suse.de + +- Add some small fixes, fix spec file for removal of man-pages. + +------------------------------------------------------------------- +Thu Mar 29 18:16:09 CEST 2001 - kukuk@suse.de + +- Don't provide kernel_headers any longer +- Remove some man-pages which are now official in the man-pages + package + +------------------------------------------------------------------- +Thu Mar 29 08:33:19 CEST 2001 - aj@suse.de + +- Fix shmfs recognition. + +------------------------------------------------------------------- +Thu Mar 29 01:18:52 CEST 2001 - ro@suse.de + +- added db-splitmask fix from mls (hopefully work around bug in db1) + +------------------------------------------------------------------- +Wed Mar 28 09:02:54 CEST 2001 - aj@suse.de + +- Fix s390 to not generate wrong relocations, work around compiler + error. + +------------------------------------------------------------------- +Wed Mar 21 14:46:25 CET 2001 - kukuk@suse.de + +- glibc-devel obsoletes and provides linclude + +------------------------------------------------------------------- +Tue Mar 20 12:38:28 CET 2001 - kukuk@suse.de + +- Add strtok and other fixes from CVS +- Add yp_all fix + +------------------------------------------------------------------- +Tue Mar 13 13:57:16 CET 2001 - kukuk@suse.de + +- Add more s390 string.h fixes + +------------------------------------------------------------------- +Mon Mar 12 10:05:30 CET 2001 - aj@suse.de + +- Add fixes for s390, don't run testsuite on s390 for now. + +------------------------------------------------------------------- +Fri Mar 9 17:05:27 CET 2001 - kukuk@suse.de + +- Fix linux/init.h header file + +------------------------------------------------------------------- +Fri Mar 9 16:01:15 CET 2001 - aj@suse.de + +- Handle new EM_S390 value. + +------------------------------------------------------------------- +Fri Mar 9 15:33:55 CET 2001 - kukuk@suse.de + +- kernel-heaer fixes to build on Alpha + +------------------------------------------------------------------- +Thu Mar 8 16:02:45 CET 2001 - ro@suse.de + +- update kernel-headers to 2.4.2 + +------------------------------------------------------------------- +Thu Mar 8 12:53:56 CET 2001 - ro@suse.de + +- kernel-header fixes to build on s390 + +------------------------------------------------------------------- +Thu Feb 22 11:22:08 CET 2001 - schwab@suse.de + +- More kernel header fixes for IA64. + +------------------------------------------------------------------- +Tue Feb 20 11:18:53 CET 2001 - kukuk@suse.de + +- Remove optimisation not supported on all plattforms + +------------------------------------------------------------------- +Mon Feb 19 09:48:02 CET 2001 - kukuk@suse.de + +- Fix Optimization of glibc build +- Add Optimization for alphaev6 and sparcv9 + +------------------------------------------------------------------- +Sat Feb 17 17:19:40 CET 2001 - kukuk@suse.de + +- Update to glibc 2.2.2 from CVS + +------------------------------------------------------------------- +Thu Feb 15 16:51:12 CET 2001 - kukuk@suse.de + +- kernel header fixes for SPARC and IA64 + +------------------------------------------------------------------- +Tue Feb 13 14:19:43 CET 2001 - kukuk@suse.de + +- Make optimization for i686 work +- Add manual page for ldd + +------------------------------------------------------------------- +Mon Feb 12 16:05:23 CET 2001 - kukuk@suse.de + +- Fix more kernel headers + +------------------------------------------------------------------- +Thu Feb 8 16:34:27 CET 2001 - kukuk@suse.de + +- Fix more kernel-headers + +------------------------------------------------------------------- +Wed Feb 7 17:17:03 CET 2001 - kukuk@suse.de + +- Delete links in pre install section for glibc-devel + +------------------------------------------------------------------- +Wed Feb 7 01:08:26 CET 2001 - kukuk@suse.de + +- Fix kernel-header includes + +------------------------------------------------------------------- +Tue Feb 6 09:29:04 CET 2001 - kukuk@suse.de + +- Fix creating of /usr/include/asm on SPARC +- Add more CVS patches + +------------------------------------------------------------------- +Mon Feb 5 18:58:08 CET 2001 - kukuk@suse.de + +- Add some patches from CVS +- Include our own kernel header files + +------------------------------------------------------------------- +Mon Jan 22 18:47:24 CET 2001 - aj@suse.de + +- Add elf patch to fix problems on ia64 and ppc with _dl_pagesize. + +------------------------------------------------------------------- +Mon Jan 22 10:26:42 CET 2001 - aj@suse.de + +- Fix mmap64 on powerpc. + +------------------------------------------------------------------- +Tue Jan 16 08:42:33 CET 2001 - aj@suse.de + +- Fix sunrpc-udp.diff, add mman.h fix for powerpc. + +------------------------------------------------------------------- +Wed Jan 10 14:49:30 CET 2001 - aj@suse.de + +- Add sunrpc-udp.diff to fix UDP timeouts with Linux 2.4 kernel. + +------------------------------------------------------------------- +Tue Jan 9 09:01:41 CET 2001 - aj@suse.de + +- Add glibc-2.2.secure.diff to close some security holes. + +------------------------------------------------------------------- +Wed Jan 3 15:26:45 CET 2001 - schwab@suse.de + +- Fix strtol and friends on 64 bit platforms. +- Use 8192 as default pagesize on ia64. +- Scan AUX vector also in statically linked programs. + +------------------------------------------------------------------- +Wed Jan 3 15:20:45 CET 2001 - aj@suse.de + +- Build some UTF-8 locales using a patch from Markus Kuhn. + +------------------------------------------------------------------- +Wed Dec 13 15:52:13 CET 2000 - aj@suse.de + +- Add compatibility patch for IPv6 and Linux 2.2. + +------------------------------------------------------------------- +Wed Dec 13 15:48:56 CET 2000 - schwab@suse.de + +- Update ia64 patch. + +------------------------------------------------------------------- +Sat Dec 9 13:30:23 CET 2000 - kukuk@suse.de + +- Fix resolver bug + +------------------------------------------------------------------- +Fri Dec 1 13:16:07 CET 2000 - kukuk@suse.de + +- Add bug fixes for setlocale and strncat +- strip gconv modules + +------------------------------------------------------------------- +Fri Nov 24 07:43:08 CET 2000 - kukuk@suse.de + +- Fix typo in spec file + +------------------------------------------------------------------- +Thu Nov 23 23:22:36 CET 2000 - kukuk@suse.de + +- Add hack for POWER3 + +------------------------------------------------------------------- +Wed Nov 22 13:03:19 CET 2000 - kukuk@suse.de + +- Add strncat bugfix for S/390 + +------------------------------------------------------------------- +Tue Nov 21 10:53:31 CET 2000 - kukuk@suse.de + +- Don't bulid 32bit compat packages + +------------------------------------------------------------------- +Mon Nov 20 15:46:44 CET 2000 - schwab@suse.de + +- Remove use of getpagesize syscall on ia64. +- Follow DT_INIT/DT_FINI change in compiler. + +------------------------------------------------------------------- +Sun Nov 19 22:43:40 CET 2000 - kukuk@suse.de + +- Minor specfile fixes + +------------------------------------------------------------------- +Thu Nov 16 17:38:47 CET 2000 - kukuk@suse.de + +- Add lot of more bug fixes + +------------------------------------------------------------------- +Tue Nov 14 16:52:59 CET 2000 - kukuk@suse.de + +- Add bugfix for static linked binaries/ld.so.cache from aj@suse.de + +------------------------------------------------------------------- +Mon Nov 13 14:52:05 CET 2000 - aj@suse.de + +- Fix noversion.diff and spec file. + +------------------------------------------------------------------- +Sat Nov 11 08:40:42 CET 2000 - kukuk@suse.de + +- Fix nssv1 on PowerPC +- no libNoVersion on SPARC + +------------------------------------------------------------------- +Fri Nov 10 21:47:16 CET 2000 - kukuk@suse.de + +- Disable make check on PowerPC and Alpha + +------------------------------------------------------------------- +Fri Nov 10 17:09:57 CET 2000 - kukuk@suse.de + +- Update to final glibc 2.2 + +------------------------------------------------------------------- +Fri Nov 3 10:44:46 CET 2000 - kukuk@suse.de + +- Update to glibc-2.2-20001103 (glibc-2.1.97) +- Don't install libNoVersion on PowerPC +- Rename nssv1 -> glibc-nssv1 +- Rename libd -> glibc-profile, move libg.a to libc +- Rename libcinfo -> glibc-info +- Rename libchtml -> glibc-html +- Rename localedb -> glibc-i18ndata +- Rename libc -> glibc-devel +- Rename shlibs -> glibc + +------------------------------------------------------------------- +Sat Oct 28 09:10:07 CEST 2000 - kukuk@suse.de + +- Update to glibc-2.2-20001028 +- Enable more checks + +------------------------------------------------------------------- +Fri Oct 27 15:39:17 CEST 2000 - aj@suse.de + +- Fix NoVersion patch + +------------------------------------------------------------------- +Wed Oct 25 16:47:22 CEST 2000 - kukuk@suse.de + +- Update to glibc-2.2-20001025 + +------------------------------------------------------------------- +Sun Oct 22 16:31:32 CEST 2000 - kukuk@suse.de + +- Update to glibc 2.2-20001021 +- Update glibc-db to 2.1.95 +- Update ia64 patch + +------------------------------------------------------------------- +Fri Oct 20 15:54:24 CEST 2000 - kukuk@suse.de + +- Update to glibc 2.2-20001020 +- Add s390 spec file changes + +------------------------------------------------------------------- +Tue Oct 10 13:46:03 CEST 2000 - schwab@suse.de + +- Update to glibc 2.2-20001009. +- Fix TRAMPOLINE_TEMPLATE for ia64. + +------------------------------------------------------------------- +Sun Oct 1 17:08:32 CEST 2000 - schwab@suse.de + +- Export more ia64 specific symbols. + +------------------------------------------------------------------- +Tue Sep 26 12:14:37 CEST 2000 - kukuk@suse.de + +- Update to glibc 2.2-20000926 + +------------------------------------------------------------------- +Mon Sep 25 14:02:07 CEST 2000 - kukuk@suse.de + +- Update to glibc 2.2-20000925 snapshot + +------------------------------------------------------------------- +Thu Sep 14 11:43:51 CEST 2000 - schwab@suse.de + +- Update ia64 patch. + +------------------------------------------------------------------- +Fri Sep 8 19:44:17 CEST 2000 - bk@suse.de + +- added glibc-2.1.3-db2-s390.tar.gz from developerworks (db2 fix) + +------------------------------------------------------------------- +Wed Sep 6 09:44:36 CEST 2000 - fober@suse.de + +- merge s390-7.0 with STABLE: + - upgraded to glibc-linuxthreads-2.1.3.1-s390.diff from 2.1.3 + - added new changes from IBM s390 codedrop + - removed glibc-dlopen-2.1.3-s390.diff which is + incorporated in glibc-linuxthreads-2.1.3.1-s390.diff now + +------------------------------------------------------------------- +Tue Sep 5 18:19:46 CEST 2000 - kukuk@suse.de + +- Add glibc-2.1.security.dif + +------------------------------------------------------------------- +Fri Sep 1 11:14:25 CEST 2000 - olh@suse.de + +- add glibc-2.1-ppc_lfs.dif, enables (hopefully) lfs on ppc + +------------------------------------------------------------------- +Wed Aug 30 16:16:04 CEST 2000 - olh@suse.de + +- remove sysdeps/powerpc/memset.S on ppc for POWER3 + +------------------------------------------------------------------- +Mon Aug 28 17:12:41 CEST 2000 - olh@suse.de + +- add glibc-2.1.sgi_fam.dif +- remove sysdeps/rs6000/memcopy.h on ppc for POWER3 + +------------------------------------------------------------------- +Mon Aug 21 19:56:06 CEST 2000 - garloff@suse.de + +- Fix race on cond_wait WRT owner of mutex (from olh@suse.de) + +------------------------------------------------------------------- +Tue Jul 25 08:41:48 CEST 2000 - kukuk@suse.de + +- Add mmap fix for PowerPC + +------------------------------------------------------------------- +Tue Jul 11 10:02:41 CEST 2000 - kukuk@suse.de + +- Remove "mutex is owned by current thread" bugfix for IBMs jdk + +------------------------------------------------------------------- +Mon Jun 26 16:47:54 CEST 2000 - schwab@suse.de + +- Update ia64 patch. + +------------------------------------------------------------------- +Tue Jun 20 15:33:43 CEST 2000 - kukuk@suse.de + +- Move html docu in extra package +- Update ia64 patch + +------------------------------------------------------------------- +Wed May 31 14:35:00 CEST 2000 - kukuk@suse.de + +- Remove LICENSE file, it's the same as COPYING.LIB +- Add libc docu as html + +------------------------------------------------------------------- +Sun May 28 14:44:42 CEST 2000 - kukuk@suse.de + +- Fix ldconfig on PPC and IA64 + +------------------------------------------------------------------- +Sat May 27 15:25:13 CEST 2000 - kukuk@suse.de + +- Merge new ldconfig fixes + +------------------------------------------------------------------- +Fri May 26 18:16:52 CEST 2000 - kukuk@suse.de + +- Update ia64 patch + +------------------------------------------------------------------- +Fri May 26 11:07:39 CEST 2000 - kukuk@suse.de + +- Fix (f)truncate64 and xdr_uint8_t + +------------------------------------------------------------------- +Wed May 24 22:23:12 CEST 2000 - kukuk@suse.de + +- Fix ldconfig.8 manual page + +------------------------------------------------------------------- +Thu May 18 17:53:09 CEST 2000 - bk@suse.de + +- added s390 dlopen fix + +------------------------------------------------------------------- +Tue May 16 16:48:13 CEST 2000 - bk@suse.de + +- updated s390 patches to match IBM_codedrop_2000_05_15 + +------------------------------------------------------------------- +Fri May 12 15:47:08 CEST 2000 - kukuk@suse.de + +- Fix netinet/in.h IPv6 compare + +------------------------------------------------------------------- +Fri May 12 14:47:15 CEST 2000 - schwab@suse.de + +- Update ia64 patches. + +------------------------------------------------------------------- +Fri May 12 14:22:11 CEST 2000 - kukuk@suse.de + +- Don't apply LFS patch + +------------------------------------------------------------------- +Tue May 9 22:21:23 CEST 2000 - kukuk@suse.de + +- Add LFS patches + +------------------------------------------------------------------- +Mon May 8 11:59:48 CEST 2000 - kukuk@suse.de + +- Add lot of bug fixes from CVS + +------------------------------------------------------------------- +Tue Apr 25 14:20:43 CEST 2000 - kukuk@suse.de + +- Fix nscd/getgrnam bug + +------------------------------------------------------------------- +Thu Apr 20 16:38:26 CEST 2000 - kukuk@suse.de + +- Remove /var/mail -> /var/spool/mail patch +- Update nscd.conf.5 manual page + +------------------------------------------------------------------- +Wed Apr 12 16:18:55 CEST 2000 - kukuk@suse.de + +- Add nscd patch from Chris Wing + +------------------------------------------------------------------- +Wed Apr 12 15:52:55 CEST 2000 - kukuk@suse.de + +- Add ldconfig fix from aj@suse.de + +------------------------------------------------------------------- +Wed Apr 12 11:33:02 CEST 2000 - schwab@suse.de + +- More ia64 patches. +- Use libc.so.0, libm.so.0, ld-linux-ia64.so.1 on ia64. + +------------------------------------------------------------------- +Mon Apr 10 17:55:46 CEST 2000 - kukuk@suse.de + +- Support asm-sparc64 and asm-sparc on SPARC + +------------------------------------------------------------------- +Mon Apr 10 15:46:35 CEST 2000 - kukuk@suse.de + +- Create /etc/ld.so.cache always with permissions 0644 +- Update ia64 patches + +------------------------------------------------------------------- +Thu Apr 6 11:27:20 CEST 2000 - schwab@suse.de + +- Fix dynamic linker bug in ia64. +- Add ia64 spinlocks for db2. + +------------------------------------------------------------------- +Tue Apr 4 16:16:21 CEST 2000 - schwab@suse.de + +- New IA64 patches. +- Fix ldconfig -p. + +------------------------------------------------------------------- +Mon Apr 3 14:42:03 MEST 2000 - bk@suse.de + +- s390 team added s390 patches + +------------------------------------------------------------------- +Wed Mar 22 12:10:02 CET 2000 - kukuk@suse.de + +- Fix last SPARC patch + +------------------------------------------------------------------- +Tue Mar 21 17:48:01 CET 2000 - kukuk@suse.de + +- Add SPARC patches +- Add IA64 patches + +------------------------------------------------------------------- +Wed Mar 15 14:35:47 CET 2000 - kukuk@suse.de + +- Remove personality call (problematic on Alpha) +- Fix typo in localeconv +- alpha/ioperm.c> Add entry for "Nautilus". + +------------------------------------------------------------------- +Tue Mar 7 18:17:07 CET 2000 - kukuk@suse.de + +- Add locale SIGSEGV fix +- Fix getdate bug + +------------------------------------------------------------------- +Fri Feb 25 10:53:47 CET 2000 - kukuk@suse.de + +- Update to final glibc 2.1.3 + fix for bigendian machines + +------------------------------------------------------------------- +Thu Feb 24 16:12:39 CET 2000 - kukuk@suse.de + +- Update to current glibc cvs snapshot +- Add libnss_dns6.so.2, which makes IPv4 and IPv6 lookups. + Old libnss_dns.so.2 will only make IPv4 lookups. + +------------------------------------------------------------------- +Tue Feb 22 16:40:35 CET 2000 - kukuk@suse.de + +- Update to current glibc cvs snapshot (2.1.3pre4) + +------------------------------------------------------------------- +Sat Feb 5 14:40:33 CET 2000 - kukuk@suse.de + +- Add missing defines for SPARC bits/termios.h + +------------------------------------------------------------------- +Thu Feb 3 18:25:12 CET 2000 - kukuk@suse.de + +- Add regex patch from Andreas Schwab + +------------------------------------------------------------------- +Wed Feb 2 11:37:52 CET 2000 - kukuk@suse.de + +- Add ldconfig fix +- Update to current glibc cvs snapshot +- Fix sys/io.h on Intel (C++) + +------------------------------------------------------------------- +Mon Jan 24 17:01:13 CET 2000 - kukuk@suse.de + +- Fix duplicate setrlimit + +------------------------------------------------------------------- +Mon Jan 24 12:01:27 CET 2000 - kukuk@suse.de + +- Update to current glibc cvs snapshot + +------------------------------------------------------------------- +Wed Jan 19 15:53:18 CET 2000 - kukuk@suse.de + +- Update to current glibc cvs snapshot + +------------------------------------------------------------------- +Sat Jan 15 01:31:16 CET 2000 - ro@suse.de + +-fixed ppc db2-patch + +------------------------------------------------------------------- +Fri Jan 14 16:54:26 CET 2000 - kukuk@suse.de + +- Add patches for Intel and PPC + +------------------------------------------------------------------- +Fri Jan 14 00:27:03 CET 2000 - kukuk@suse.de + +- Add patch for SPARC + +------------------------------------------------------------------- +Thu Jan 13 15:23:54 CET 2000 - kukuk@suse.de + +- Move info pages to /usr/share/info + +------------------------------------------------------------------- +Mon Jan 10 14:49:14 CET 2000 - kukuk@suse.de + +- Add ipv6 patches for getent + +------------------------------------------------------------------- +Mon Jan 10 11:23:57 CET 2000 - kukuk@suse.de + +- Move manual pages for applications and config files into + shlibs package +- Update to current glibc 2.1.3 snapshot + +------------------------------------------------------------------- +Fri Dec 17 17:06:45 MET 1999 - kukuk@suse.de + +- Add new ldconfig patches +- Add aio patch +- Add fix for bits/string2.h + +------------------------------------------------------------------- +Wed Dec 15 16:37:02 MET 1999 - kukuk@suse.de + +- add ldconfig.8 + +------------------------------------------------------------------- +Wed Dec 15 10:00:53 MET 1999 - kukuk@suse.de + +- Update to current glibc 2.1.3 snapshot +- Fix get/setrlimit problems + +------------------------------------------------------------------- +Thu Dec 9 20:00:16 MET 1999 - kukuk@suse.de + +- Update to current glibc 2.1.3 snapshot +- Add new ldconfig + +------------------------------------------------------------------- +Sun Dec 5 11:50:42 MET 1999 - kukuk@suse.de + +- Disable make check for SPARC (kernel bug) +- Add setrlimit patches +- Update to current glibc 2.1.3 snapshot + +------------------------------------------------------------------- +Fri Nov 26 12:09:07 MET 1999 - kukuk@suse.de + +- Update to current glibc 2.1.3 snapshot. + +------------------------------------------------------------------- +Tue Oct 26 13:54:55 MEST 1999 - kukuk@suse.de + +- Add fix for correct accounting of needed bytes (gethnamaddr.c) +- Remove not exported, public names from internal md5 functions + +------------------------------------------------------------------- +Mon Oct 25 19:03:56 MEST 1999 - kukuk@suse.de + +- Add fix for missing nexttowardl aliase + +------------------------------------------------------------------- +Tue Oct 19 09:56:47 MEST 1999 - kukuk@suse.de + +- Add security fix for iruserok + +------------------------------------------------------------------- +Sat Oct 16 16:29:44 MEST 1999 - kukuk@suse.de + +- Build libNoVersion.so.1 on every platform + +------------------------------------------------------------------- +Mon Oct 11 19:19:00 MEST 1999 - kukuk@suse.de + +- Add linuxthreads/signals.c fix from Andreas Schwab +- Remove dangling symlink (Bug #544) +- Add more bug fixes + +------------------------------------------------------------------- +Fri Oct 8 22:07:24 MEST 1999 - kukuk@suse.de + +- Add timezone update + +------------------------------------------------------------------- +Fri Oct 8 17:42:22 MEST 1999 - kukuk@suse.de + +- Add NIS+ shadow parser fix + +------------------------------------------------------------------- +Thu Oct 7 11:46:27 MEST 1999 - kukuk@suse.de + +- Update to official glibc 2.1.2, add important fixes +- Update nscd, add manual pages for it + +------------------------------------------------------------------- +Mon Sep 20 18:14:13 CEST 1999 - ro@suse.de + +- libc: added requires kernel_headers + +------------------------------------------------------------------- +Mon Sep 13 17:23:57 CEST 1999 - bs@suse.de + +- ran old prepare_spec on spec file to switch to new prepare_spec. + +------------------------------------------------------------------- +Mon Sep 6 10:25:03 MEST 1999 - kukuk@suse.de + +- Update to current glibc 2.1.2 cvs snapshot +- Remove use auf automake in spec file + +------------------------------------------------------------------- +Fri Sep 3 14:35:42 MEST 1999 - kukuk@suse.de + +- Update to current glibc 2.1.2 cvs snapshot +- Use RPM macros for configure + +------------------------------------------------------------------- +Wed Aug 25 17:07:09 MEST 1999 - kukuk@suse.de + +- Update to current glibc 2.1.2 cvs snapshot + +------------------------------------------------------------------- +Thu Aug 19 15:20:26 MEST 1999 - kukuk@suse.de + +- Add PowerPC patches from Uli Hecht +- Cleanup of SPEC file +- Create a profiling version + +------------------------------------------------------------------- +Sat Aug 14 19:58:45 MEST 1999 - kukuk@suse.de + +- disable nscd hosts caching by default +- Apply patch from HJL for broken gethostbyname_r in libnss_dns + +------------------------------------------------------------------- +Fri Jul 16 17:01:51 MEST 1999 - kukuk@suse.de + +- Add header fix for autoconf/g++ +- Move pt_chown and gconv modules from libc to shlibs + +------------------------------------------------------------------- +Wed Jul 14 16:05:14 MEST 1999 - kukuk@suse.de + +- Remove /etc/localtime from filelist + +------------------------------------------------------------------- +Mon Jul 12 09:54:43 MEST 1999 - kukuk@suse.de + +- Add more bug fixes from cvs +- Add ld.so bug fix from Andreas Schwab + +------------------------------------------------------------------- +Thu Jul 8 17:25:43 MEST 1999 - kukuk@suse.de + +- configure for i386-unknown-linux + +------------------------------------------------------------------- +Wed Jul 7 12:28:43 MEST 1999 - kukuk@suse.de + +- Remove alpha patch, it's now in glibc 2.1.2 cvs +- Add more bug fixes from cvs +- Remove malloc patch (breaks StarOffice) + +------------------------------------------------------------------- +Tue Jul 6 18:08:26 MEST 1999 - kukuk@suse.de + +- Add openpty patch from Andreas Schwab + (openpty now works if /dev/pts is not mounted) + +------------------------------------------------------------------- +Fri Jul 2 12:04:47 MEST 1999 - kukuk@suse.de + +- Remove warning von zic about symlinks. + +------------------------------------------------------------------- +Mon Jun 28 19:49:44 MEST 1999 - kukuk@suse.de + +- Remove ndbm links, now in gdbm + +------------------------------------------------------------------- +Fri Jun 25 16:16:20 MEST 1999 - kukuk@suse.de + +- Add a lot of more fixes +- Add nscd fixes and enable nscd on alpha + +------------------------------------------------------------------- +Mon Jun 14 09:17:26 MEST 1999 - kukuk@suse.de + +- Add nss_dns and fget* fixes. +- Add nscd patches for NIS+ + +------------------------------------------------------------------- +Thu Jun 10 10:04:11 MEST 1999 - kukuk@suse.de + +- Fix daemon() for MT programs +- Add libio fixes + +------------------------------------------------------------------- +Fri May 28 08:53:20 MEST 1999 - kukuk@suse.de + +- Add fix for docu +- Disable nscd for alpha again + +------------------------------------------------------------------- +Wed May 26 09:42:54 MEST 1999 - kukuk@suse.de + +- Update to version 2.1.1 + +------------------------------------------------------------------- +Mon May 17 16:49:35 MEST 1999 - kukuk@suse.de + +- Update to snapshot from 16.5.1999 +- Add manpages +- Add __setfpucw to libNoVersion (intel) +- Add COPYING and COPYING.LIB + +------------------------------------------------------------------- +Fri May 7 18:57:20 MEST 1999 - kukuk@suse.de + +- Update to snapshot from 6.5.1999 +- Add NoVersion patches from RedHat for miscompiled glibc 2.0 apps +- Add patch for Alpha RX164 +- Add workaround for nscd on Alpha + +------------------------------------------------------------------- +Wed Apr 28 17:48:51 MEST 1999 - kukuk@suse.de + +- Remove latest fnmatch patches from Uli Drepper + +------------------------------------------------------------------- +Tue Apr 27 11:48:46 MEST 1999 - kukuk@suse.de + +- update to cvs version of Apr 26 1999 +- fix pmap_set/pmap_unset for DHCP clients +- Rename libdb1.so.2[.1] to libdb.so.2[.1] since we don't create + the symbolic links. + +------------------------------------------------------------------- +Tue Apr 20 13:57:07 MEST 1999 - kukuk@suse.de + +- update to cvs version of Apr 20 1999 +- remove sunrpc.diff +- fix nssv1 package +- only include nscd on intel +- install /etc/nscd.conf + +------------------------------------------------------------------- +Mon Apr 12 09:52:58 MEST 1999 - kukuk@suse.de + +- update to cvs version of Apr 11 1999 +- Fix paths in paths.h +- install linuxthreads man pages and documentation +- Add sunrpc patch for Alpha and security fixes +- added links for el_GR and ru_RU.KOI8-R in usr/share/locale + +------------------------------------------------------------------- +Wed Mar 31 13:21:02 MEST 1999 - bs@suse.de + +- don't use lx_hack for build + +------------------------------------------------------------------- +Tue Mar 16 08:33:57 MET 1999 - ro@suse.de + +- libc.texinfo: changed to build with stable texinfo version + +------------------------------------------------------------------- +Mon Mar 15 23:49:51 MET 1999 - ro@suse.de + +- update to 2.1.1 (cvs of Mar 15 1999) +- update nssv1 to 2.0.2 + +------------------------------------------------------------------- +Sat Feb 20 19:29:32 MET 1999 - ro@suse.de + +- fixed specfile (lddlibc4 not built on alpha) + +------------------------------------------------------------------- +Sat Feb 20 18:41:22 MET 1999 - ro@suse.de + +- fixed specfile ... + +------------------------------------------------------------------- +Sat Feb 20 18:31:30 MET 1999 - ro@suse.de + +- added automake to neededforbuild + +------------------------------------------------------------------- +Sat Feb 20 18:15:44 MET 1999 - ro@suse.de + +- added nss-v1 modules (to keep old rpm happy with file owners) + +------------------------------------------------------------------- +Fri Feb 19 14:35:38 MET 1999 - ro@suse.de + +- update to cvs-version of 1999/02/18 + +------------------------------------------------------------------- +Fri Sep 25 18:58:28 MEST 1998 - ro@suse.de + +- fixed specfile + +------------------------------------------------------------------- +Fri Sep 25 12:15:13 MEST 1998 - ro@suse.de + +- update: use cvs-version of 980925 + edited db/Makefile to ignore messed up target-dependency + +------------------------------------------------------------------- +Mon Sep 21 19:43:16 MEST 1998 - ro@suse.de + +- update: use cvs-version of 980921 + +------------------------------------------------------------------- +Mon Sep 14 14:28:21 MEST 1998 - ro@suse.de + +- update: use today's cvs-version + +------------------------------------------------------------------- +Wed Sep 2 16:56:04 MEST 1998 - ro@suse.de + +- build for 586 since egcs generates code for 686 that does NOT run + on 586 !!! (eg strtok) + +------------------------------------------------------------------- +Sat Aug 22 00:43:48 MEST 1998 - ro@suse.de + +- updated to cvs-version 20.8.98 + added gettext as neededforbuild (so configure shuts up) + glibc-linuxthreads is contained in main archive now + +------------------------------------------------------------------- +Tue Jun 16 18:41:51 MEST 1998 - ro@suse.de + +- added symlink usr/include/X11 + +------------------------------------------------------------------- +Thu May 28 11:36:49 MEST 1998 - ro@suse.de + +- added symlinks to linux include files + +------------------------------------------------------------------- +Thu May 28 10:58:09 MEST 1998 - bs@suse.de + +- moved ".so" Links to package libc. + +------------------------------------------------------------------- +Wed May 27 16:26:15 MEST 1998 - bs@suse.de + +- changed version do `date` + +------------------------------------------------------------------- +Wed May 27 12:16:14 MEST 1998 - ro@suse.de + +- created specfile to build libc, shlibs, libd, libcinfo + localedb, timezone, + +- former libc renamed to libc5. diff --git a/glibc.keyring b/glibc.keyring new file mode 100644 index 0000000..2056815 --- /dev/null +++ b/glibc.keyring @@ -0,0 +1,1175 @@ +Member GPG keyring of libc group. + +Note that this keyring is not intended for checking releases of that group. +Use Group Release Keyring instead. + +GPG keys of Andreas Schwab +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v2 + +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 +=oOhV +-----END PGP PUBLIC KEY BLOCK----- + +GPG keys of Roland McGrath +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.0.7 (NetBSD) + +mQGiBD4ejvcRBADNwfo3ALnr8qMQQARgBzHM5HsGaBGnGWPIFO18IhVhjqeOTBjd +w0N9R6FAj/i3ObeTPwJABNGj92m2qnd49puBAtirJRd8Ul6shvLR8oNMZcCJEmGW +6Ud7D+uS/WxIoQHXWKl2VtvJBLIEdZ8n/Z6SxcHuMEfTD+2pc7cqOxZPGwCglqP6 +Bt6BF5aUMbN0b/jj93ZHHSMD/iQxEiH7MmvVPHDZYN9CGepzlwcD+BKhYbq6wxsq +pxxrtK5OrakwNd6cBb8nOVK2DjyOVRHBdWH6MVx+DCDSp0FWDEftQpCR0N0iItP4 +h+8lTP/7NdZj5+tfi99TUNMMaOcTdgWQ+s8/WUEZoJErDy/yXNHbK6xhD5mBm4pF +bgQnBACmWQfAFDhFm1uKsNS8vPqcJ6Be+bbh+5uTOm30zXiAHEdi56v5tvn4mJSy +yXakNGBHKkmdVQDTb4mLrnhpUnEHFegioOoBrwR6ZUsnsT7zaLz7r+p56HPKRkkn +8284/NlZigncvPPcOK/9m6N9OLX8uerLy5TjuOPwjITxHmNgBbQgUm9sYW5kIE1j +R3JhdGggPHJvbGFuZEBmcm9iLmNvbT6IXAQTEQIAHAQLBwMCAxUCAwMWAgECHgEC +F4ACGQEFAj4ejvgACgkQ2vc1Cn671iU4OwCcC3y0ZCz5gxT/rzeRjogiMdOMMMcA +nRPShRs5wsaJUeGOxAqRwu++hbrPiD8DBRA+HpK6Z/R4eOAIGpcRApUPAKDtBRDr +ijwEwnyN8JF5jKzFqnlaZwCbBK6J7CLs8HonLtkjBFBy5JKblgKJAJUDBRA+HpOD +pkJ+bR8IKbEBAWlBA/91cNYotVnrh4hjc06UHxySasqtxK2gd2h5A96Ez5FY0l0s +KixJ7Rtvt490qhHqo6LiHFjKtmeiWNIO5H1MMGxXuJfBD2uDc6mfurwyt8j0v29n +CeBFqrckR5NTbXWiepIbCe00Ux5+WbbJTdWpLFOxo8YiwqzfF/XbPdghPyY1YLQg +Um9sYW5kIE1jR3JhdGggPGZyb2JAZGViaWFuLm9yZz6IWwQTEQIAHAUCPh6PXQIb +AwQLBwMCAxUCAwMWAgECHgECF4AACgkQ2vc1Cn671iV7RACdHM6BWdolx88UOBhk +L0XjMAAzF+IAmMyGjKKdDyNXmoMU1/SX/KFuPVOIPwMFED4eksNn9Hh44AgalxEC +4G0AoIxbFjdAJImO7kOV5rFoW/+B9dxeAKDOIWg/gcAAOYFKggTBl8YO7uEYKokA +lQMFED4ek8KmQn5tHwgpsQEBZD4D/3NBTjA3j5rj2mN7HDbSlIpttllC6B+jmzi0 +ynOgEzkhvae3ZY3mm334+/l3L9C3ZNJMQNvRdWVq2DjQq94xc9waI/Z4mNDeVQQB +6fHC/0cmqj2n/ymS4NWxBx75W+wQKoBOXW2/bdd3cMOOwIhnC4H00FblFYR0Avth +sxw9hDUztB9Sb2xhbmQgTWNHcmF0aCA8cm9sYW5kQGdudS5vcmc+iFwEExECABwF +Aj4ej3UCGwMECwcDAgMVAgMDFgIBAh4BAheAAAoJENr3NQp+u9Yl6jUAnA7DcQVj +kWoPngzvzWHB7EIYInaXAJwLZP3Nk6jPifu1J4vJ2F768hQyoYg/AwUQPh6SzGf0 +eHjgCBqXEQLPqwCgm6h1Z6xwyduXw6ZYpbRYdyBqwGcAoKIrMkypgDXci//FI5Kc +iYBRF3ajiQCVAwUQPh6T0KZCfm0fCCmxAQFrYQP9Hh1v7DrIkT370pMo7qICLhdf +B7r7ofSkcqSGPcAq+gwNa2aNoDx11U9hk2Vo5HWJm2psSzikUN83i7uzMZi8dW5D +e0uI3TeHgUOFPCxXLG5KSMwGdjxKwe/Ks95gNnlDzYTe6mjJdP89D4NhSc/cP78B +tRpc3pK+KJYd/O/xUgy5Ag0EPh6PKRAIAIU6PeE1k+YYKYtZhFzb2EhVid/eUe8Q +sEYLJrJUYTAyzssb1wnWx90iFHRxyLOAyTc7YXKWz3lkbCW+TqYCSc9rbTCQy1dE +8dK4ojdizZempapeP+7kuk+zGWquabqQ71/294m2Sffasdz97yr3Eo6uSSN38ct7 +fxEBHhFgEGx/jDVV1/o1vrUcrrYyI39mOTp4yjcLwbS7JqFsNKxTGEUULpL3GYRJ +C+JtcaH9766E8Si+caxKqNLND4PHIPQ7UQCmDu2Rn84mM7Oy1whR7Pkjw6S9kQxZ +P+Xfykq6NAHWfFyp9g/5DTGVYCLxCM1Ska6KF8lnAYB1cr84OMvZ3J8AAwUH/j1r +knj9KRrsgfE9CyFVWNUWpH79PTBQG+uoU4qyO9OPuJqcz9bBgyj9zo1DM4mxJ/eu +ZH1X/35PTe8O1YQRVxzhnS5CzHoTq33qROi9/6m8HAkhp6c0s6uBplWargmomJz8 +gtVi+av5KbUjSxVsyxKWSWkX46EEjItYxmQTv9TA8X6yMM7SkQJUEIz3UXtYSLb+ +pVXPJfScr945kXK8180MGQLBhq9wEcR5ypUN1HqyO1J+TJQdsqtXAVe57RMIPY/X +oFnS73B9aQmTwYRk5fDo9wTnHEDW4dxN+zphONOjLbGaJt5o4ytbqrQ54JHwNt4x +XavWgG39OPlPqENUx7GIRgQYEQIABgUCPh6PKQAKCRDa9zUKfrvWJYxEAJ9FFDtc +48oBtVQISX80/a2dsmT+qwCeLgHE6iheS8L2cbygDxDnsLx32wQ= +=SLj7 +-----END PGP PUBLIC KEY BLOCK----- + +GPG keys of Paul Eggert +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +VvLwfAzUC2UvpPYh8u3maJaMAC6BgK78 +=JpE/ +-----END PGP PUBLIC KEY BLOCK----- + +GPG keys of Ian Wienand +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: PGP Key Server 0.9.6 + +mQGiBD0n9DgRBAClGLChFufOs6wsKPwYvbjFzS1LNNZeF/sf+d2KUcf+iq4xGa0q +Zxn7Yx1ecETcJqLdDm3vUUO/TaN8jHr9EDOsYCWT3Bmaac+x1GsXFi43ENeEhoOQ +zLagOW16ABsFi1RUQv5v1SxZcKQWbE9ub/0dBNKGEf01FxDgGYQE6sDWIwCg6cRL +2XfP1QpHdPNN/vB/ZT61pG8EAJr/ajaWDYjkB6Ie1kmO85HQbMQBg5EktByfurWK +t03KlKUD98r/ZzpEXhkQxbu3/1AuIHS9mp4I5btkntw+sKooO9V5ZlZyGuxN+PD0 +m/q7m/FSKzZwSblPJlSVMAPFh2G1PEmJg9gEgm3lb+EMqUKBtsfptX9X5CvRVtov +c82UA/wO8x+18SyTefCEjhc+ndAvdSSZo4sX99mxNeFn9OYMPIWP3hpM9N17mykF +Ap9vGC5aO3+5kB89hPLX2Hh5GnKIz4CWSHSTXVP/cABoQxMWXwX1LI/NFmMgMHrT +zrIznZTH/1c240AO7seZviGM0YTJgPDDv5xTzNAtX6SRc6GpQ7QbSWFuIFdpZW5h +bmQgPGlhbndAaWVlZS5vcmc+iFkEExECABkFAj0n9DgECwcDAgMVAgMDFgIBAh4B +AheAAAoJEFg5UlP4KennSocAn1BKjQiZmQyuqW9pN6QdTuukz7tnAJ9yVVTvvIZn +KmtftSybWcQjuDC9krRFSWFuIFdpZW5hbmQgKGh0dHA6Ly93d3cuZ2VsYXRvLnVu +c3cuZWR1LmF1KSA8aWFud0BnZWxhdG8udW5zdy5lZHUuYXU+iFwEExECABwFAkAa +ZUMCGwMECwcDAgMVAgMDFgIBAh4BAheAAAoJEFg5UlP4Kenn4uEAnRt3Uc55MPKU +0QyIQQ4cAy0Uo/DuAJ9c/58/Nis1DkYxksgNn9mDe6c1H7kBDQQ9J/Q8EAQAyINd +4ejyhHU3H5j30/BbWSIkMrjPzNMoqZH3lqAI2D/h8XFgxPZYqWrGjUqi/ioOUkTG +Wh0HdlJbqFAfukpZOpKNOaJL/dBrjmmPv41eIpWehJrasQqtA6HVs3fDhc5oPusg +X94AGs1uhKG42rcCIQm/eOa0FS33eXpVM3BOvucABA0EAL41mcOetCk1Ii3NwNTS +qGKOyHLLyDTB2NdelSdOsNphoVvdzf1FALlvLwEAMWRAQdY2wdzo0I/3NChmPn/u +6ohRBOpLZn5AHYn/AkthQI6YRx+WZu6BvMVJOqcFZh1ePmWrX7S2TQacyhbUOQFM +ZthBvjkZUZCOl+wjwbn3k4bpiEYEGBECAAYFAj0n9DwACgkQWDlSU/gp6efSHgCc +DxXIOrZyOO3jtbtsTYR/VrsdK9sAn0lrUm/jZKWyvK6V1CCA3TwXyvLQ +=dSXY +-----END PGP PUBLIC KEY BLOCK----- +GPG keys of Siddhesh Poyarekar +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +TKN3JdfTyacfNU4= +=IcJn +-----END PGP PUBLIC KEY BLOCK----- +GPG keys of Carlos O'Donell +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1 + +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 +c8HFfqRDMIQCPexAXgsSKg== +=d45e +-----END PGP PUBLIC KEY BLOCK----- +GPG keys of Karl Berry +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.4.5 (GNU/Linux) + +mQENBE/Xfl8BCACfn5680mdbi33bAoPmsuOiKguiQ8/q/mMhk6GjuM28F/ahp72P +baGZP2hv6D/DTYeJVlbZPeACkbFQe758AOhoEs8pqDq4JMC4jzNPUSGYH7joaZjc +mMCUUqzG6qDfajW4M2iRI+US/Dozd++shQ18kKJKNY4ZrFEFXUsiHLDHQk/rmrj3 +lAcrcf7zLwJSKKXLmAvz+vu+i9F5/Xt7TSasszrG6AqqSl3aZn5RGmU4DSiAFh3x +U4t21t6KbiQ4gUS0VkbyqrDVhUs64H/fzcFOVVT4dq51nQAAb5mxTFCpyAMuJDQ0 +lh32iKNWM5iKDk1Wdmg2EsnJho7EAbqcEOI7ABEBAAG0IUthcmwgQmVycnkgPGth +cmxAZnJlZWZyaWVuZHMub3JnPokBOAQTAQIAIgUCT9d+XwIbAwYLCQgHAwIGFQgC +CQoLBBYCAwECHgECF4AACgkQBxZ0ijDRVa2xQgf/T1SWK9wbMn44uYIqyPzSAQ7E +m6Xqno07CMJH8DD5T7CidxfH3V1DX7OCRqkljc34QzIdZ0HR5HUSpvfwBYHTXzgH +yiZPVysIb2mx6X//fO16jxi5wj2+mkslGXwrgwzop5InFu6Zl/Q4HDTItthaCYAR +WZvImf0L/1vySWegonoZp/9eUeRld+6Bc/z5kvt6K9hHZt1G11c3+3zlrFydJHL/ +vuXPLXr8w2nkuX+VsXKIT4VgjVn4LvDF55BphfGteaYqSofYPczynoEh1QtU2Qyh +4IXt8lgaEPQADa7wUL7HqhzyJMxHTHG/WLzBRJMfNrr2ow6KiCOfIuBkEa7FnohG +BBARAgAGBQJP14N2AAoJEJ3rRsDWefbPKfIAmgONqRipIzLSUC/FrjSZyV4CO7xu +AJ9qaqLVib0v9xMWU+8UpHcF5jwbBbkBDQRP135fAQgA+Uhd1N4R9nqhfDLQXuKD +IhTals5RMhOXy+fG7uDUSaV9HD/XY4JHfli0r5r/WcG0MGm67T3j0p6YhLCqhkai +x+cZpUwtokw39l5ztT2Smi//WW7wZPIAe4XLUV1TvpoVeoDeoGY9onAdJMEBw+oq +dMoPVyIRmjw7ID3uF2DfU3QnTSYt64AbsHSPp7imeD4gW3aY7r4OmI1vqz4y5pQm +cItwc8rudS9s3uiiGCia34M0yRM64ewwAY3eTAK9fA4FOamVgt8YvNdCZBXvcHAh +amR2BUrt+01+8iqcuX6VEn39srHEutGg8GXcC+7tMncUmlWPUfpy0vTdor/HkxpX +lQARAQABiQEfBBgBAgAJBQJP135fAhsMAAoJEAcWdIow0VWt9RAH/i+Kxkr/R2xJ +WcOvWvn6NVLUo0cChc0SaMjuWAk4KlqOQJT0i5xTkMWVQ8PQonUVkzloLkCqRs61 +9rLoB3mNFzGqP5Jm3dSoqvTFCTMGeQEsX0e6kjnsydgtgkeYNT6yO5hrakfzlKvG +i1KJ7Kwh+8zQtubHQI8/A1IlNyp9WJrWP2Xj1rS3f7SN3QillOhoh8HNkpN4MHZ3 +7moelhQ3XJ+UOUTHv+bNZHVilofbrX5S5LXcPeE/p+DaNNp+oGwPJppGAzKWKQy9 +hA8rKE+HnaSHr/0k0i9Uxmf2c4nLCCeZuxz+TUUZq06Ohco7ullX6MshUhCX+21P +KLEPtgs1HkI= +=5dqZ +-----END PGP PUBLIC KEY BLOCK----- + +GPG keys of Alexandre Oliva +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.2.2 (GNU/Linux) + +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 +N7JGzLVNo+A= +=fZUN +-----END PGP PUBLIC KEY BLOCK----- + +GPG keys of Eric Blake +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.4.10 (GNU/Linux) +Comment: Public key at http://people.redhat.com/eblake/eblake.gpg + +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 +=FC1k +-----END PGP PUBLIC KEY BLOCK----- + +GPG keys of Dmitry V. Levin +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +PBg= +=Rd5j +-----END PGP PUBLIC KEY BLOCK----- diff --git a/glibc.rpmlintrc b/glibc.rpmlintrc new file mode 100644 index 0000000..9e1b3aa --- /dev/null +++ b/glibc.rpmlintrc @@ -0,0 +1,16 @@ +# glibc-profile is a devel package +addFilter("glibc-profile.* devel-file-in-non-devel-package.*/usr/lib.*/lib.*_p\.a") +# glibc is not a devel package +addFilter("glibc\..* non-devel-file-in-devel-package") +# getent deliberately uses gethostbyname +addFilter("binary-or-shlib-calls-gethostbyname /usr/bin/getent") +# We do need to keep the symtab (see comments in glibc.spec), so this is intented: +addFilter("unstripped-binary-or-object") +# ld.so is special: +addFilter("shared-library-without-dependency-information /usr/lib.*/ld.*\.so") +# the cross..-devel packages contain everything, in non-std paths, so no +# ldconfig is wanted or needed (for sle-15 based trees), and we accept +# the *.so symlinks, and deliver (target) binaries +addFilter("cross.*library-without-ldconfig-post.*") +addFilter("cross.*non-devel-file-in-devel-package.*") +addFilter("cross.*arch-independent-package-contains-binary-or-object.*") diff --git a/glibc.spec b/glibc.spec new file mode 100644 index 0000000..b800988 --- /dev/null +++ b/glibc.spec @@ -0,0 +1,1446 @@ +# +# spec file +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +# Run with osc --with=fast_build to have a shorter turnaround +# It will avoid building some parts of glibc +%bcond_with fast_build + +%bcond_with ringdisabled + +%define flavor @BUILD_FLAVOR@%{nil} + +# We need to map from flavor to cross-arch, but as we need the +# result in BuildRequires where the build service evaluates, we +# can use only simple RPM expressions, no lua, no shell, no '{expand:' +# expression :-/ Ideally we'd like to just strip the 'cross_' prefix, +# but we can't. So enumerate the possibilities for now. +%define cross_arch %{cross_cpu} +%if "%flavor" == "cross-aarch64" +%define cross_cpu aarch64 +%endif +%if "%flavor" == "cross-riscv64" +%define cross_cpu riscv64 +%endif +%if "%flavor" == "cross-s390x" +%define cross_cpu s390x +%endif +%if "%flavor" == "cross-ppc64le" +%define cross_arch ppc64le +%define cross_cpu powerpc64le +%endif + +%if 0%{?cross_cpu:1} +%define binutils_os %{cross_cpu}-suse-linux +# use same sysroot as in binutils.spec +%define sysroot %{_prefix}/%{binutils_os}/sys-root +%endif + +%if 0%{?suse_version} >= 1550 +%bcond_without usrmerged +%else +%bcond_with usrmerged +%endif + +%if 0%{?gcc_version} < 13 +%define with_gcc 13 +%endif + +# Enable support for livepatching. +%ifarch x86_64 +%bcond_without livepatching +%else +%bcond_with livepatching +%endif + +%bcond_with build_all +%define build_main 1 +%define build_utils %{with build_all} +%define build_testsuite %{with build_all} +%define build_cross 0 +%if "%flavor" == "utils" +%if %{with ringdisabled} +ExclusiveArch: do_not_build +%endif +%define build_main 0 +%define build_utils 1 +%define build_testsuite 0 +%endif +%if "%flavor" == "testsuite" +%if %{with ringdisabled} +ExclusiveArch: do_not_build +%endif +%define build_main 0 +%define build_utils 0 +%define build_testsuite 1 +%endif +%if 0%{?cross_cpu:1} +%define build_main 0 +%define build_utils 0 +%define build_testsuite 0 +%define build_cross 1 +%undefine _build_create_debug +ExcludeArch: %{cross_arch} +%if 0%{?suse_version} < 1600 +ExclusiveArch: do_not_build +%endif +%endif +%define host_arch %{?cross_cpu}%{!?cross_cpu:%{_target_cpu}} + +%if %{build_main} +%define name_suffix %{nil} +%else +%define name_suffix -%{flavor}-src +%endif + +%define __filter_GLIBC_PRIVATE 1 +%ifarch i686 +# For i686 let's only build what's different from i586, so +# no need to build documentation +%define build_profile 1 +%define build_locales 1 +%define build_html 0 +%else +%if %{with fast_build} || %{build_cross} || %{build_utils} && %{without build_all} +%define build_profile 0 +%define build_locales 0 +%define build_html 0 +%else +# Default: +%define build_profile 1 +%define build_locales 1 +%define build_html 1 +%endif +%endif + +%define build_variants %{build_main} + +%define disable_assert 0 +%define enable_stackguard_randomization 1 +# glibc requires at least kernel 3.2 +%define enablekernel 3.2 +# some architectures need a newer kernel +%ifarch ppc64le +%define enablekernel 3.10 +%endif +%ifarch aarch64 +%define enablekernel 3.7 +%endif +%ifarch ia64 +%define enablekernel 3.2.18 +%endif +%ifarch riscv64 +%define enablekernel 4.15 +%endif + +Name: glibc%{name_suffix} +Summary: Standard Shared Libraries (from the GNU C Library) +License: GPL-2.0-or-later AND LGPL-2.1-or-later AND LGPL-2.1-or-later WITH GCC-exception-2.0 +Group: System/Libraries +Version: 2.38 +Release: 0 +%define git_id 36f2487f13 +%define libversion %version +URL: https://www.gnu.org/software/libc/libc.html +BuildRoot: %{_tmppath}/%{name}-%{version}-build +Source: https://ftp.gnu.org/pub/gnu/glibc/glibc-%{version}.tar.xz +Source1: https://ftp.gnu.org/pub/gnu/glibc/glibc-%{version}.tar.xz.sig +Source2: http://savannah.gnu.org/project/memberlist-gpgkeys.php?group=libc&download=1#/glibc.keyring +Source4: manpages.tar.bz2 +Source5: nsswitch.conf +Source6: sle-nsswitch.conf +Source7: bindresvport.blacklist +Source9: glibc.rpmlintrc +Source10: baselibs.conf +# For systemd +Source20: nscd.conf +Source21: nscd.service +Source22: nscd.sysusers + +%if %{build_main} +# ngpt was used in 8.1 and SLES8 +Obsoletes: ngpt < 2.2.2 +Obsoletes: ngpt-devel < 2.2.2 +Provides: ngpt = 2.2.2 +Provides: ngpt-devel = 2.2.2 +Conflicts: kernel < %{enablekernel} +%if %{with usrmerged} +# make sure we have post-usrmerge filesystem package +Conflicts: filesystem < 15.6 +%endif +# bug437293 - handle update from SLES10 on PowerPC +%ifarch ppc64 +Obsoletes: glibc-64bit +%endif +%ifarch ppc +Obsoletes: glibc-32bit +%endif +%ifarch armv6hl armv7hl +# The old runtime linker link gets not provided by rpm find.provides, but it exists +Provides: ld-linux.so.3 +Provides: ld-linux.so.3(GLIBC_2.4) +%endif +Requires(pre): filesystem +Recommends: glibc-extra +Provides: rtld(GNU_HASH) +%endif +%if %{build_utils} +Requires: glibc = %{version} +%endif +BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: audit-devel +BuildRequires: bison +BuildRequires: fdupes +BuildRequires: libcap-devel +BuildRequires: libselinux-devel +BuildRequires: makeinfo +BuildRequires: python3-base +BuildRequires: systemd-rpm-macros +BuildRequires: systemtap-headers +BuildRequires: sysuser-tools +BuildRequires: xz +%if 0%{?with_gcc:1} +BuildRequires: gcc%{with_gcc} +%endif +%if %{build_testsuite} +BuildRequires: gcc%{?with_gcc}-c++ +BuildRequires: gdb +BuildRequires: glibc-devel-static +BuildRequires: libidn2-0 +BuildRequires: libstdc++-devel +BuildRequires: python3-pexpect +%endif +%if %{build_utils} +BuildRequires: gd-devel +BuildRequires: libpng-devel +BuildRequires: zlib-devel +%endif +%if %{build_cross} +BuildRequires: cross-%{cross_arch}-gcc%{!?with_gcc:%{gcc_version}}%{?with_gcc}-bootstrap +BuildRequires: cross-%{cross_arch}-linux-glibc-devel +%endif +%if "%flavor" == "i686" +ExclusiveArch: i586 i686 +BuildArch: i686 +# Sync only this build counter with the main build +#!BcntSyncTag: glibc +%endif + +### +# Patches are ordered in the following groups: +# Patches that we will never upstream or which have not been looked at: 0-999 +# Patches taken from upstream: 1000-2000 +# Patches that are going upstream, waiting approval: 2000-3000 +### + +### +# Patches that upstream will not accept +### + +### +# openSUSE specific patches - won't go upstream +### +### openSUSE extensions, configuration +# PATCH-FIX-OPENSUSE Fix path for nscd databases +Patch6: glibc-2.3.3-nscd-db-path.diff +# PATCH-FIX-OPENSUSE Fix path for nss_db (bnc#753657) - aj@suse.de +Patch7: nss-db-path.patch +# PATCH-FIX-OPENSUSE adjust nscd.conf +Patch8: glibc-nscd.conf.patch +# PATCH-FIX-OPENSUSE -- add some extra information to version output - kukuk@suse.de +Patch10: glibc-version.diff +# PATCH-FIX-OPENSUSE -- Make --no-archive default for localedef - kukuk@suse.de +Patch13: glibc-2.3.2.no_archive.diff +# PATCH-FIX-OPENSUSE -- add blacklist for bindresvport +Patch14: glibc-bindresvport-blacklist.diff +# PATCH-FIX-OPENSUSE prefer -lang rpm packages +Patch15: glibc-2.3.90-langpackdir.diff +# PATCH-FEATURE-SLE Use nscd user for nscd +Patch19: nscd-server-user.patch +# PATCH-FEATURE-SLE read nsswich.conf from /usr +Patch20: glibc-nsswitch-usr.diff +# PATCH-FEATURE-SLE Add ULP prologue into ASM functions +Patch21: ulp-prologue-into-asm-functions.patch + +### Locale related patches +# PATCH-FIX-OPENSUSE Add additional locales +Patch100: add-locales.patch +# PATCH-FIX-OPENSUSE -- Add no_NO back (XXX: Still needed?) +Patch102: glibc-2.4.90-no_NO.diff +# PATCH-FIX-OPENSUSE -- Renames for China +Patch103: glibc-2.4-china.diff + +### Network related patches +# PATCH-FIX-OPENSUSE Warn about usage of mdns in resolv.conv +Patch304: glibc-resolv-mdnshint.diff +# PATCH-FIX-OPENSUSE disable rewriting ::1 to 127.0.0.1 for /etc/hosts bnc#684534, bnc#706719 +Patch306: glibc-fix-double-loopback.diff + +### +# Patches from upstream +### +# PATCH-FIX-UPSTREAM iconv: restore verbosity with unrecognized encoding names (BZ #30694) +Patch1000: iconv-error-verbosity.patch +# PATCH-FIX-UPSTREAM x86: Fix for cache computation on AMD legacy cpus +Patch1001: cache-amd-legacy.patch +# PATCH-FIX-UPSTREAM x86: Fix incorrect scope of setting `shared_per_thread` (BZ# 30745) +Patch1002: cache-intel-shared.patch +# PATCH-FIX-UPSTREAM malloc: Enable merging of remainders in memalign, remove bin scanning from memalign (BZ #30723) +Patch1003: posix-memalign-fragmentation.patch +# PATCH-FIX-UPSTREAM intl: Treat C.UTF-8 locale like C locale (BZ #16621) +Patch1004: intl-c-utf-8-like-c-locale.patch +# PATCH-FIX-UPSTREAM io: Fix record locking contants for powerpc64 with __USE_FILE_OFFSET64 (BZ #30804) +Patch1005: ppc64-flock-fob64.patch +# PATCH-FIX-UPSTREAM libio: Fix oversized __io_vtables +Patch1006: libio-io-vtables.patch +# PATCH-FIX-UPSTREAM elf: Do not run constructors for proxy objects +Patch1007: call-init-proxy-objects.patch +# PATCH-FIX-UPSTREAM Stack read overflow with large TCP responses in no-aaaa mode (CVE-2023-4527, BZ #30842) +Patch1008: no-aaaa-read-overflow.patch +# PATCH-FIX-UPSTREAM getaddrinfo: Fix use after free in getcanonname (CVE-2023-4806, BZ #30843) +Patch1009: getcanonname-use-after-free.patch +# PATCH-FIX-UPSTREAM Fix leak in getaddrinfo introduced by the fix for CVE-2023-4806 (CVE-2023-5156, BZ #30884) +Patch1010: getaddrinfo-memory-leak.patch +# PATCH-FIX-UPSTREAM io: Do not implement fstat with fstatat +Patch1011: fstat-implementation.patch +# PATCH-FIX-UPSTREAM Propagate GLIBC_TUNABLES in setxid binaries +Patch1012: setxid-propagate-glibc-tunables.patch +# PATCH-FIX-UPSTREAM tunables: Terminate if end of input is reached (CVE-2023-4911) +Patch1013: tunables-string-parsing.patch +# PATCH-FIX-UPSTREAM add GB18030-2022 charmap and test the entire GB18030 charmap (BZ #30243) +Patch1014: gb18030-2022.patch +# PATCH-FIX-UPSTREAM aarch64: correct CFI in rawmemchr (BZ #31113) +Patch1015: aarch64-rawmemchr-unwind.patch +# PATCH-FIX-UPSTREAM sysdeps: sem_open: Clear O_CREAT when semaphore file is expected to exist (BZ #30789) +Patch1016: sem-open-o-creat.patch +# PATCH-FIX-UPSTREAM elf: Fix wrong break removal from 8ee878592c +Patch1017: ldconfig-process-elf-file.patch +# PATCH-FIX-UPSTREAM elf: Fix TLS modid reuse generation assignment (BZ #29039) +Patch1018: tls-modid-reuse.patch +# PATCH-FIX-UPSTREAM getaddrinfo: translate ENOMEM to EAI_MEMORY (BZ #31163) +Patch1019: getaddrinfo-eai-memory.patch +# PATCH-FIX-UPSTREAM libio: Check remaining buffer size in _IO_wdo_write (BZ #31183) +Patch1020: libio-wdo-write.patch +# PATCH-FIX-UPSTREAM syslog: Fix heap buffer overflow in __vsyslog_internal (CVE-2023-6246, CVE-2023-6779, CVE-2023-6780) +Patch1021: syslog-buffer-overflow.patch +# PATCH-FIX-UPSTREAM qsort: handle degenerated compare function +Patch1022: qsort-invalid-cmp.patch +# PATCH-FIX-UPSTREAM S390: Do not clobber r7 in clone (BZ #31402) +Patch1023: s390-clone-error-clobber-r7.patch +# PATCH-FIX-UPSTREAM duplocale: protect use of global locale (BZ #23970) +Patch1024: duplocale-global-locale.patch + +### +# Patches awaiting upstream approval +### +# PATCH-FIX-UPSTREAM Avoid concurrency problem in ldconfig (BZ #23973) +Patch2000: ldconfig-concurrency.patch + +# Non-glibc patches +# PATCH-FIX-OPENSUSE Remove debianisms from manpages +Patch3000: manpages.patch + +%description +The GNU C Library provides the most important standard libraries used +by nearly all programs: the standard C library, the standard math +library, and the POSIX thread library. A system is not functional +without these libraries. + +%package -n glibc-utils +Summary: Development utilities from the GNU C Library +License: LGPL-2.1-or-later +Group: Development/Languages/C and C++ +Requires: glibc = %{version} + +%description -n glibc-utils +The glibc-utils package contains mtrace, a memory leak tracer and +xtrace, a function call tracer which can be helpful during program +debugging. + +If you are unsure if you need this, do not install this package. + +%package -n glibc-testsuite +Summary: Testsuite results from the GNU C Library +License: LGPL-2.1-or-later +Group: Development/Languages/C and C++ + +%description -n glibc-testsuite +This package contains the testsuite results from the GNU C Library. + +%if %{build_main} +%package info +Summary: Info Files for the GNU C Library +License: GFDL-1.1-only +Group: Documentation/Other +Requires(post): %{install_info_prereq} +Requires(preun):%{install_info_prereq} +BuildArch: noarch + +%description info +This package contains the documentation for the GNU C library stored as +info files. Due to a lack of resources, this documentation is not +complete and is partially out of date. + +%package html +Summary: HTML Documentation for the GNU C Library +License: GFDL-1.1-only +Group: Documentation/HTML +BuildArch: noarch + +%description html +This package contains the HTML documentation for the GNU C library. Due +to a lack of resources, this documentation is not complete and is +partially out of date. + +%package i18ndata +Summary: Database Sources for 'locale' +License: GPL-2.0-or-later AND MIT +Group: System/Libraries +BuildArch: noarch + +%description i18ndata +This package contains the data needed to build the locale data files to +use the internationalization features of the GNU libc. It is normally +not necessary to install this packages, the data files are already +created. + +%package locale-base +Summary: en_US Locale Data for Localized Programs +License: GPL-2.0-or-later AND MIT AND LGPL-2.1-or-later +Group: System/Libraries +Requires(post): /bin/cat +Requires: glibc = %{version} + +%description locale-base +Locale data for the internationalisation features of the GNU C library. +This package contains only the U.S. English locale. + +%package locale +Summary: Locale Data for Localized Programs +License: GPL-2.0-or-later AND MIT AND LGPL-2.1-or-later +Group: System/Libraries +Requires: glibc-locale-base = %{version} +# bug437293 +%ifarch ppc64 +Obsoletes: glibc-locale-64bit +%endif +%ifarch ppc +Obsoletes: glibc-locale-32bit +%endif + +%description locale +Locale data for the internationalisation features of the GNU C library. + +%package -n nscd +Summary: Name Service Caching Daemon +License: GPL-2.0-or-later +Group: System/Daemons +Provides: glibc:/usr/sbin/nscd +Requires: glibc = %{version} +Obsoletes: unscd <= 0.48 +%{?sysusers_requires} +%{?systemd_requires} + +%description -n nscd +Nscd caches name service lookups and can dramatically improve +performance with NIS, NIS+, and LDAP. + +%package profile +Summary: Libc Profiling and Debugging Versions +License: GPL-2.0-or-later AND LGPL-2.1-or-later AND LGPL-2.1-or-later WITH GCC-exception-2.0 +Group: Development/Libraries/C and C++ +Requires: glibc = %{version} +# bug437293 +%ifarch ppc64 +Obsoletes: glibc-profile-64bit +%endif +%ifarch ppc +Obsoletes: glibc-profile-32bit +%endif + +%description profile +This package contains special versions of the GNU C library which are +necessary for profiling and debugging. + +%package devel +Summary: Include Files and Libraries Mandatory for Development +License: BSD-3-Clause AND LGPL-2.1-or-later AND LGPL-2.1-or-later WITH GCC-exception-2.0 AND GPL-2.0-or-later +Group: Development/Libraries/C and C++ +Obsoletes: epoll = 1.0 +Provides: epoll < 1.0 +# bug437293 +%ifarch ppc64 +Obsoletes: glibc-devel-64bit +%endif +%ifarch ppc +Obsoletes: glibc-devel-32bit +%endif +Requires: glibc = %{version} +Requires: libxcrypt-devel +Requires: linux-kernel-headers + +%description devel +These libraries are needed to develop programs which use the standard C +library. + +%package devel-static +Summary: C library static libraries for -static linking +License: BSD-3-Clause AND LGPL-2.1-or-later AND LGPL-2.1-or-later WITH GCC-exception-2.0 AND GPL-2.0-or-later +Group: Development/Libraries/C and C++ +Requires: %{name}-devel = %{version} +Requires: libxcrypt-devel-static +# Provide Fedora name for package to make packaging easier +Provides: %{name}-static = %{version} + +%description devel-static +The glibc-devel-static package contains the C library static libraries +for -static linking. You don't need these, unless you link statically, +which is highly discouraged. + +%package extra +# makedb requires libselinux. We add this program in a separate +# package so that glibc does not require libselinux. +Summary: Extra binaries from GNU C Library +License: LGPL-2.1-or-later +Group: Development/Libraries/C and C++ +Requires: glibc = %{version} + +%description extra +The glibc-extra package contains some extra binaries for glibc that +are not essential but recommend for use. + +makedb: A program to create a database for nss + +%lang_package +%endif + +%package -n cross-%{cross_arch}-glibc-devel +Summary: Include Files and Libraries Mandatory for Development +License: BSD-3-Clause AND LGPL-2.1-or-later AND LGPL-2.1-or-later WITH GCC-exception-2.0 AND GPL-2.0-or-later +Group: Development/Libraries/C and C++ +Requires: cross-%{cross_arch}-linux-glibc-devel +BuildArch: noarch +AutoReqProv: off + +%description -n cross-%{cross_arch}-glibc-devel +These libraries are needed to develop programs which use the standard C +library in a cross compilation setting. + +%package -n libnsl1 +Summary: Legacy Network Support Library (NIS) +License: LGPL-2.1-or-later +Group: System/Libraries + +%description -n libnsl1 +Network Support Library for legacy architectures. This library does not +have support for IPv6. + +%if 0%{suse_version} >= 1500 +%define make_output_sync -Oline +%endif + +%prep +%autosetup -n glibc-%{version} -a 4 -p1 + +rm -f manpages/catchsegv.1 + +%build +# Disable LTO due to a usage of top-level assembler that +# causes LTO issues (boo#1138807). +%define _lto_cflags %{nil} +if [ -x /bin/uname.bin ]; then + /bin/uname.bin -a +else + uname -a +fi +uptime || : +ulimit -a +nice +# We do not want configure to figure out the system its building one +# to support a common ground and thus set build and host ourself. +target="%{host_arch}-suse-linux" +case " %arm " in + *" %{host_arch} "*) target="%{host_arch}-suse-linux-gnueabi" ;; +esac +%ifarch %arm +%define build %{_target_cpu}-suse-linux-gnueabi +%else +%define build %{_target_cpu}-suse-linux +%endif +# Don't use as-needed, it breaks glibc assumptions +# Before enabling it, run the testsuite and verify that it +# passes completely +export SUSE_ASNEEDED=0 +# This is controlled by --enable-bind-now. +export SUSE_ZNOW=0 +# Adjust glibc version.h +echo "#define CONFHOST \"${target}\"" >> version.h +echo "#define GITID \"%{git_id}\"" >> version.h +# +# Default CFLAGS and Compiler +# +enable_stack_protector= +BuildFlags= +tmp="%{optflags}" +for opt in $tmp; do + case $opt in + -fstack-protector-*) enable_stack_protector=${opt#-fstack-protector-} ;; + -fstack-protector) enable_stack_protector=yes ;; + -D_FORTIFY_SOURCE=*) enable_fortify_source=${opt#-D_FORTIFY_SOURCE=} ;; + -ffortify=* | *_FORTIFY_SOURCE*) ;; +%if "%flavor" == "i686" + *i586*) BuildFlags+=" ${opt/i586/i686}" ;; +%endif +%if %{build_cross} + -m*) ;; # remove all machine specific options for crosses +%endif + *) BuildFlags+=" $opt" ;; + esac +done +%if "%flavor" == "i686" +BuildFlags+=" -march=i686 -mtune=generic" +%else +%if !%{build_cross} +%ifarch i586 +# workaround for unaligned stack in java-11-openjdk and mariadb +# by avoiding use of SSE +BuildFlags+=" -march=i586" +%endif +%endif +%endif +%if 0%{?with_gcc:1} +BuildCC="gcc-%{with_gcc}" +BuildCCplus="g++-%{with_gcc}" +%else +BuildCC="%__cc" +BuildCCplus="%__cxx" +%endif + +# +#now overwrite for some architectures +# +%if %{build_cross} +BuildCC=%{cross_cpu}-suse-linux-gcc +BuildCCplus=%{cross_cpu}-suse-linux-g++ +%else +%ifarch sparc64 + BuildFlags="-O2 -mcpu=ultrasparc -mvis -fcall-used-g6" + BuildCC="gcc -m64" + BuildCCplus="$BuildCCplus -m64" +%endif +%ifarch sparc + BuildFlags="$BuildFlags -fcall-used-g6" + BuildCC="gcc -m32" + BuildCCplus="$BuildCCplus -m32" +%endif +%ifarch sparcv9 + BuildFlags="$BuildFlags -mcpu=ultrasparc -fcall-used-g6" + BuildCC="gcc -m32" + BuildCCplus="$BuildCCplus -m32" +%endif +%ifarch alphaev6 + BuildFlags="-mcpu=ev6" +%endif +%ifarch ppc ppc64 + BuildFlags="$(echo $BuildFlags | sed 's#-mminimal-toc##')" + BuildFlags+=" -mtune=power5" +%endif +%ifarch ppc64 + BuildCC="$BuildCC -m64" + BuildCCplus="$BuildCCplus -m64" +%endif +%ifarch hppa + BuildFlags="$BuildFlags -mpa-risc-1-1 -fstrict-aliasing" +%endif +%if %{disable_assert} + BuildFlags="$BuildFlags -DNDEBUG=1" +%endif +%ifarch mipsel + # fails to build otherwise - need to recheck and fix + %define enable_stackguard_randomization 0 +%endif +%endif + +# +# Build base glibc +# +mkdir cc-base +cd cc-base +%if %{build_profile} +profile="--enable-profile" +%else +profile="--disable-profile" +%endif + +../configure \ + CFLAGS="$BuildFlags" BUILD_CFLAGS="$BuildFlags" \ + CC="$BuildCC" CXX="$BuildCCplus" \ + --prefix=%{_prefix} \ + --libexecdir=%{_libexecdir} --infodir=%{_infodir} \ + $profile \ + --build=%{build} --host=${target} \ +%if %{build_cross} + --with-headers=%{sysroot}/usr/include \ +%else +%ifarch armv7hl ppc ppc64 ppc64le i686 x86_64 sparc sparc64 s390 s390x + --enable-multi-arch \ +%endif +%ifarch aarch64 + --enable-memory-tagging \ +%endif +%ifarch mipsel + --without-fp \ +%endif +%ifarch ppc + --with-cpu=power4 \ +%endif +%ifarch ppc64p7 + --with-cpu=power7 \ +%endif +%ifarch x86_64 +%if %suse_version > 1500 + --enable-cet \ +%endif +%endif + --enable-systemtap \ +%endif +%if %{enable_stackguard_randomization} + --enable-stackguard-randomization \ +%endif + ${enable_stack_protector:+--enable-stack-protector=$enable_stack_protector} \ +%if !%{build_cross} + ${enable_fortify_source:+--enable-fortify-source=$enable_fortify_source} \ +%endif + --enable-tunables \ + --enable-kernel=%{enablekernel} \ + --with-bugurl=http://bugs.opensuse.org \ + --enable-bind-now \ + --disable-timezone-tools \ +%if %{with livepatching} + --enable-userspace-livepatch \ +%endif + --disable-crypt || \ + { + rc=$?; + echo "------- BEGIN config.log ------"; + %{__cat} config.log; + echo "------- END config.log ------"; + exit $rc; + } + +%if %{build_main} && %{with livepatching} +# Append necessary flags for livepatch support, if enabled. Only objects +# included in shared libraries should be prepared for live patching. +echo 'CFLAGS-.os += -fdump-ipa-clones' \ + >> Makeconfig +%endif + +make %{?_smp_mflags} %{?make_output_sync} +cd .. + +# +# Build html documentation +# +%if %{build_html} +make %{?_smp_mflags} %{?make_output_sync} -C cc-base html +%endif + +# sysusers.d +%sysusers_generate_pre %{SOURCE22} nscd nscd.conf + +%check +%if %{build_testsuite} +# The testsuite will fail if asneeded is used +export SUSE_ASNEEDED=0 +# The testsuite will fail if -znow is used +export SUSE_ZNOW=0 +# Increase timeout +export TIMEOUTFACTOR=16 +# The testsuite does its own malloc checking +unset MALLOC_CHECK_ +make %{?_smp_mflags} %{?make_output_sync} -C cc-base -k check || { + cd cc-base + o=$- + set +x + for sum in subdir-tests.sum */subdir-tests.sum; do + while read s t; do + case $s in + XPASS:|PASS:) + echo ++++++ $s $t ++++++ + ;; + *) # X?FAIL: + echo ------ $s $t ------ + test ! -f $t.out || cat $t.out + ;; + esac + done < $sum + done + set -$o + # Fail build if there where compilation errors during testsuite run + test -f tests.sum +} +%else +# This has to pass on all platforms! +# Exceptions: +# None! +make %{?_smp_mflags} %{?make_output_sync} -C cc-base check-abi +make %{?_smp_mflags} %{?make_output_sync} -C cc-base test t=elf/check-localplt +%endif + +%define rtldlib %{_lib} +# Each architecture has a different name for the dynamic linker: +%ifarch %arm +%ifarch armv6hl armv7hl +%define rtld_name ld-linux-armhf.so.3 +# Keep compatibility link +%define rtld_oldname ld-linux.so.3 +%else +%define rtld_name ld-linux.so.3 +%endif +%endif +%ifarch ia64 +%define rtld_name ld-linux-ia64.so.2 +%endif +%ifarch ppc s390 mips hppa m68k +%define rtld_name ld.so.1 +%endif +%ifarch ppc64 +%define rtld_name ld64.so.1 +%endif +%ifarch ppc64le +%define rtld_name ld64.so.2 +%endif +%ifarch s390x +%define rtldlib lib +%define rtld_name ld64.so.1 +%endif +%ifarch x86_64 +%define rtld_name ld-linux-x86-64.so.2 +%endif +%ifarch %ix86 %sparc +%define rtld_name ld-linux.so.2 +%endif +%ifarch aarch64 +%define rtldlib lib +%define rtld_name ld-linux-aarch64.so.1 +%endif +%ifarch riscv64 +%define rtldlib lib +%define rtld_name ld-linux-riscv64-lp64d.so.1 +%endif + +%if %{with usrmerged} +%define rootsbindir %{_sbindir} +%define slibdir %{_libdir} +%define rtlddir %{_prefix}/%{rtldlib} +%else +%define rootsbindir /sbin +%define slibdir /%{_lib} +%define rtlddir /%{rtldlib} +%endif + +%install +%if !%{build_testsuite} + +%if %{with usrmerged} +mkdir -p %{buildroot}%{_libdir} +ln -s %{buildroot}%{_libdir} %{buildroot}/%{_lib} +%if "%{rtldlib}" != "%{_lib}" +mkdir -p %{buildroot}%{rtlddir} +ln -s %{buildroot}%{rtlddir} %{buildroot}/%{rtldlib} +%endif +mkdir -p %{buildroot}%{_sbindir} +ln -s %{buildroot}%{_sbindir} %{buildroot}/sbin +%endif + +%if !%{build_cross} +%ifarch riscv64 +mkdir -p %{buildroot}%{_libdir} +ln -s . %{buildroot}%{_libdir}/lp64d +%if "%{slibdir}" != "%{_libdir}" +mkdir -p %{buildroot}%{slibdir} +ln -s . %{buildroot}%{slibdir}/lp64d +%endif +%endif +%endif + +%if %{build_main} + +%if %{with livepatching} +%define tar_basename glibc-livepatch-%{version}-%{release} +%define tar_package_name %{tar_basename}.%{_arch}.tar.xz +%define clones_dest_dir %{tar_basename}/%{_arch} + +# Ipa-clones are files generated by gcc which logs changes made across +# functions, and we need to know such changes to build livepatches +# correctly. These files are intended to be used by the livepatch +# developers and may be retrieved by using `osc getbinaries`. +# +# Create ipa-clones destination folder and move clones there. +mkdir -p ipa-clones/%{clones_dest_dir} +find . -name "*.ipa-clones" ! -empty \ + -exec cp -t ipa-clones/%{clones_dest_dir} --parents {} + + +# Create tarball with ipa-clones. +tar -cJf %{tar_package_name} -C ipa-clones \ + --owner root --group root --sort name %{tar_basename} + +# Copy tarball to the OTHER folder to store it as artifact. +cp %{tar_package_name} %{_topdir}/OTHER + +%endif + +# We don't want to strip the .symtab from our libraries in find-debuginfo.sh, +# certainly not from libc.so.* because it is used by libthread_db to find +# some non-exported symbols in order to detect if threading support +# should be enabled. These symbols are _not_ exported, and we can't easily +# export them retroactively without changing the ABI. So we have to +# continue to "export" them via .symtab, instead of .dynsym :-( +# But we also want to keep .symtab and .strtab of other libraries since some +# debugging tools currently require these sections directly inside the main +# files - specifically valgrind and PurifyPlus. +export STRIP_KEEP_SYMTAB=*.so* + +# Install base glibc +make %{?_smp_mflags} %{?make_output_sync} install_root=%{buildroot} install -C cc-base + +# Install locales +%if %{build_locales} + cd cc-base + # localedef creates hardlinks to other locales if possible + # this will not work if we generate them in parallel. + # thus we need to run fdupes on /usr/lib/locale/ + # Still, on my system this is a speed advantage: + # non-parallel build for install-locales: 9:34mins + # parallel build with fdupes: 7:08mins + make %{?_smp_mflags} %{?make_output_sync} install_root=%{buildroot} localedata/install-locales + # Avoid hardlinks across subpackages + mv %{buildroot}/usr/lib/locale/{en_US,C}.utf8 . + %fdupes %{buildroot}/usr/lib/locale + mv {en_US,C}.utf8 %{buildroot}/usr/lib/locale/ + cd .. +%endif + +%ifnarch i686 +# Create file list for glibc-lang package +%{find_lang} libc +%else +# The translations are shared with the base flavour +rm -rf %{buildroot}%{_datadir}/locale/*/ +%endif + +# Miscelanna: + +install -m 644 %{SOURCE7} %{buildroot}/etc +%if %suse_version > 1500 +install -D -m 644 %{SOURCE5} %{buildroot}%{_prefix}/etc/nsswitch.conf +%else +install -m 644 %{SOURCE6} %{buildroot}/etc/nsswitch.conf +%endif + +%if %{build_html} +mkdir -p %{buildroot}%{_datadir}/doc/glibc +cp -p cc-base/manual/libc/*.html %{buildroot}%{_datadir}/doc/glibc +%endif + +cd manpages; make install_root=%{buildroot} install; cd .. + +# nscd tools: + +%ifnarch i686 +cp nscd/nscd.conf %{buildroot}/etc +mkdir -p %{buildroot}/etc/init.d +ln -sf %{rootsbindir}/service %{buildroot}%{_sbindir}/rcnscd +mkdir -p %{buildroot}/run/nscd +mkdir -p %{buildroot}/var/lib/nscd +%endif + +# +# Create ld.so.conf +# +cat > %{buildroot}/etc/ld.so.conf </lib/../$subdir where subdir is +# for instance "lib64". For this path lookup to succeed we need the +# ../lib subdir, even if it's empty, so enforce its existence. +mkdir -p %{buildroot}/%{sysroot}/lib +mkdir -p %{buildroot}/%{sysroot}/%{_prefix}/lib + +%endif + +%endif + +%if %{with usrmerged} + +rm %{buildroot}/%{_lib} +%if "%{rtldlib}" != "%{_lib}" +rm %{buildroot}/%{rtldlib} +%endif +rm %{buildroot}/sbin + +%endif + +%endif + +%if %{build_main} + +%post -p +function exec(path, ...) + local pid = posix.fork() + if pid == 0 then + posix.exec(path, ...) + io.write(path, ": exec failed: ", posix.errno(), "\n") + os.exit(1) + end + if not pid then + error(path .. ": fork failed: " .. posix.errno() .. "\n") + end + posix.wait(pid) +end + +-- First, get rid of platform-optimized libraries. We remove any we have +-- ever built, since otherwise we might end up using some old leftover +-- libraries when new ones aren't installed in their place anymore. +libraries = { "libc.so.6", "libc.so.6.1", "libm.so.6", "libm.so.6.1", + "librt.so.1", "libpthread.so.0", "libthread_db.so.1" } +remove_dirs = { +%ifarch i586 + "%{slibdir}/i686/", +%endif +%ifarch ppc ppc64 + "%{slibdir}/power4/", "%{slibdir}/ppc970/", + "%{slibdir}/power5/", "%{slibdir}/power5+/", + "%{slibdir}/power6/", "%{slibdir}/power6x/", + "%{slibdir}/power7/", + "%{slibdir}/ppc-cell-be/", +%endif + "%{slibdir}/tls/" +} +for i, remove_dir in ipairs(remove_dirs) do + for j, library in ipairs(libraries) do + local file = remove_dir .. library + -- This file could be a symlink to library-%{version}.so, so check + -- this and don't remove only the link, but also the library itself. + local link = posix.readlink(file) + if link then + if link:sub(1, 1) ~= "/" then link = remove_dir .. link end + os.remove(link) + end + os.remove(file) + end +end +if posix.access("%{rootsbindir}/ldconfig", "x") then + exec("%{rootsbindir}/ldconfig", "-X") +end +if posix.utime("%{_libdir}/gconv/gconv-modules.cache") then + exec("/usr/sbin/iconvconfig", "-o", "%{_libdir}/gconv/gconv-modules.cache", + "--nostdlib", "%{_libdir}/gconv") +end + +%postun -p %{rootsbindir}/ldconfig + +%post locale-base +/usr/sbin/iconvconfig + +%post info +%install_info --info-dir=%{_infodir} %{_infodir}/libc.info.gz + +%preun info +%install_info_delete --info-dir=%{_infodir} %{_infodir}/libc.info.gz + +%pre -n nscd -f nscd.pre +%service_add_pre nscd.service + +%preun -n nscd +%service_del_preun nscd.service + +%post -n nscd +%service_add_post nscd.service +%tmpfiles_create /usr/lib/tmpfiles.d/nscd.conf +# Previously we had nscd.socket, remove it +test -x /usr/bin/systemctl && /usr/bin/systemctl stop nscd.socket 2>/dev/null || : +test -x /usr/bin/systemctl && /usr/bin/systemctl disable nscd.socket 2>/dev/null || : +# Hard removal in case the above did not work +rm -f /etc/systemd/system/sockets.target.wants/nscd.socket +exit 0 + +%postun -n nscd +%service_del_postun nscd.service +exit 0 + +%files +# glibc +%defattr(-,root,root) +%license LICENSES +%config(noreplace) /etc/bindresvport.blacklist +%config /etc/ld.so.conf +%attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /etc/ld.so.cache +%config(noreplace) /etc/rpc +%if %suse_version > 1500 +%attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /etc/nsswitch.conf +%{_prefix}/etc/nsswitch.conf +%else +%verify(not md5 size mtime) %config(noreplace) /etc/nsswitch.conf +%endif +%attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /etc/gai.conf +%doc posix/gai.conf +%doc %{_mandir}/man1/gencat.1.gz +%doc %{_mandir}/man1/getconf.1.gz +%doc %{_mandir}/man5/* + +%{_bindir}/ld.so +%{rtlddir}/%{rtld_name} +%if 0%{?rtld_oldname:1} +%{rtlddir}/%{rtld_oldname} +%endif +%ifarch %ix86 x86_64 ppc ppc64 s390 s390x +# LSB +%{slibdir}/*-lsb*.so.3 +%endif + +%ifarch riscv64 +%{_libdir}/lp64d +%if "%{slibdir}" != "%{_libdir}" +%{slibdir}/lp64d +%endif +%endif + +%{slibdir}/libBrokenLocale.so.1 +%{slibdir}/libanl.so.1 +%{slibdir}/libc.so.6* +%{slibdir}/libc_malloc_debug.so.0 +%{slibdir}/libdl.so.2* +%{slibdir}/libm.so.6* +%ifarch x86_64 aarch64 +%{slibdir}/libmvec.so.1 +%endif +%{slibdir}/libnss_compat.so.2 +%{slibdir}/libnss_db.so.2 +%{slibdir}/libnss_dns.so.2 +%{slibdir}/libnss_files.so.2 +%{slibdir}/libnss_hesiod.so.2 +%{slibdir}/libpthread.so.0 +%{slibdir}/libresolv.so.2 +%{slibdir}/librt.so.1 +%{slibdir}/libthread_db.so.1 +%{slibdir}/libutil.so.1 +%dir %attr(0700,root,root) /var/cache/ldconfig +%{rootsbindir}/ldconfig +%{_bindir}/gencat +%{_bindir}/getconf +%{_bindir}/getent +%{_bindir}/iconv +%attr(755,root,root) %{_bindir}/ldd +%{_bindir}/locale +%{_bindir}/localedef +%dir %attr(0755,root,root) %{_libexecdir}/getconf +%{_libexecdir}/getconf/* +%{_sbindir}/iconvconfig + +%files locale-base +%defattr(-,root,root) +%{_datadir}/locale/locale.alias +%if %{build_locales} +%dir %{_prefix}/lib/locale +%{_prefix}/lib/locale/C.utf8 +%{_prefix}/lib/locale/en_US.utf8 +%endif +%dir %{_libdir}/gconv +%{_libdir}/gconv/*.so +%{_libdir}/gconv/gconv-modules +%{_libdir}/gconv/gconv-modules.d +%attr(0644,root,root) %verify(not md5 size mtime) %ghost %{_libdir}/gconv/gconv-modules.cache + +%files locale +%defattr(-,root,root) +%if %{build_locales} +%{_prefix}/lib/locale +%exclude %{_prefix}/lib/locale/C.utf8 +%exclude %{_prefix}/lib/locale/en_US.utf8 +%endif + +%files devel +%defattr(-,root,root) +%license COPYING COPYING.LIB +%doc NEWS README +%doc %{_mandir}/man3/* +%{_bindir}/sprof +%{_includedir}/* +%{_libdir}/*.o +%{_libdir}/libBrokenLocale.so +%{_libdir}/libanl.so +%{_libdir}/libc.so +%{_libdir}/libc_malloc_debug.so +%{_libdir}/libm.so +%ifarch x86_64 aarch64 +%{_libdir}/libmvec.so +%endif +%{_libdir}/libnss_compat.so +%{_libdir}/libnss_db.so +%{_libdir}/libnss_hesiod.so +%{_libdir}/libresolv.so +%{_libdir}/libthread_db.so +# These static libraries are needed even for shared builds +%{_libdir}/libc_nonshared.a +%{_libdir}/libdl.a +%{_libdir}/libg.a +%ifarch ppc ppc64 ppc64le s390 s390x sparc sparcv8 sparcv9 sparcv9v +# This is not built on sparc64. + %{_libdir}/libnldbl_nonshared.a +%endif +%{_libdir}/libmcheck.a +%{_libdir}/libpthread.a +%{_libdir}/librt.a +%{_libdir}/libutil.a + +%files devel-static +%defattr(-,root,root) +%{_libdir}/libBrokenLocale.a +%{_libdir}/libanl.a +%{_libdir}/libc.a +%{_libdir}/libm.a +%ifarch x86_64 aarch64 +%{_libdir}/libm-%{libversion}.a +%{_libdir}/libmvec.a +%endif +%{_libdir}/libresolv.a + +%ifnarch i686 +%files info +%defattr(-,root,root) +%doc %{_infodir}/libc.info.gz +%doc %{_infodir}/libc.info-?.gz +%doc %{_infodir}/libc.info-??.gz + +%if %{build_html} +%files html +%defattr(-,root,root) +%doc %{_prefix}/share/doc/glibc +%endif + +%files i18ndata +%defattr(-,root,root) +%{_prefix}/share/i18n + +%files -n nscd +%defattr(-,root,root) +%config(noreplace) /etc/nscd.conf +%{_sbindir}/nscd +%{_sbindir}/rcnscd +/usr/lib/systemd/system/nscd.service +%dir /usr/lib/tmpfiles.d +/usr/lib/tmpfiles.d/nscd.conf +%dir /usr/lib/sysusers.d +/usr/lib/sysusers.d/nscd.conf +%dir %attr(0755,root,root) %ghost /run/nscd +%attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /run/nscd/nscd.pid +%attr(0666,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /run/nscd/socket +%dir %attr(0755,root,root) /var/lib/nscd +%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/lib/nscd/passwd +%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/lib/nscd/group +%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/lib/nscd/hosts +%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/lib/nscd/services +%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/lib/nscd/netgroup +%endif + +%if %{build_profile} +%files profile +%defattr(-,root,root) +%{_libdir}/libc_p.a +%{_libdir}/libBrokenLocale_p.a +%{_libdir}/libanl_p.a +%{_libdir}/libm_p.a +%ifarch x86_64 aarch64 +%{_libdir}/libmvec_p.a +%endif +%{_libdir}/libpthread_p.a +%{_libdir}/libresolv_p.a +%{_libdir}/librt_p.a +%{_libdir}/libutil_p.a +%{_libdir}/libdl_p.a +%endif + +%ifnarch i686 +%files extra +%defattr(-,root,root) +%{_bindir}/makedb +%{_prefix}/share/misc/Makefile.makedb +/var/lib/misc/Makefile + +%files lang -f libc.lang +%endif + +%ifarch %ix86 %alpha hppa m68k %mips32 %mips64 %sparc ppc ppc64 ppc64le x86_64 s390 s390x %arm aarch64 riscv64 +%files -n libnsl1 +%{slibdir}/libnsl.so.1 +%endif + +%endif + +%if %{build_cross} +%files -n cross-%{cross_arch}-glibc-devel +%defattr(-,root,root) +%license COPYING COPYING.LIB +%{sysroot} +%endif + +%if %{build_utils} +%files -n glibc-utils +%defattr(-,root,root) +%{slibdir}/libmemusage.so +%{slibdir}/libpcprofile.so +%dir %{_libdir}/audit +%{_libdir}/audit/sotruss-lib.so +%{_bindir}/memusage +%{_bindir}/memusagestat +%{_bindir}/mtrace +%{_bindir}/pcprofiledump +%{_bindir}/sotruss +%{_bindir}/xtrace +%{_bindir}/pldd +%endif + +%changelog diff --git a/iconv-error-verbosity.patch b/iconv-error-verbosity.patch new file mode 100644 index 0000000..31a3d6a --- /dev/null +++ b/iconv-error-verbosity.patch @@ -0,0 +1,30 @@ +From fc72b6d7d818ab2868920af956d1542d03342a4d Mon Sep 17 00:00:00 2001 +From: Andreas Schwab +Date: Tue, 1 Aug 2023 17:01:37 +0200 +Subject: [PATCH] iconv: restore verbosity with unrecognized encoding names + (bug 30694) + +Commit 91927b7c76 ("Rewrite iconv option parsing [BZ #19519]") changed the +iconv program to call __gconv_open directly instead of the iconv_open +wrapper, but the former does not set errno. Update the caller to +interpret the return codes like iconv_open does. +--- + iconv/iconv_prog.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/iconv/iconv_prog.c b/iconv/iconv_prog.c +index bee898c63c..cf32cf9b44 100644 +--- a/iconv/iconv_prog.c ++++ b/iconv/iconv_prog.c +@@ -187,7 +187,7 @@ main (int argc, char *argv[]) + + if (res != __GCONV_OK) + { +- if (errno == EINVAL) ++ if (res == __GCONV_NOCONV || res == __GCONV_NODB) + { + /* Try to be nice with the user and tell her which of the + two encoding names is wrong. This is possible because +-- +2.41.0 + diff --git a/intl-c-utf-8-like-c-locale.patch b/intl-c-utf-8-like-c-locale.patch new file mode 100644 index 0000000..ff9e1c1 --- /dev/null +++ b/intl-c-utf-8-like-c-locale.patch @@ -0,0 +1,39 @@ +From 2897b231a6b71ee17d47d3d63f1112b2641a476c Mon Sep 17 00:00:00 2001 +From: Bruno Haible +Date: Mon, 4 Sep 2023 15:31:36 +0200 +Subject: [PATCH] intl: Treat C.UTF-8 locale like C locale (BZ# 16621) + +The wiki page https://sourceware.org/glibc/wiki/Proposals/C.UTF-8 +says that "Setting LC_ALL=C.UTF-8 will ignore LANGUAGE just like it +does with LC_ALL=C." This patch implements it. + +* intl/dcigettext.c (guess_category_value): Treat C. locale +like the C locale. + +Reviewed-by: Florian Weimer +--- + intl/dcigettext.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/intl/dcigettext.c b/intl/dcigettext.c +index 7886ac9545..27063886d2 100644 +--- a/intl/dcigettext.c ++++ b/intl/dcigettext.c +@@ -1560,8 +1560,12 @@ guess_category_value (int category, const char *categoryname) + 2. The precise output of some programs in the "C" locale is specified + by POSIX and should not depend on environment variables like + "LANGUAGE" or system-dependent information. We allow such programs +- to use gettext(). */ +- if (strcmp (locale, "C") == 0) ++ to use gettext(). ++ Ignore LANGUAGE and its system-dependent analogon also if the locale is ++ set to "C.UTF-8" or, more generally, to "C.", because that's ++ the by-design behaviour for glibc, see ++ . */ ++ if (locale[0] == 'C' && (locale[1] == '\0' || locale[1] == '.')) + return locale; + + /* The highest priority value is the value of the 'LANGUAGE' environment +-- +2.42.0 + diff --git a/ldconfig-concurrency.patch b/ldconfig-concurrency.patch new file mode 100644 index 0000000..214a6ca --- /dev/null +++ b/ldconfig-concurrency.patch @@ -0,0 +1,53 @@ + * elf/cache.c (save_cache): Use unique temporary name. + (save_aux_cache): Likewise. + +Index: glibc-2.34/elf/cache.c +=================================================================== +--- glibc-2.34.orig/elf/cache.c ++++ glibc-2.34/elf/cache.c +@@ -716,12 +716,12 @@ save_cache (const char *cache_name) + /* Write out the cache. */ + + /* Write cache first to a temporary file and rename it later. */ +- char *temp_name = xmalloc (strlen (cache_name) + 2); +- sprintf (temp_name, "%s~", cache_name); ++ char *temp_name; ++ if (asprintf (&temp_name, "%s.XXXXXX", cache_name) < 0) ++ error (EXIT_FAILURE, errno, _("Can't allocate temporary name for cache file")); + + /* Create file. */ +- int fd = open (temp_name, O_CREAT|O_WRONLY|O_TRUNC|O_NOFOLLOW, +- S_IRUSR|S_IWUSR); ++ int fd = mkostemp (temp_name, 0); + if (fd < 0) + error (EXIT_FAILURE, errno, _("Can't create temporary cache file %s"), + temp_name); +@@ -1128,8 +1128,9 @@ save_aux_cache (const char *aux_cache_na + /* Write out auxiliary cache file. */ + /* Write auxiliary cache first to a temporary file and rename it later. */ + +- char *temp_name = xmalloc (strlen (aux_cache_name) + 2); +- sprintf (temp_name, "%s~", aux_cache_name); ++ char *temp_name; ++ if (asprintf (&temp_name, "%s.XXXXXX", aux_cache_name) < 0) ++ goto out_fail2; + + /* Check that directory exists and create if needed. */ + char *dir = strdupa (aux_cache_name); +@@ -1143,8 +1144,7 @@ save_aux_cache (const char *aux_cache_na + } + + /* Create file. */ +- int fd = open (temp_name, O_CREAT|O_WRONLY|O_TRUNC|O_NOFOLLOW, +- S_IRUSR|S_IWUSR); ++ int fd = mkostemp (temp_name, 0); + if (fd < 0) + goto out_fail; + +@@ -1167,5 +1167,6 @@ save_aux_cache (const char *aux_cache_na + out_fail: + /* Free allocated memory. */ + free (temp_name); ++out_fail2: + free (file_entries); + } diff --git a/ldconfig-process-elf-file.patch b/ldconfig-process-elf-file.patch new file mode 100644 index 0000000..92fc7fe --- /dev/null +++ b/ldconfig-process-elf-file.patch @@ -0,0 +1,26 @@ +From bf5aa419cbf545d2cd09dc097e518033d6e4df5e Mon Sep 17 00:00:00 2001 +From: Adhemerval Zanella +Date: Thu, 7 Dec 2023 11:17:35 -0300 +Subject: [PATCH] elf: Fix wrong break removal from 8ee878592c + +Reported-by: Alexander Monakov +(cherry picked from commit 546a1ba664626603660b595662249d524e429013) +--- + elf/readelflib.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/elf/readelflib.c b/elf/readelflib.c +index f5b8c80e38..64f1d662a9 100644 +--- a/elf/readelflib.c ++++ b/elf/readelflib.c +@@ -107,6 +107,7 @@ process_elf_file (const char *file_name, const char *lib, int *flag, + case PT_INTERP: + program_interpreter = (char *) (file_contents + segment->p_offset); + check_ptr (program_interpreter); ++ break; + + case PT_GNU_PROPERTY: + /* The NT_GNU_PROPERTY_TYPE_0 note must be aligned to 4 bytes +-- +2.43.0 + diff --git a/libio-io-vtables.patch b/libio-io-vtables.patch new file mode 100644 index 0000000..4b622f4 --- /dev/null +++ b/libio-io-vtables.patch @@ -0,0 +1,51 @@ +From 92201f16cbcfd9eafe314ef6654be2ea7ba25675 Mon Sep 17 00:00:00 2001 +From: Adam Jackson +Date: Fri, 8 Sep 2023 15:55:19 -0400 +Subject: [PATCH] libio: Fix oversized __io_vtables + +IO_VTABLES_LEN is the size of the struct array in bytes, not the number +of __IO_jump_t's in the array. Drops just under 384kb from .rodata on +LP64 machines. + +Fixes: 3020f72618e ("libio: Remove the usage of __libc_IO_vtables") +Signed-off-by: Adam Jackson +Reviewed-by: Florian Weimer +Tested-by: Florian Weimer +(cherry picked from commit 8cb69e054386f980f9ff4d93b157861d72b2019e) +--- + libio/vtables.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/libio/vtables.c b/libio/vtables.c +index 1d8ad612e9..34f7e15f1c 100644 +--- a/libio/vtables.c ++++ b/libio/vtables.c +@@ -20,6 +20,7 @@ + #include + #include + #include ++#include + #include + #include + +@@ -88,7 +89,7 @@ + # pragma weak __wprintf_buffer_as_file_xsputn + #endif + +-const struct _IO_jump_t __io_vtables[IO_VTABLES_LEN] attribute_relro = ++const struct _IO_jump_t __io_vtables[] attribute_relro = + { + /* _IO_str_jumps */ + [IO_STR_JUMPS] = +@@ -485,6 +486,8 @@ const struct _IO_jump_t __io_vtables[IO_VTABLES_LEN] attribute_relro = + }, + #endif + }; ++_Static_assert (array_length (__io_vtables) == IO_VTABLES_NUM, ++ "initializer count"); + + #ifdef SHARED + +-- +2.42.0 + diff --git a/libio-wdo-write.patch b/libio-wdo-write.patch new file mode 100644 index 0000000..cbf638d --- /dev/null +++ b/libio-wdo-write.patch @@ -0,0 +1,36 @@ +From cfe121910013a46e2477562282c56ae8062089aa Mon Sep 17 00:00:00 2001 +From: Florian Weimer +Date: Tue, 2 Jan 2024 14:36:17 +0100 +Subject: [PATCH] libio: Check remaining buffer size in _IO_wdo_write (bug + 31183) + +The multibyte character needs to fit into the remaining buffer space, +not the already-written buffer space. Without the fix, we were never +moving the write pointer from the start of the buffer, always using +the single-character fallback buffer. + +Fixes commit 04b76b5aa8b2d1d19066e42dd1 ("Don't error out writing +a multibyte character to an unbuffered stream (bug 17522)"). + +(cherry picked from commit ecc7c3deb9f347649c2078fcc0f94d4cedf92d60) +--- + NEWS | 1 + + libio/wfileops.c | 2 +- + 2 files changed, 2 insertions(+), 1 deletion(-) + +diff --git a/libio/wfileops.c b/libio/wfileops.c +index f16f6db1c3..9ab8f2e7f3 100644 +--- a/libio/wfileops.c ++++ b/libio/wfileops.c +@@ -55,7 +55,7 @@ _IO_wdo_write (FILE *fp, const wchar_t *data, size_t to_do) + char mb_buf[MB_LEN_MAX]; + char *write_base, *write_ptr, *buf_end; + +- if (fp->_IO_write_ptr - fp->_IO_write_base < sizeof (mb_buf)) ++ if (fp->_IO_buf_end - fp->_IO_write_ptr < sizeof (mb_buf)) + { + /* Make sure we have room for at least one multibyte + character. */ +-- +2.43.0 + diff --git a/manpages.patch b/manpages.patch new file mode 100644 index 0000000..6d7bafb --- /dev/null +++ b/manpages.patch @@ -0,0 +1,21 @@ +Index: ./manpages/locale.alias.5 +=================================================================== +--- ./manpages/locale.alias.5.orig ++++ ./manpages/locale.alias.5 +@@ -18,7 +18,7 @@ + .SH "NAME" + locale.alias \- Locale name alias data base + .SH "DESCRIPTION" +-The locale.alias database file (/etc/locale.alias) is used by the ++The locale.alias database file (/usr/share/locale/locale.alias) is used by the + .B locale + command and the + .B X Window System +@@ -40,6 +40,6 @@ name, or simpler versions of the POSIX l + Lines beginning with Hash ("#") are treated as comments and ignored. + + .SH "SEE ALSO" +-locale(1), localedef(1), locale-gen(8), locale.gen(5) ++locale(1), localedef(1) + .SH "AUTHOR" + Alastair McKinstry diff --git a/manpages.tar.bz2 b/manpages.tar.bz2 new file mode 100644 index 0000000..31e2910 --- /dev/null +++ b/manpages.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f6c7ae11fffac0d0f1af507f657664a703a7ae6832a72d0b161693f3fcf41f6 +size 7405 diff --git a/no-aaaa-read-overflow.patch b/no-aaaa-read-overflow.patch new file mode 100644 index 0000000..6524787 --- /dev/null +++ b/no-aaaa-read-overflow.patch @@ -0,0 +1,193 @@ +From bd77dd7e73e3530203be1c52c8a29d08270cb25d Mon Sep 17 00:00:00 2001 +From: Florian Weimer +Date: Wed, 13 Sep 2023 14:10:56 +0200 +Subject: [PATCH] CVE-2023-4527: Stack read overflow with large TCP responses + in no-aaaa mode + +Without passing alt_dns_packet_buffer, __res_context_search can only +store 2048 bytes (what fits into dns_packet_buffer). However, +the function returns the total packet size, and the subsequent +DNS parsing code in _nss_dns_gethostbyname4_r reads beyond the end +of the stack-allocated buffer. + +Fixes commit f282cdbe7f436c75864e5640a4 ("resolv: Implement no-aaaa +stub resolver option") and bug 30842. +--- + NEWS | 6 +- + resolv/Makefile | 2 + + resolv/nss_dns/dns-host.c | 2 +- + resolv/tst-resolv-noaaaa-vc.c | 129 ++++++++++++++++++++++++++++++++++ + 4 files changed, 137 insertions(+), 2 deletions(-) + create mode 100644 resolv/tst-resolv-noaaaa-vc.c + +diff --git a/resolv/Makefile b/resolv/Makefile +index 054b1fa36c..2f99eb3862 100644 +--- a/resolv/Makefile ++++ b/resolv/Makefile +@@ -102,6 +102,7 @@ tests += \ + tst-resolv-invalid-cname \ + tst-resolv-network \ + tst-resolv-noaaaa \ ++ tst-resolv-noaaaa-vc \ + tst-resolv-nondecimal \ + tst-resolv-res_init-multi \ + tst-resolv-search \ +@@ -293,6 +294,7 @@ $(objpfx)tst-resolv-res_init-thread: $(objpfx)libresolv.so \ + $(objpfx)tst-resolv-invalid-cname: $(objpfx)libresolv.so \ + $(shared-thread-library) + $(objpfx)tst-resolv-noaaaa: $(objpfx)libresolv.so $(shared-thread-library) ++$(objpfx)tst-resolv-noaaaa-vc: $(objpfx)libresolv.so $(shared-thread-library) + $(objpfx)tst-resolv-nondecimal: $(objpfx)libresolv.so $(shared-thread-library) + $(objpfx)tst-resolv-qtypes: $(objpfx)libresolv.so $(shared-thread-library) + $(objpfx)tst-resolv-rotate: $(objpfx)libresolv.so $(shared-thread-library) +diff --git a/resolv/nss_dns/dns-host.c b/resolv/nss_dns/dns-host.c +index c8b77bbc35..119dc9f00f 100644 +--- a/resolv/nss_dns/dns-host.c ++++ b/resolv/nss_dns/dns-host.c +@@ -427,7 +427,7 @@ _nss_dns_gethostbyname4_r (const char *name, struct gaih_addrtuple **pat, + { + n = __res_context_search (ctx, name, C_IN, T_A, + dns_packet_buffer, sizeof (dns_packet_buffer), +- NULL, NULL, NULL, NULL, NULL); ++ &alt_dns_packet_buffer, NULL, NULL, NULL, NULL); + if (n >= 0) + status = gaih_getanswer_noaaaa (alt_dns_packet_buffer, n, + &abuf, pat, errnop, herrnop, ttlp); +diff --git a/resolv/tst-resolv-noaaaa-vc.c b/resolv/tst-resolv-noaaaa-vc.c +new file mode 100644 +index 0000000000..9f5aebd99f +--- /dev/null ++++ b/resolv/tst-resolv-noaaaa-vc.c +@@ -0,0 +1,129 @@ ++/* Test the RES_NOAAAA resolver option with a large response. ++ Copyright (C) 2022-2023 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++/* Used to keep track of the number of queries. */ ++static volatile unsigned int queries; ++ ++/* If true, add a large TXT record at the start of the answer section. */ ++static volatile bool stuff_txt; ++ ++static void ++response (const struct resolv_response_context *ctx, ++ struct resolv_response_builder *b, ++ const char *qname, uint16_t qclass, uint16_t qtype) ++{ ++ /* If not using TCP, just force its use. */ ++ if (!ctx->tcp) ++ { ++ struct resolv_response_flags flags = {.tc = true}; ++ resolv_response_init (b, flags); ++ resolv_response_add_question (b, qname, qclass, qtype); ++ return; ++ } ++ ++ /* The test needs to send four queries, the first three are used to ++ grow the NSS buffer via the ERANGE handshake. */ ++ ++queries; ++ TEST_VERIFY (queries <= 4); ++ ++ /* AAAA queries are supposed to be disabled. */ ++ TEST_COMPARE (qtype, T_A); ++ TEST_COMPARE (qclass, C_IN); ++ TEST_COMPARE_STRING (qname, "example.com"); ++ ++ struct resolv_response_flags flags = {}; ++ resolv_response_init (b, flags); ++ resolv_response_add_question (b, qname, qclass, qtype); ++ ++ resolv_response_section (b, ns_s_an); ++ ++ if (stuff_txt) ++ { ++ resolv_response_open_record (b, qname, qclass, T_TXT, 60); ++ int zero = 0; ++ for (int i = 0; i <= 15000; ++i) ++ resolv_response_add_data (b, &zero, sizeof (zero)); ++ resolv_response_close_record (b); ++ } ++ ++ for (int i = 0; i < 200; ++i) ++ { ++ resolv_response_open_record (b, qname, qclass, qtype, 60); ++ char ipv4[4] = {192, 0, 2, i + 1}; ++ resolv_response_add_data (b, &ipv4, sizeof (ipv4)); ++ resolv_response_close_record (b); ++ } ++} ++ ++static int ++do_test (void) ++{ ++ struct resolv_test *obj = resolv_test_start ++ ((struct resolv_redirect_config) ++ { ++ .response_callback = response ++ }); ++ ++ _res.options |= RES_NOAAAA; ++ ++ for (int do_stuff_txt = 0; do_stuff_txt < 2; ++do_stuff_txt) ++ { ++ queries = 0; ++ stuff_txt = do_stuff_txt; ++ ++ struct addrinfo *ai = NULL; ++ int ret; ++ ret = getaddrinfo ("example.com", "80", ++ &(struct addrinfo) ++ { ++ .ai_family = AF_UNSPEC, ++ .ai_socktype = SOCK_STREAM, ++ }, &ai); ++ ++ char *expected_result; ++ { ++ struct xmemstream mem; ++ xopen_memstream (&mem); ++ for (int i = 0; i < 200; ++i) ++ fprintf (mem.out, "address: STREAM/TCP 192.0.2.%d 80\n", i + 1); ++ xfclose_memstream (&mem); ++ expected_result = mem.buffer; ++ } ++ ++ check_addrinfo ("example.com", ai, ret, expected_result); ++ ++ free (expected_result); ++ freeaddrinfo (ai); ++ } ++ ++ resolv_test_end (obj); ++ return 0; ++} ++ ++#include +-- +2.42.0 + diff --git a/nscd-server-user.patch b/nscd-server-user.patch new file mode 100644 index 0000000..9b16665 --- /dev/null +++ b/nscd-server-user.patch @@ -0,0 +1,13 @@ +Index: glibc-2.27/nscd/nscd.conf +=================================================================== +--- glibc-2.27.orig/nscd/nscd.conf ++++ glibc-2.27/nscd/nscd.conf +@@ -33,7 +33,7 @@ + # logfile /var/log/nscd.log + # threads 4 + # max-threads 32 +-# server-user nobody ++ server-user nscd + # stat-user somebody + debug-level 0 + # reload-count 5 diff --git a/nscd.conf b/nscd.conf new file mode 100644 index 0000000..2f409b0 --- /dev/null +++ b/nscd.conf @@ -0,0 +1 @@ +d /run/nscd 0755 root root diff --git a/nscd.service b/nscd.service new file mode 100644 index 0000000..b9e0467 --- /dev/null +++ b/nscd.service @@ -0,0 +1,22 @@ +# systemd service file for nscd + +[Unit] +Description=Name Service Cache Daemon +After=sysinit.target +Wants=nss-lookup.target nss-user-lookup.target +Before=nss-lookup.target nss-user-lookup.target + +[Service] +Type=forking +ExecStart=/usr/sbin/nscd +ExecStop=/usr/sbin/nscd --shutdown +ExecReload=/usr/sbin/nscd -i passwd +ExecReload=/usr/sbin/nscd -i group +ExecReload=/usr/sbin/nscd -i hosts +ExecReload=/usr/sbin/nscd -i services +ExecReload=/usr/sbin/nscd -i netgroup +Restart=always +PIDFile=/run/nscd/nscd.pid + +[Install] +WantedBy=multi-user.target diff --git a/nscd.sysusers b/nscd.sysusers new file mode 100644 index 0000000..d4ece40 --- /dev/null +++ b/nscd.sysusers @@ -0,0 +1,2 @@ +#Type Name ID GECOS Home directory Shell +u nscd - "User for nscd" /run/nscd - diff --git a/nss-db-path.patch b/nss-db-path.patch new file mode 100644 index 0000000..302fcf7 --- /dev/null +++ b/nss-db-path.patch @@ -0,0 +1,41 @@ +Use /var/db for nss_db + +Index: glibc-2.27/Makeconfig +=================================================================== +--- glibc-2.27.orig/Makeconfig ++++ glibc-2.27/Makeconfig +@@ -245,7 +245,7 @@ inst_sysconfdir = $(install_root)$(sysco + + # Directory for the database files and Makefile for nss_db. + ifndef vardbdir +-vardbdir = $(localstatedir)/db ++vardbdir = /var/lib/misc + endif + inst_vardbdir = $(install_root)$(vardbdir) + +Index: glibc-2.27/nss/db-Makefile +=================================================================== +--- glibc-2.27.orig/nss/db-Makefile ++++ glibc-2.27/nss/db-Makefile +@@ -22,7 +22,7 @@ DATABASES = $(wildcard /etc/passwd /etc/ + /etc/rpc /etc/services /etc/shadow /etc/gshadow \ + /etc/netgroup) + +-VAR_DB = /var/db ++VAR_DB = /var/lib/misc + + AWK = awk + MAKEDB = makedb --quiet +Index: glibc-2.27/sysdeps/unix/sysv/linux/paths.h +=================================================================== +--- glibc-2.27.orig/sysdeps/unix/sysv/linux/paths.h ++++ glibc-2.27/sysdeps/unix/sysv/linux/paths.h +@@ -68,7 +68,7 @@ + /* Provide trailing slash, since mostly used for building pathnames. */ + #define _PATH_DEV "/dev/" + #define _PATH_TMP "/tmp/" +-#define _PATH_VARDB "/var/db/" ++#define _PATH_VARDB "/var/lib/misc/" + #define _PATH_VARRUN "/var/run/" + #define _PATH_VARTMP "/var/tmp/" + diff --git a/nsswitch.conf b/nsswitch.conf new file mode 100644 index 0000000..4095b8c --- /dev/null +++ b/nsswitch.conf @@ -0,0 +1,75 @@ +# +# /etc/nsswitch.conf +# +# An example Name Service Switch config file. This file should be +# sorted with the most-used services at the beginning. +# +# Valid databases are: aliases, ethers, group, gshadow, hosts, +# initgroups, netgroup, networks, passwd, protocols, publickey, +# rpc, services, and shadow. +# +# Valid service provider entries include (in alphabetical order): +# +# compat Use /etc files plus *_compat pseudo-db +# db Use the pre-processed /var/db files +# dns Use DNS (Domain Name Service) +# files Use the local files in /etc +# hesiod Use Hesiod (DNS) for user lookups +# nis Use NIS (NIS version 2), also called YP +# nisplus Use NIS+ (NIS version 3) +# +# See `info libc 'NSS Basics'` for more information. +# +# Commonly used alternative service providers (may need installation): +# +# ldap Use LDAP directory server +# myhostname Use systemd host names +# mymachines Use systemd machine names +# mdns*, mdns*_minimal Use Avahi mDNS/DNS-SD +# resolve Use systemd resolved resolver +# sss Use System Security Services Daemon (sssd) +# systemd Use systemd for dynamic user option +# winbind Use Samba winbind support +# wins Use Samba wins support +# wrapper Use wrapper module for testing +# +# Notes: +# +# 'sssd' performs its own 'files'-based caching, so it should generally +# come before 'files'. +# +# WARNING: Running nscd with a secondary caching service like sssd may +# lead to unexpected behaviour, especially with how long +# entries are cached. +# +# Installation instructions: +# +# To use 'db', install the appropriate package(s) (provide 'makedb' and +# libnss_db.so.*), and place the 'db' in front of 'files' for entries +# you want to be looked up first in the databases, like this: +# +# passwd: db files +# shadow: db files +# group: db files + +passwd: compat systemd +group: compat systemd +shadow: compat +# Allow initgroups to default to the setting for group. +# initgroups: compat + +hosts: files dns +networks: files dns + +aliases: files usrfiles +ethers: files usrfiles +gshadow: files usrfiles +netgroup: files nis +protocols: files usrfiles +publickey: files +rpc: files usrfiles +services: files usrfiles + +automount: files nis +bootparams: files +netmasks: files diff --git a/posix-memalign-fragmentation.patch b/posix-memalign-fragmentation.patch new file mode 100644 index 0000000..50d9fed --- /dev/null +++ b/posix-memalign-fragmentation.patch @@ -0,0 +1,554 @@ +From 542b1105852568c3ebc712225ae78b8c8ba31a78 Mon Sep 17 00:00:00 2001 +From: Florian Weimer +Date: Fri, 11 Aug 2023 11:18:17 +0200 +Subject: [PATCH] malloc: Enable merging of remainders in memalign (bug 30723) + +Previously, calling _int_free from _int_memalign could put remainders +into the tcache or into fastbins, where they are invisible to the +low-level allocator. This results in missed merge opportunities +because once these freed chunks become available to the low-level +allocator, further memalign allocations (even of the same size are) +likely obstructing merges. + +Furthermore, during forwards merging in _int_memalign, do not +completely give up when the remainder is too small to serve as a +chunk on its own. We can still give it back if it can be merged +with the following unused chunk. This makes it more likely that +memalign calls in a loop achieve a compact memory layout, +independently of initial heap layout. + +Drop some useless (unsigned long) casts along the way, and tweak +the style to more closely match GNU on changed lines. + +Reviewed-by: DJ Delorie +--- + malloc/malloc.c | 197 +++++++++++++++++++++++++++++------------------- + 1 file changed, 121 insertions(+), 76 deletions(-) + +diff --git a/malloc/malloc.c b/malloc/malloc.c +index e2f1a615a4..948f9759af 100644 +--- a/malloc/malloc.c ++++ b/malloc/malloc.c +@@ -1086,6 +1086,11 @@ typedef struct malloc_chunk* mchunkptr; + + static void* _int_malloc(mstate, size_t); + static void _int_free(mstate, mchunkptr, int); ++static void _int_free_merge_chunk (mstate, mchunkptr, INTERNAL_SIZE_T); ++static INTERNAL_SIZE_T _int_free_create_chunk (mstate, ++ mchunkptr, INTERNAL_SIZE_T, ++ mchunkptr, INTERNAL_SIZE_T); ++static void _int_free_maybe_consolidate (mstate, INTERNAL_SIZE_T); + static void* _int_realloc(mstate, mchunkptr, INTERNAL_SIZE_T, + INTERNAL_SIZE_T); + static void* _int_memalign(mstate, size_t, size_t); +@@ -4637,31 +4642,52 @@ _int_free (mstate av, mchunkptr p, int have_lock) + if (!have_lock) + __libc_lock_lock (av->mutex); + +- nextchunk = chunk_at_offset(p, size); +- +- /* Lightweight tests: check whether the block is already the +- top block. */ +- if (__glibc_unlikely (p == av->top)) +- malloc_printerr ("double free or corruption (top)"); +- /* Or whether the next chunk is beyond the boundaries of the arena. */ +- if (__builtin_expect (contiguous (av) +- && (char *) nextchunk +- >= ((char *) av->top + chunksize(av->top)), 0)) +- malloc_printerr ("double free or corruption (out)"); +- /* Or whether the block is actually not marked used. */ +- if (__glibc_unlikely (!prev_inuse(nextchunk))) +- malloc_printerr ("double free or corruption (!prev)"); +- +- nextsize = chunksize(nextchunk); +- if (__builtin_expect (chunksize_nomask (nextchunk) <= CHUNK_HDR_SZ, 0) +- || __builtin_expect (nextsize >= av->system_mem, 0)) +- malloc_printerr ("free(): invalid next size (normal)"); ++ _int_free_merge_chunk (av, p, size); + +- free_perturb (chunk2mem(p), size - CHUNK_HDR_SZ); ++ if (!have_lock) ++ __libc_lock_unlock (av->mutex); ++ } ++ /* ++ If the chunk was allocated via mmap, release via munmap(). ++ */ ++ ++ else { ++ munmap_chunk (p); ++ } ++} ++ ++/* Try to merge chunk P of SIZE bytes with its neighbors. Put the ++ resulting chunk on the appropriate bin list. P must not be on a ++ bin list yet, and it can be in use. */ ++static void ++_int_free_merge_chunk (mstate av, mchunkptr p, INTERNAL_SIZE_T size) ++{ ++ mchunkptr nextchunk = chunk_at_offset(p, size); ++ ++ /* Lightweight tests: check whether the block is already the ++ top block. */ ++ if (__glibc_unlikely (p == av->top)) ++ malloc_printerr ("double free or corruption (top)"); ++ /* Or whether the next chunk is beyond the boundaries of the arena. */ ++ if (__builtin_expect (contiguous (av) ++ && (char *) nextchunk ++ >= ((char *) av->top + chunksize(av->top)), 0)) ++ malloc_printerr ("double free or corruption (out)"); ++ /* Or whether the block is actually not marked used. */ ++ if (__glibc_unlikely (!prev_inuse(nextchunk))) ++ malloc_printerr ("double free or corruption (!prev)"); ++ ++ INTERNAL_SIZE_T nextsize = chunksize(nextchunk); ++ if (__builtin_expect (chunksize_nomask (nextchunk) <= CHUNK_HDR_SZ, 0) ++ || __builtin_expect (nextsize >= av->system_mem, 0)) ++ malloc_printerr ("free(): invalid next size (normal)"); ++ ++ free_perturb (chunk2mem(p), size - CHUNK_HDR_SZ); + +- /* consolidate backward */ +- if (!prev_inuse(p)) { +- prevsize = prev_size (p); ++ /* Consolidate backward. */ ++ if (!prev_inuse(p)) ++ { ++ INTERNAL_SIZE_T prevsize = prev_size (p); + size += prevsize; + p = chunk_at_offset(p, -((long) prevsize)); + if (__glibc_unlikely (chunksize(p) != prevsize)) +@@ -4669,9 +4695,25 @@ _int_free (mstate av, mchunkptr p, int have_lock) + unlink_chunk (av, p); + } + +- if (nextchunk != av->top) { ++ /* Write the chunk header, maybe after merging with the following chunk. */ ++ size = _int_free_create_chunk (av, p, size, nextchunk, nextsize); ++ _int_free_maybe_consolidate (av, size); ++} ++ ++/* Create a chunk at P of SIZE bytes, with SIZE potentially increased ++ to cover the immediately following chunk NEXTCHUNK of NEXTSIZE ++ bytes (if NEXTCHUNK is unused). The chunk at P is not actually ++ read and does not have to be initialized. After creation, it is ++ placed on the appropriate bin list. The function returns the size ++ of the new chunk. */ ++static INTERNAL_SIZE_T ++_int_free_create_chunk (mstate av, mchunkptr p, INTERNAL_SIZE_T size, ++ mchunkptr nextchunk, INTERNAL_SIZE_T nextsize) ++{ ++ if (nextchunk != av->top) ++ { + /* get and clear inuse bit */ +- nextinuse = inuse_bit_at_offset(nextchunk, nextsize); ++ bool nextinuse = inuse_bit_at_offset (nextchunk, nextsize); + + /* consolidate forward */ + if (!nextinuse) { +@@ -4686,8 +4728,8 @@ _int_free (mstate av, mchunkptr p, int have_lock) + been given one chance to be used in malloc. + */ + +- bck = unsorted_chunks(av); +- fwd = bck->fd; ++ mchunkptr bck = unsorted_chunks (av); ++ mchunkptr fwd = bck->fd; + if (__glibc_unlikely (fwd->bk != bck)) + malloc_printerr ("free(): corrupted unsorted chunks"); + p->fd = fwd; +@@ -4706,61 +4748,52 @@ _int_free (mstate av, mchunkptr p, int have_lock) + check_free_chunk(av, p); + } + +- /* +- If the chunk borders the current high end of memory, +- consolidate into top +- */ +- +- else { ++ else ++ { ++ /* If the chunk borders the current high end of memory, ++ consolidate into top. */ + size += nextsize; + set_head(p, size | PREV_INUSE); + av->top = p; + check_chunk(av, p); + } + +- /* +- If freeing a large space, consolidate possibly-surrounding +- chunks. Then, if the total unused topmost memory exceeds trim +- threshold, ask malloc_trim to reduce top. +- +- Unless max_fast is 0, we don't know if there are fastbins +- bordering top, so we cannot tell for sure whether threshold +- has been reached unless fastbins are consolidated. But we +- don't want to consolidate on each free. As a compromise, +- consolidation is performed if FASTBIN_CONSOLIDATION_THRESHOLD +- is reached. +- */ ++ return size; ++} + +- if ((unsigned long)(size) >= FASTBIN_CONSOLIDATION_THRESHOLD) { ++/* If freeing a large space, consolidate possibly-surrounding ++ chunks. Then, if the total unused topmost memory exceeds trim ++ threshold, ask malloc_trim to reduce top. */ ++static void ++_int_free_maybe_consolidate (mstate av, INTERNAL_SIZE_T size) ++{ ++ /* Unless max_fast is 0, we don't know if there are fastbins ++ bordering top, so we cannot tell for sure whether threshold has ++ been reached unless fastbins are consolidated. But we don't want ++ to consolidate on each free. As a compromise, consolidation is ++ performed if FASTBIN_CONSOLIDATION_THRESHOLD is reached. */ ++ if (size >= FASTBIN_CONSOLIDATION_THRESHOLD) ++ { + if (atomic_load_relaxed (&av->have_fastchunks)) + malloc_consolidate(av); + +- if (av == &main_arena) { ++ if (av == &main_arena) ++ { + #ifndef MORECORE_CANNOT_TRIM +- if ((unsigned long)(chunksize(av->top)) >= +- (unsigned long)(mp_.trim_threshold)) +- systrim(mp_.top_pad, av); ++ if (chunksize (av->top) >= mp_.trim_threshold) ++ systrim (mp_.top_pad, av); + #endif +- } else { +- /* Always try heap_trim(), even if the top chunk is not +- large, because the corresponding heap might go away. */ +- heap_info *heap = heap_for_ptr(top(av)); ++ } ++ else ++ { ++ /* Always try heap_trim, even if the top chunk is not large, ++ because the corresponding heap might go away. */ ++ heap_info *heap = heap_for_ptr (top (av)); + +- assert(heap->ar_ptr == av); +- heap_trim(heap, mp_.top_pad); +- } ++ assert (heap->ar_ptr == av); ++ heap_trim (heap, mp_.top_pad); ++ } + } +- +- if (!have_lock) +- __libc_lock_unlock (av->mutex); +- } +- /* +- If the chunk was allocated via mmap, release via munmap(). +- */ +- +- else { +- munmap_chunk (p); +- } + } + + /* +@@ -5221,7 +5254,7 @@ _int_memalign (mstate av, size_t alignment, size_t bytes) + (av != &main_arena ? NON_MAIN_ARENA : 0)); + set_inuse_bit_at_offset (newp, newsize); + set_head_size (p, leadsize | (av != &main_arena ? NON_MAIN_ARENA : 0)); +- _int_free (av, p, 1); ++ _int_free_merge_chunk (av, p, leadsize); + p = newp; + + assert (newsize >= nb && +@@ -5232,15 +5265,27 @@ _int_memalign (mstate av, size_t alignment, size_t bytes) + if (!chunk_is_mmapped (p)) + { + size = chunksize (p); +- if ((unsigned long) (size) > (unsigned long) (nb + MINSIZE)) ++ mchunkptr nextchunk = chunk_at_offset(p, size); ++ INTERNAL_SIZE_T nextsize = chunksize(nextchunk); ++ if (size > nb) + { + remainder_size = size - nb; +- remainder = chunk_at_offset (p, nb); +- set_head (remainder, remainder_size | PREV_INUSE | +- (av != &main_arena ? NON_MAIN_ARENA : 0)); +- set_head_size (p, nb); +- _int_free (av, remainder, 1); +- } ++ if (remainder_size >= MINSIZE ++ || nextchunk == av->top ++ || !inuse_bit_at_offset (nextchunk, nextsize)) ++ { ++ /* We can only give back the tail if it is larger than ++ MINSIZE, or if the following chunk is unused (top ++ chunk or unused in-heap chunk). Otherwise we would ++ create a chunk that is smaller than MINSIZE. */ ++ remainder = chunk_at_offset (p, nb); ++ set_head_size (p, nb); ++ remainder_size = _int_free_create_chunk (av, remainder, ++ remainder_size, ++ nextchunk, nextsize); ++ _int_free_maybe_consolidate (av, remainder_size); ++ } ++ } + } + + check_inuse_chunk (av, p); +-- +2.41.0 + +From 0dc7fc1cf094406a138e4d1bcf9553e59edcf89d Mon Sep 17 00:00:00 2001 +From: Florian Weimer +Date: Thu, 10 Aug 2023 19:36:56 +0200 +Subject: [PATCH] malloc: Remove bin scanning from memalign (bug 30723) + +On the test workload (mpv --cache=yes with VP9 video decoding), the +bin scanning has a very poor success rate (less than 2%). The tcache +scanning has about 50% success rate, so keep that. + +Update comments in malloc/tst-memalign-2 to indicate the purpose +of the tests. Even with the scanning removed, the additional +merging opportunities since commit 542b1105852568c3ebc712225ae78b +("malloc: Enable merging of remainders in memalign (bug 30723)") +are sufficient to pass the existing large bins test. + +Remove leftover variables from _int_free from refactoring in the +same commit. + +Reviewed-by: DJ Delorie +--- + malloc/malloc.c | 169 ++-------------------------------------- + malloc/tst-memalign-2.c | 7 +- + 2 files changed, 10 insertions(+), 166 deletions(-) + +diff --git a/malloc/malloc.c b/malloc/malloc.c +index 948f9759af..d0bbbf3710 100644 +--- a/malloc/malloc.c ++++ b/malloc/malloc.c +@@ -4488,12 +4488,6 @@ _int_free (mstate av, mchunkptr p, int have_lock) + { + INTERNAL_SIZE_T size; /* its size */ + mfastbinptr *fb; /* associated fastbin */ +- mchunkptr nextchunk; /* next contiguous chunk */ +- INTERNAL_SIZE_T nextsize; /* its size */ +- int nextinuse; /* true if nextchunk is used */ +- INTERNAL_SIZE_T prevsize; /* size of previous contiguous chunk */ +- mchunkptr bck; /* misc temp for linking */ +- mchunkptr fwd; /* misc temp for linking */ + + size = chunksize (p); + +@@ -5032,42 +5026,6 @@ _int_realloc (mstate av, mchunkptr oldp, INTERNAL_SIZE_T oldsize, + ------------------------------ memalign ------------------------------ + */ + +-/* Returns 0 if the chunk is not and does not contain the requested +- aligned sub-chunk, else returns the amount of "waste" from +- trimming. NB is the *chunk* byte size, not the user byte +- size. */ +-static size_t +-chunk_ok_for_memalign (mchunkptr p, size_t alignment, size_t nb) +-{ +- void *m = chunk2mem (p); +- INTERNAL_SIZE_T size = chunksize (p); +- void *aligned_m = m; +- +- if (__glibc_unlikely (misaligned_chunk (p))) +- malloc_printerr ("_int_memalign(): unaligned chunk detected"); +- +- aligned_m = PTR_ALIGN_UP (m, alignment); +- +- INTERNAL_SIZE_T front_extra = (intptr_t) aligned_m - (intptr_t) m; +- +- /* We can't trim off the front as it's too small. */ +- if (front_extra > 0 && front_extra < MINSIZE) +- return 0; +- +- /* If it's a perfect fit, it's an exception to the return value rule +- (we would return zero waste, which looks like "not usable"), so +- handle it here by returning a small non-zero value instead. */ +- if (size == nb && front_extra == 0) +- return 1; +- +- /* If the block we need fits in the chunk, calculate total waste. */ +- if (size > nb + front_extra) +- return size - nb; +- +- /* Can't use this chunk. */ +- return 0; +-} +- + /* BYTES is user requested bytes, not requested chunksize bytes. */ + static void * + _int_memalign (mstate av, size_t alignment, size_t bytes) +@@ -5082,7 +5040,6 @@ _int_memalign (mstate av, size_t alignment, size_t bytes) + mchunkptr remainder; /* spare room at end to split off */ + unsigned long remainder_size; /* its size */ + INTERNAL_SIZE_T size; +- mchunkptr victim; + + nb = checked_request2size (bytes); + if (nb == 0) +@@ -5101,129 +5058,13 @@ _int_memalign (mstate av, size_t alignment, size_t bytes) + we don't find anything in those bins, the common malloc code will + scan starting at 2x. */ + +- /* This will be set if we found a candidate chunk. */ +- victim = NULL; +- +- /* Fast bins are singly-linked, hard to remove a chunk from the middle +- and unlikely to meet our alignment requirements. We have not done +- any experimentation with searching for aligned fastbins. */ +- +- if (av != NULL) +- { +- int first_bin_index; +- int first_largebin_index; +- int last_bin_index; +- +- if (in_smallbin_range (nb)) +- first_bin_index = smallbin_index (nb); +- else +- first_bin_index = largebin_index (nb); +- +- if (in_smallbin_range (nb * 2)) +- last_bin_index = smallbin_index (nb * 2); +- else +- last_bin_index = largebin_index (nb * 2); +- +- first_largebin_index = largebin_index (MIN_LARGE_SIZE); +- +- int victim_index; /* its bin index */ +- +- for (victim_index = first_bin_index; +- victim_index < last_bin_index; +- victim_index ++) +- { +- victim = NULL; +- +- if (victim_index < first_largebin_index) +- { +- /* Check small bins. Small bin chunks are doubly-linked despite +- being the same size. */ +- +- mchunkptr fwd; /* misc temp for linking */ +- mchunkptr bck; /* misc temp for linking */ +- +- bck = bin_at (av, victim_index); +- fwd = bck->fd; +- while (fwd != bck) +- { +- if (chunk_ok_for_memalign (fwd, alignment, nb) > 0) +- { +- victim = fwd; +- +- /* Unlink it */ +- victim->fd->bk = victim->bk; +- victim->bk->fd = victim->fd; +- break; +- } +- +- fwd = fwd->fd; +- } +- } +- else +- { +- /* Check large bins. */ +- mchunkptr fwd; /* misc temp for linking */ +- mchunkptr bck; /* misc temp for linking */ +- mchunkptr best = NULL; +- size_t best_size = 0; +- +- bck = bin_at (av, victim_index); +- fwd = bck->fd; ++ /* Call malloc with worst case padding to hit alignment. */ ++ m = (char *) (_int_malloc (av, nb + alignment + MINSIZE)); + +- while (fwd != bck) +- { +- int extra; +- +- if (chunksize (fwd) < nb) +- break; +- extra = chunk_ok_for_memalign (fwd, alignment, nb); +- if (extra > 0 +- && (extra <= best_size || best == NULL)) +- { +- best = fwd; +- best_size = extra; +- } ++ if (m == 0) ++ return 0; /* propagate failure */ + +- fwd = fwd->fd; +- } +- victim = best; +- +- if (victim != NULL) +- { +- unlink_chunk (av, victim); +- break; +- } +- } +- +- if (victim != NULL) +- break; +- } +- } +- +- /* Strategy: find a spot within that chunk that meets the alignment +- request, and then possibly free the leading and trailing space. +- This strategy is incredibly costly and can lead to external +- fragmentation if header and footer chunks are unused. */ +- +- if (victim != NULL) +- { +- p = victim; +- m = chunk2mem (p); +- set_inuse (p); +- if (av != &main_arena) +- set_non_main_arena (p); +- } +- else +- { +- /* Call malloc with worst case padding to hit alignment. */ +- +- m = (char *) (_int_malloc (av, nb + alignment + MINSIZE)); +- +- if (m == 0) +- return 0; /* propagate failure */ +- +- p = mem2chunk (m); +- } ++ p = mem2chunk (m); + + if ((((unsigned long) (m)) % alignment) != 0) /* misaligned */ + { +diff --git a/malloc/tst-memalign-2.c b/malloc/tst-memalign-2.c +index f229283dbf..ecd6fa249e 100644 +--- a/malloc/tst-memalign-2.c ++++ b/malloc/tst-memalign-2.c +@@ -86,7 +86,8 @@ do_test (void) + TEST_VERIFY (tcache_allocs[i].ptr1 == tcache_allocs[i].ptr2); + } + +- /* Test for non-head tcache hits. */ ++ /* Test for non-head tcache hits. This exercises the memalign ++ scanning code to find matching allocations. */ + for (i = 0; i < array_length (ptr); ++ i) + { + if (i == 4) +@@ -113,7 +114,9 @@ do_test (void) + free (p); + TEST_VERIFY (count > 0); + +- /* Large bins test. */ ++ /* Large bins test. This verifies that the over-allocated parts ++ that memalign releases for future allocations can be reused by ++ memalign itself at least in some cases. */ + + for (i = 0; i < LN; ++ i) + { +-- +2.41.0 + diff --git a/ppc64-flock-fob64.patch b/ppc64-flock-fob64.patch new file mode 100644 index 0000000..55c9b2f --- /dev/null +++ b/ppc64-flock-fob64.patch @@ -0,0 +1,76 @@ +From 434bf72a94de68f0cc7fbf3c44bf38c1911b70cb Mon Sep 17 00:00:00 2001 +From: Aurelien Jarno +Date: Mon, 28 Aug 2023 23:30:37 +0200 +Subject: [PATCH] io: Fix record locking contants for powerpc64 with + __USE_FILE_OFFSET64 + +Commit 5f828ff824e3b7cd1 ("io: Fix F_GETLK, F_SETLK, and F_SETLKW for +powerpc64") fixed an issue with the value of the lock constants on +powerpc64 when not using __USE_FILE_OFFSET64, but it ended-up also +changing the value when using __USE_FILE_OFFSET64 causing an API change. + +Fix that by also checking that define, restoring the pre +4d0fe291aed3a476a commit values: + +Default values: +- F_GETLK: 5 +- F_SETLK: 6 +- F_SETLKW: 7 + +With -D_FILE_OFFSET_BITS=64: +- F_GETLK: 12 +- F_SETLK: 13 +- F_SETLKW: 14 + +At the same time, it has been noticed that there was no test for io lock +with __USE_FILE_OFFSET64, so just add one. + +Tested on x86_64-linux-gnu, i686-linux-gnu and +powerpc64le-unknown-linux-gnu. + +Resolves: BZ #30804. +Co-authored-by: Adhemerval Zanella +Signed-off-by: Aurelien Jarno +--- + io/Makefile | 1 + + io/tst-fcntl-lock-lfs.c | 2 ++ + sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h | 2 +- + 3 files changed, 4 insertions(+), 1 deletion(-) + create mode 100644 io/tst-fcntl-lock-lfs.c + +diff --git a/io/Makefile b/io/Makefile +index 6ccc0e8691..8a3c83a3bb 100644 +--- a/io/Makefile ++++ b/io/Makefile +@@ -192,6 +192,7 @@ tests := \ + tst-fchownat \ + tst-fcntl \ + tst-fcntl-lock \ ++ tst-fcntl-lock-lfs \ + tst-fstatat \ + tst-fts \ + tst-fts-lfs \ +diff --git a/io/tst-fcntl-lock-lfs.c b/io/tst-fcntl-lock-lfs.c +new file mode 100644 +index 0000000000..f2a909fb02 +--- /dev/null ++++ b/io/tst-fcntl-lock-lfs.c +@@ -0,0 +1,2 @@ ++#define _FILE_OFFSET_BITS 64 ++#include +diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h b/sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h +index f7615a447e..d8a291a331 100644 +--- a/sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h ++++ b/sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h +@@ -33,7 +33,7 @@ + # define __O_LARGEFILE 0200000 + #endif + +-#if __WORDSIZE == 64 ++#if __WORDSIZE == 64 && !defined __USE_FILE_OFFSET64 + # define F_GETLK 5 + # define F_SETLK 6 + # define F_SETLKW 7 +-- +2.42.0 + diff --git a/qsort-invalid-cmp.patch b/qsort-invalid-cmp.patch new file mode 100644 index 0000000..e90caf8 --- /dev/null +++ b/qsort-invalid-cmp.patch @@ -0,0 +1,29 @@ +Index: glibc-2.38/stdlib/qsort.c +=================================================================== +--- glibc-2.38.orig/stdlib/qsort.c ++++ glibc-2.38/stdlib/qsort.c +@@ -136,10 +136,12 @@ _quicksort (void *const pbase, size_t to + that this algorithm runs much faster than others. */ + do + { +- while ((*cmp) ((void *) left_ptr, (void *) mid, arg) < 0) ++ while (left_ptr != mid ++ && (*cmp) ((void *) left_ptr, (void *) mid, arg) < 0) + left_ptr += size; + +- while ((*cmp) ((void *) mid, (void *) right_ptr, arg) < 0) ++ while (right_ptr != mid ++ && (*cmp) ((void *) mid, (void *) right_ptr, arg) < 0) + right_ptr -= size; + + if (left_ptr < right_ptr) +@@ -224,7 +226,8 @@ _quicksort (void *const pbase, size_t to + while ((run_ptr += size) <= end_ptr) + { + tmp_ptr = run_ptr - size; +- while ((*cmp) ((void *) run_ptr, (void *) tmp_ptr, arg) < 0) ++ while (tmp_ptr != base_ptr ++ && (*cmp) ((void *) run_ptr, (void *) tmp_ptr, arg) < 0) + tmp_ptr -= size; + + tmp_ptr += size; diff --git a/s390-clone-error-clobber-r7.patch b/s390-clone-error-clobber-r7.patch new file mode 100644 index 0000000..d41172f --- /dev/null +++ b/s390-clone-error-clobber-r7.patch @@ -0,0 +1,157 @@ +From ee4806e978467d705b26ccb7dfddb9e0a710f8e4 Mon Sep 17 00:00:00 2001 +From: Stefan Liebler +Date: Thu, 22 Feb 2024 15:03:27 +0100 +Subject: [PATCH] S390: Do not clobber r7 in clone [BZ #31402] + +Starting with commit e57d8fc97b90127de4ed3e3a9cdf663667580935 +"S390: Always use svc 0" +clone clobbers the call-saved register r7 in error case: +function or stack is NULL. + +This patch restores the saved registers also in the error case. +Furthermore the existing test misc/tst-clone is extended to check +all error cases and that clone does not clobber registers in this +error case. + +(cherry picked from commit 02782fd12849b6673cb5c2728cb750e8ec295aa3) +Note: Added ia64 __clone2 call to tst-clone.c. +--- + sysdeps/unix/sysv/linux/s390/s390-32/clone.S | 1 + + sysdeps/unix/sysv/linux/s390/s390-64/clone.S | 1 + + sysdeps/unix/sysv/linux/tst-clone.c | 76 ++++++++++++++++---- + 3 files changed, 65 insertions(+), 13 deletions(-) + +diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/clone.S b/sysdeps/unix/sysv/linux/s390/s390-32/clone.S +index 5d8d873383..fd1e509cf4 100644 +--- a/sysdeps/unix/sysv/linux/s390/s390-32/clone.S ++++ b/sysdeps/unix/sysv/linux/s390/s390-32/clone.S +@@ -53,6 +53,7 @@ ENTRY(__clone) + br %r14 + error: + lhi %r2,-EINVAL ++ lm %r6,%r7,24(%r15) /* Load registers. */ + j SYSCALL_ERROR_LABEL + PSEUDO_END (__clone) + +diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/clone.S b/sysdeps/unix/sysv/linux/s390/s390-64/clone.S +index f1c4288a3d..7b37b18010 100644 +--- a/sysdeps/unix/sysv/linux/s390/s390-64/clone.S ++++ b/sysdeps/unix/sysv/linux/s390/s390-64/clone.S +@@ -54,6 +54,7 @@ ENTRY(__clone) + br %r14 + error: + lghi %r2,-EINVAL ++ lmg %r6,%r7,48(%r15) /* Restore registers. */ + jg SYSCALL_ERROR_LABEL + PSEUDO_END (__clone) + +diff --git a/sysdeps/unix/sysv/linux/tst-clone.c b/sysdeps/unix/sysv/linux/tst-clone.c +index 56348707d4..95bd0f6ccb 100644 +--- a/sysdeps/unix/sysv/linux/tst-clone.c ++++ b/sysdeps/unix/sysv/linux/tst-clone.c +@@ -16,12 +16,16 @@ + License along with the GNU C Library; if not, see + . */ + +-/* BZ #2386 */ ++/* BZ #2386, BZ #31402 */ + #include + #include + #include + #include + #include ++#include /* For _STACK_GROWS_{UP,DOWN}. */ ++#include ++ ++volatile unsigned v = 0xdeadbeef; + + #ifdef __ia64__ + extern int __clone2 (int (*__fn) (void *__arg), void *__child_stack_base, +@@ -35,26 +39,72 @@ int child_fn(void *arg) + } + + static int +-do_test (void) ++__attribute__((noinline)) ++do_clone (int (*fn)(void *), void *stack) + { + int result; ++ unsigned int a = v; ++ unsigned int b = v; ++ unsigned int c = v; ++ unsigned int d = v; ++ unsigned int e = v; ++ unsigned int f = v; ++ unsigned int g = v; ++ unsigned int h = v; ++ unsigned int i = v; ++ unsigned int j = v; ++ unsigned int k = v; ++ unsigned int l = v; ++ unsigned int m = v; ++ unsigned int n = v; ++ unsigned int o = v; + + #ifdef __ia64__ +- result = __clone2 (child_fn, NULL, 0, 0, NULL, NULL, NULL); ++ result = __clone2 (fn, stack, stack != NULL ? 128 * 1024 : 0, 0, NULL, NULL, ++ NULL); ++#else ++ result = clone (fn, stack, 0, NULL); ++#endif ++ ++ /* Check that clone does not clobber call-saved registers. */ ++ TEST_VERIFY (a == v && b == v && c == v && d == v && e == v && f == v ++ && g == v && h == v && i == v && j == v && k == v && l == v ++ && m == v && n == v && o == v); ++ ++ return result; ++} ++ ++static void ++__attribute__((noinline)) ++do_test_single (int (*fn)(void *), void *stack) ++{ ++ printf ("%s (fn=%p, stack=%p)\n", __FUNCTION__, fn, stack); ++ errno = 0; ++ ++ int result = do_clone (fn, stack); ++ ++ TEST_COMPARE (errno, EINVAL); ++ TEST_COMPARE (result, -1); ++} ++ ++static int ++do_test (void) ++{ ++ char st[128 * 1024] __attribute__ ((aligned)); ++ void *stack = NULL; ++#if defined __ia64__ || _STACK_GROWS_UP ++ stack = st; ++#elif _STACK_GROWS_DOWN ++ stack = st + sizeof (st); + #else +- result = clone (child_fn, NULL, 0, NULL); ++# error "Define either _STACK_GROWS_DOWN or _STACK_GROWS_UP" + #endif + +- if (errno != EINVAL || result != -1) +- { +- printf ("FAIL: clone()=%d (wanted -1) errno=%d (wanted %d)\n", +- result, errno, EINVAL); +- return 1; +- } ++ do_test_single (child_fn, NULL); ++ do_test_single (NULL, stack); ++ do_test_single (NULL, NULL); + +- puts ("All OK"); + return 0; + } + +-#define TEST_FUNCTION do_test () +-#include "../test-skeleton.c" ++#include +-- +2.44.0 + diff --git a/sem-open-o-creat.patch b/sem-open-o-creat.patch new file mode 100644 index 0000000..d457ad0 --- /dev/null +++ b/sem-open-o-creat.patch @@ -0,0 +1,92 @@ +From 63dbbc5c52f9823f86270f32fce20d1e91cdf484 Mon Sep 17 00:00:00 2001 +From: Sergio Durigan Junior +Date: Wed, 1 Nov 2023 18:15:23 -0400 +Subject: [PATCH] sysdeps: sem_open: Clear O_CREAT when semaphore file is + expected to exist [BZ #30789] + +When invoking sem_open with O_CREAT as one of its flags, we'll end up +in the second part of sem_open's "if ((oflag & O_CREAT) == 0 || (oflag +& O_EXCL) == 0)", which means that we don't expect the semaphore file +to exist. + +In that part, open_flags is initialized as "O_RDWR | O_CREAT | O_EXCL +| O_CLOEXEC" and there's an attempt to open(2) the file, which will +likely fail because it won't exist. After that first (expected) +failure, some cleanup is done and we go back to the label "try_again", +which lives in the first part of the aforementioned "if". + +The problem is that, in that part of the code, we expect the semaphore +file to exist, and as such O_CREAT (this time the flag we pass to +open(2)) needs to be cleaned from open_flags, otherwise we'll see +another failure (this time unexpected) when trying to open the file, +which will lead the call to sem_open to fail as well. + +This can cause very strange bugs, especially with OpenMPI, which makes +extensive use of semaphores. + +Fix the bug by simplifying the logic when choosing open(2) flags and +making sure O_CREAT is not set when the semaphore file is expected to +exist. + +A regression test for this issue would require a complex and cpu time +consuming logic, since to trigger the wrong code path is not +straightforward due the racy condition. There is a somewhat reliable +reproducer in the bug, but it requires using OpenMPI. + +This resolves BZ #30789. + +See also: https://bugs.launchpad.net/ubuntu/+source/h5py/+bug/2031912 + +Signed-off-by: Sergio Durigan Junior +Co-Authored-By: Simon Chopin +Co-Authored-By: Adhemerval Zanella Netto +Fixes: 533deafbdf189f5fbb280c28562dd43ace2f4b0f ("Use O_CLOEXEC in more places (BZ #15722)") +(cherry picked from commit f957f47df75b9fab995754011491edebc6feb147) +--- + NEWS | 2 ++ + sysdeps/pthread/sem_open.c | 10 ++++------ + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/sysdeps/pthread/sem_open.c b/sysdeps/pthread/sem_open.c +index e5db929d20..0e331a7445 100644 +--- a/sysdeps/pthread/sem_open.c ++++ b/sysdeps/pthread/sem_open.c +@@ -32,11 +32,12 @@ + # define __unlink unlink + #endif + ++#define SEM_OPEN_FLAGS (O_RDWR | O_NOFOLLOW | O_CLOEXEC) ++ + sem_t * + __sem_open (const char *name, int oflag, ...) + { + int fd; +- int open_flags; + sem_t *result; + + /* Check that shared futexes are supported. */ +@@ -65,10 +66,8 @@ __sem_open (const char *name, int oflag, ...) + /* If the semaphore object has to exist simply open it. */ + if ((oflag & O_CREAT) == 0 || (oflag & O_EXCL) == 0) + { +- open_flags = O_RDWR | O_NOFOLLOW | O_CLOEXEC; +- open_flags |= (oflag & ~(O_CREAT|O_ACCMODE)); + try_again: +- fd = __open (dirname.name, open_flags); ++ fd = __open (dirname.name, (oflag & O_EXCL) | SEM_OPEN_FLAGS); + + if (fd == -1) + { +@@ -135,8 +134,7 @@ __sem_open (const char *name, int oflag, ...) + } + + /* Open the file. Make sure we do not overwrite anything. */ +- open_flags = O_RDWR | O_CREAT | O_EXCL | O_CLOEXEC; +- fd = __open (tmpfname, open_flags, mode); ++ fd = __open (tmpfname, O_CREAT | O_EXCL | SEM_OPEN_FLAGS, mode); + if (fd == -1) + { + if (errno == EEXIST) +-- +2.43.0 + diff --git a/setxid-propagate-glibc-tunables.patch b/setxid-propagate-glibc-tunables.patch new file mode 100644 index 0000000..c94b734 --- /dev/null +++ b/setxid-propagate-glibc-tunables.patch @@ -0,0 +1,32 @@ +From 73e3fcd1a552783e66ff1f65c5f322e2f17a81d1 Mon Sep 17 00:00:00 2001 +From: Siddhesh Poyarekar +Date: Tue, 19 Sep 2023 13:25:40 -0400 +Subject: [PATCH] Propagate GLIBC_TUNABLES in setxid binaries + +GLIBC_TUNABLES scrubbing happens earlier than envvar scrubbing and some +tunables are required to propagate past setxid boundary, like their +env_alias. Rely on tunable scrubbing to clean out GLIBC_TUNABLES like +before, restoring behaviour in glibc 2.37 and earlier. + +Signed-off-by: Siddhesh Poyarekar +Reviewed-by: Carlos O'Donell +(cherry picked from commit 0d5f9ea97f1b39f2a855756078771673a68497e1) +--- + sysdeps/generic/unsecvars.h | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/sysdeps/generic/unsecvars.h b/sysdeps/generic/unsecvars.h +index 81397fb90b..8278c50a84 100644 +--- a/sysdeps/generic/unsecvars.h ++++ b/sysdeps/generic/unsecvars.h +@@ -4,7 +4,6 @@ + #define UNSECURE_ENVVARS \ + "GCONV_PATH\0" \ + "GETCONF_DIR\0" \ +- "GLIBC_TUNABLES\0" \ + "HOSTALIASES\0" \ + "LD_AUDIT\0" \ + "LD_DEBUG\0" \ +-- +2.42.0 + diff --git a/sle-nsswitch.conf b/sle-nsswitch.conf new file mode 100644 index 0000000..7e3ba34 --- /dev/null +++ b/sle-nsswitch.conf @@ -0,0 +1,75 @@ +# +# /etc/nsswitch.conf +# +# An example Name Service Switch config file. This file should be +# sorted with the most-used services at the beginning. +# +# Valid databases are: aliases, ethers, group, gshadow, hosts, +# initgroups, netgroup, networks, passwd, protocols, publickey, +# rpc, services, and shadow. +# +# Valid service provider entries include (in alphabetical order): +# +# compat Use /etc files plus *_compat pseudo-db +# db Use the pre-processed /var/db files +# dns Use DNS (Domain Name Service) +# files Use the local files in /etc +# hesiod Use Hesiod (DNS) for user lookups +# nis Use NIS (NIS version 2), also called YP +# nisplus Use NIS+ (NIS version 3) +# +# See `info libc 'NSS Basics'` for more information. +# +# Commonly used alternative service providers (may need installation): +# +# ldap Use LDAP directory server +# myhostname Use systemd host names +# mymachines Use systemd machine names +# mdns*, mdns*_minimal Use Avahi mDNS/DNS-SD +# resolve Use systemd resolved resolver +# sss Use System Security Services Daemon (sssd) +# systemd Use systemd for dynamic user option +# winbind Use Samba winbind support +# wins Use Samba wins support +# wrapper Use wrapper module for testing +# +# Notes: +# +# 'sssd' performs its own 'files'-based caching, so it should generally +# come before 'files'. +# +# WARNING: Running nscd with a secondary caching service like sssd may +# lead to unexpected behaviour, especially with how long +# entries are cached. +# +# Installation instructions: +# +# To use 'db', install the appropriate package(s) (provide 'makedb' and +# libnss_db.so.*), and place the 'db' in front of 'files' for entries +# you want to be looked up first in the databases, like this: +# +# passwd: db files +# shadow: db files +# group: db files + +passwd: compat +group: compat +shadow: compat +# Allow initgroups to default to the setting for group. +# initgroups: compat + +hosts: files dns +networks: files dns + +aliases: files usrfiles +ethers: files usrfiles +gshadow: files usrfiles +netgroup: files nis +protocols: files usrfiles +publickey: files +rpc: files usrfiles +services: files usrfiles + +automount: files nis +bootparams: files +netmasks: files diff --git a/syslog-buffer-overflow.patch b/syslog-buffer-overflow.patch new file mode 100644 index 0000000..cc17896 --- /dev/null +++ b/syslog-buffer-overflow.patch @@ -0,0 +1,213 @@ +diff --git a/misc/Makefile b/misc/Makefile +index 42899c2b6c..c273ec6974 100644 +--- a/misc/Makefile ++++ b/misc/Makefile +@@ -289,7 +289,10 @@ tests-special += $(objpfx)tst-error1-mem.out \ + $(objpfx)tst-allocate_once-mem.out + endif + +-tests-container := tst-syslog ++tests-container := \ ++ tst-syslog \ ++ tst-syslog-long-progname \ ++ # tests-container + + CFLAGS-select.c += -fexceptions -fasynchronous-unwind-tables + CFLAGS-tsearch.c += $(uses-callbacks) +@@ -351,6 +354,9 @@ $(objpfx)tst-allocate_once-mem.out: $(objpfx)tst-allocate_once.out + $(common-objpfx)malloc/mtrace $(objpfx)tst-allocate_once.mtrace > $@; \ + $(evaluate-test) + ++tst-syslog-long-progname-ENV = GLIBC_TUNABLES=glibc.malloc.check=3 \ ++ LD_PRELOAD=libc_malloc_debug.so.0 ++ + $(objpfx)tst-select: $(librt) + $(objpfx)tst-select-time64: $(librt) + $(objpfx)tst-pselect: $(librt) +diff --git a/misc/syslog.c b/misc/syslog.c +index 1b8cb722c5..4af87f54fd 100644 +--- a/misc/syslog.c ++++ b/misc/syslog.c +@@ -41,6 +41,7 @@ static char sccsid[] = "@(#)syslog.c 8.4 (Berkeley) 3/18/94"; + #include + #include + #include ++#include + + static int LogType = SOCK_DGRAM; /* type of socket connection */ + static int LogFile = -1; /* fd for log */ +@@ -124,8 +125,9 @@ __vsyslog_internal (int pri, const char *fmt, va_list ap, + { + /* Try to use a static buffer as an optimization. */ + char bufs[1024]; +- char *buf = NULL; +- size_t bufsize = 0; ++ char *buf = bufs; ++ size_t bufsize; ++ + int msgoff; + int saved_errno = errno; + +@@ -177,29 +179,55 @@ __vsyslog_internal (int pri, const char *fmt, va_list ap, + #define SYSLOG_HEADER_WITHOUT_TS(__pri, __msgoff) \ + "<%d>: %n", __pri, __msgoff + +- int l; ++ int l, vl; + if (has_ts) + l = __snprintf (bufs, sizeof bufs, + SYSLOG_HEADER (pri, timestamp, &msgoff, pid)); + else + l = __snprintf (bufs, sizeof bufs, + SYSLOG_HEADER_WITHOUT_TS (pri, &msgoff)); +- if (0 <= l && l < sizeof bufs) ++ if (l < 0) ++ goto out; ++ ++ char *pos; ++ size_t len; ++ ++ if (l < sizeof bufs) + { +- va_list apc; +- va_copy (apc, ap); ++ /* At this point, there is still a chance that we can print the ++ remaining part of the log into bufs and use that. */ ++ pos = bufs + l; ++ len = sizeof (bufs) - l; ++ } ++ else ++ { ++ buf = NULL; ++ /* We already know that bufs is too small to use for this log message. ++ The next vsnprintf into bufs is used only to calculate the total ++ required buffer length. We will discard bufs contents and allocate ++ an appropriately sized buffer later instead. */ ++ pos = bufs; ++ len = sizeof (bufs); ++ } + +- /* Restore errno for %m format. */ +- __set_errno (saved_errno); ++ { ++ va_list apc; ++ va_copy (apc, ap); + +- int vl = __vsnprintf_internal (bufs + l, sizeof bufs - l, fmt, apc, +- mode_flags); +- if (0 <= vl && vl < sizeof bufs - l) +- buf = bufs; +- bufsize = l + vl; ++ /* Restore errno for %m format. */ ++ __set_errno (saved_errno); + +- va_end (apc); +- } ++ vl = __vsnprintf_internal (pos, len, fmt, apc, mode_flags); ++ va_end (apc); ++ ++ if (vl < 0 || vl >= INT_MAX - l) ++ goto out; ++ ++ if (vl >= len) ++ buf = NULL; ++ ++ bufsize = l + vl; ++ } + + if (buf == NULL) + { +@@ -209,25 +237,37 @@ __vsyslog_internal (int pri, const char *fmt, va_list ap, + /* Tell the cancellation handler to free this buffer. */ + clarg.buf = buf; + ++ int cl; + if (has_ts) +- __snprintf (buf, l + 1, +- SYSLOG_HEADER (pri, timestamp, &msgoff, pid)); ++ cl = __snprintf (buf, l + 1, ++ SYSLOG_HEADER (pri, timestamp, &msgoff, pid)); + else +- __snprintf (buf, l + 1, +- SYSLOG_HEADER_WITHOUT_TS (pri, &msgoff)); ++ cl = __snprintf (buf, l + 1, ++ SYSLOG_HEADER_WITHOUT_TS (pri, &msgoff)); ++ if (cl != l) ++ goto out; + + va_list apc; + va_copy (apc, ap); +- __vsnprintf_internal (buf + l, bufsize - l + 1, fmt, apc, +- mode_flags); ++ cl = __vsnprintf_internal (buf + l, bufsize - l + 1, fmt, apc, ++ mode_flags); + va_end (apc); ++ ++ if (cl != vl) ++ goto out; + } + else + { ++ int bl; + /* Nothing much to do but emit an error message. */ +- bufsize = __snprintf (bufs, sizeof bufs, +- "out of memory[%d]", __getpid ()); ++ bl = __snprintf (bufs, sizeof bufs, ++ "out of memory[%d]", __getpid ()); ++ if (bl < 0 || bl >= sizeof bufs) ++ goto out; ++ ++ bufsize = bl; + buf = bufs; ++ msgoff = 0; + } + } + +diff --git a/misc/tst-syslog-long-progname.c b/misc/tst-syslog-long-progname.c +new file mode 100644 +index 0000000000..88f37a8a00 +--- /dev/null ++++ b/misc/tst-syslog-long-progname.c +@@ -0,0 +1,39 @@ ++/* Test heap buffer overflow in syslog with long __progname (CVE-2023-6246) ++ Copyright (C) 2023 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++#include ++#include ++ ++extern char * __progname; ++ ++static int ++do_test (void) ++{ ++ char long_progname[2048]; ++ ++ memset (long_progname, 'X', sizeof (long_progname) - 1); ++ long_progname[sizeof (long_progname) - 1] = '\0'; ++ ++ __progname = long_progname; ++ ++ syslog (LOG_INFO, "Hello, World!"); ++ ++ return 0; ++} ++ ++#include +diff --git a/misc/tst-syslog-long-progname.root/postclean.req b/misc/tst-syslog-long-progname.root/postclean.req +new file mode 100644 +index 0000000000..e69de29bb2 diff --git a/tls-modid-reuse.patch b/tls-modid-reuse.patch new file mode 100644 index 0000000..e6aeff3 --- /dev/null +++ b/tls-modid-reuse.patch @@ -0,0 +1,53 @@ +From ccdc4cba07684fe1397e1f5f134a0a827af98c04 Mon Sep 17 00:00:00 2001 +From: Hector Martin +Date: Tue, 28 Nov 2023 15:23:07 +0900 +Subject: [PATCH] elf: Fix TLS modid reuse generation assignment (BZ 29039) + +_dl_assign_tls_modid() assigns a slotinfo entry for a new module, but +does *not* do anything to the generation counter. The first time this +happens, the generation is zero and map_generation() returns the current +generation to be used during relocation processing. However, if +a slotinfo entry is later reused, it will already have a generation +assigned. If this generation has fallen behind the current global max +generation, then this causes an obsolete generation to be assigned +during relocation processing, as map_generation() returns this +generation if nonzero. _dl_add_to_slotinfo() eventually resets the +generation, but by then it is too late. This causes DTV updates to be +skipped, leading to NULL or broken TLS slot pointers and segfaults. + +Fix this by resetting the generation to zero in _dl_assign_tls_modid(), +so it behaves the same as the first time a slot is assigned. +_dl_add_to_slotinfo() will still assign the correct static generation +later during module load, but relocation processing will no longer use +an obsolete generation. + +Note that slotinfo entry (aka modid) reuse typically happens after a +dlclose and only TLS access via dynamic tlsdesc is affected. Because +tlsdesc is optimized to use the optional part of static TLS, dynamic +tlsdesc can be avoided by increasing the glibc.rtld.optional_static_tls +tunable to a large enough value, or by LD_PRELOAD-ing the affected +modules. + +Fixes bug 29039. + +Reviewed-by: Szabolcs Nagy +(cherry picked from commit 3921c5b40f293c57cb326f58713c924b0662ef59) +--- + elf/dl-tls.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/elf/dl-tls.c b/elf/dl-tls.c +index 99b83ca696..1f6f820819 100644 +--- a/elf/dl-tls.c ++++ b/elf/dl-tls.c +@@ -154,6 +154,7 @@ _dl_assign_tls_modid (struct link_map *l) + { + /* Mark the entry as used, so any dependency see it. */ + atomic_store_relaxed (&runp->slotinfo[result - disp].map, l); ++ atomic_store_relaxed (&runp->slotinfo[result - disp].gen, 0); + break; + } + +-- +2.43.0 + diff --git a/tunables-string-parsing.patch b/tunables-string-parsing.patch new file mode 100644 index 0000000..b15b613 --- /dev/null +++ b/tunables-string-parsing.patch @@ -0,0 +1,157 @@ +From 750a45a783906a19591fb8ff6b7841470f1f5701 Mon Sep 17 00:00:00 2001 +From: Siddhesh Poyarekar +Date: Tue, 19 Sep 2023 18:39:32 -0400 +Subject: [PATCH] tunables: Terminate if end of input is reached + (CVE-2023-4911) + +The string parsing routine may end up writing beyond bounds of tunestr +if the input tunable string is malformed, of the form name=name=val. +This gets processed twice, first as name=name=val and next as name=val, +resulting in tunestr being name=name=val:name=val, thus overflowing +tunestr. + +Terminate the parsing loop at the first instance itself so that tunestr +does not overflow. + +This also fixes up tst-env-setuid-tunables to actually handle failures +correct and add new tests to validate the fix for this CVE. + +Signed-off-by: Siddhesh Poyarekar +Reviewed-by: Carlos O'Donell +(cherry picked from commit 1056e5b4c3f2d90ed2b4a55f96add28da2f4c8fa) +--- + NEWS | 5 +++++ + elf/dl-tunables.c | 17 +++++++++------- + elf/tst-env-setuid-tunables.c | 37 +++++++++++++++++++++++++++-------- + 3 files changed, 44 insertions(+), 15 deletions(-) + +diff --git a/elf/dl-tunables.c b/elf/dl-tunables.c +index 62b7332d95..cae67efa0a 100644 +--- a/elf/dl-tunables.c ++++ b/elf/dl-tunables.c +@@ -180,11 +180,7 @@ parse_tunables (char *tunestr, char *valstring) + /* If we reach the end of the string before getting a valid name-value + pair, bail out. */ + if (p[len] == '\0') +- { +- if (__libc_enable_secure) +- tunestr[off] = '\0'; +- return; +- } ++ break; + + /* We did not find a valid name-value pair before encountering the + colon. */ +@@ -244,9 +240,16 @@ parse_tunables (char *tunestr, char *valstring) + } + } + +- if (p[len] != '\0') +- p += len + 1; ++ /* We reached the end while processing the tunable string. */ ++ if (p[len] == '\0') ++ break; ++ ++ p += len + 1; + } ++ ++ /* Terminate tunestr before we leave. */ ++ if (__libc_enable_secure) ++ tunestr[off] = '\0'; + } + + /* Enable the glibc.malloc.check tunable in SETUID/SETGID programs only when +diff --git a/elf/tst-env-setuid-tunables.c b/elf/tst-env-setuid-tunables.c +index 7dfb0e073a..f0b92c97e7 100644 +--- a/elf/tst-env-setuid-tunables.c ++++ b/elf/tst-env-setuid-tunables.c +@@ -50,6 +50,8 @@ const char *teststrings[] = + "glibc.malloc.perturb=0x800:not_valid.malloc.check=2:glibc.malloc.mmap_threshold=4096", + "glibc.not_valid.check=2:glibc.malloc.mmap_threshold=4096", + "not_valid.malloc.check=2:glibc.malloc.mmap_threshold=4096", ++ "glibc.malloc.mmap_threshold=glibc.malloc.mmap_threshold=4096", ++ "glibc.malloc.check=2", + "glibc.malloc.garbage=2:glibc.maoc.mmap_threshold=4096:glibc.malloc.check=2", + "glibc.malloc.check=4:glibc.malloc.garbage=2:glibc.maoc.mmap_threshold=4096", + ":glibc.malloc.garbage=2:glibc.malloc.check=1", +@@ -68,6 +70,8 @@ const char *resultstrings[] = + "glibc.malloc.perturb=0x800:glibc.malloc.mmap_threshold=4096", + "glibc.malloc.mmap_threshold=4096", + "glibc.malloc.mmap_threshold=4096", ++ "glibc.malloc.mmap_threshold=glibc.malloc.mmap_threshold=4096", ++ "", + "", + "", + "", +@@ -81,11 +85,18 @@ test_child (int off) + { + const char *val = getenv ("GLIBC_TUNABLES"); + ++ printf (" [%d] GLIBC_TUNABLES is %s\n", off, val); ++ fflush (stdout); + if (val != NULL && strcmp (val, resultstrings[off]) == 0) + return 0; + + if (val != NULL) +- printf ("[%d] Unexpected GLIBC_TUNABLES VALUE %s\n", off, val); ++ printf (" [%d] Unexpected GLIBC_TUNABLES VALUE %s, expected %s\n", ++ off, val, resultstrings[off]); ++ else ++ printf (" [%d] GLIBC_TUNABLES environment variable absent\n", off); ++ ++ fflush (stdout); + + return 1; + } +@@ -106,21 +117,26 @@ do_test (int argc, char **argv) + if (ret != 0) + exit (1); + +- exit (EXIT_SUCCESS); ++ /* Special return code to make sure that the child executed all the way ++ through. */ ++ exit (42); + } + else + { +- int ret = 0; +- + /* Spawn tests. */ + for (int i = 0; i < array_length (teststrings); i++) + { + char buf[INT_BUFSIZE_BOUND (int)]; + +- printf ("Spawned test for %s (%d)\n", teststrings[i], i); ++ printf ("[%d] Spawned test for %s\n", i, teststrings[i]); + snprintf (buf, sizeof (buf), "%d\n", i); ++ fflush (stdout); + if (setenv ("GLIBC_TUNABLES", teststrings[i], 1) != 0) +- exit (1); ++ { ++ printf (" [%d] Failed to set GLIBC_TUNABLES: %m", i); ++ support_record_failure (); ++ continue; ++ } + + int status = support_capture_subprogram_self_sgid (buf); + +@@ -128,9 +144,14 @@ do_test (int argc, char **argv) + if (WEXITSTATUS (status) == EXIT_UNSUPPORTED) + return EXIT_UNSUPPORTED; + +- ret |= status; ++ if (WEXITSTATUS (status) != 42) ++ { ++ printf (" [%d] child failed with status %d\n", i, ++ WEXITSTATUS (status)); ++ support_record_failure (); ++ } + } +- return ret; ++ return 0; + } + } + +-- +2.42.0 + diff --git a/ulp-prologue-into-asm-functions.patch b/ulp-prologue-into-asm-functions.patch new file mode 100644 index 0000000..10f1ae3 --- /dev/null +++ b/ulp-prologue-into-asm-functions.patch @@ -0,0 +1,258 @@ +From 65bb10c34ff3734373a8b4be4e707f0494449f17 Mon Sep 17 00:00:00 2001 +From: Giuliano Belinassi +Date: Wed, 24 May 2023 18:03:15 -0300 +Subject: [PATCH] Add Userspace Livepatch prologue into ASM functions + +Userspace Live Patching (ULP) refers to the process of applying +patches to the libraries used by a running process, without +interrupting it. In order to archive this, functions must have +the NOP prologue. This prologue is included automatically when +compiled with -fpatchable-function-entry, but for ASM functions +this have to be included manually. This patch does this. + +Signed-off-by: Giuliano Belinassi +--- + Makeconfig | 5 +++++ + config.h.in | 3 +++ + config.make.in | 1 + + configure | 21 +++++++++++++++++++++ + configure.ac | 13 +++++++++++++ + sysdeps/x86/sysdep.h | 22 ++++++++++++++++++---- + sysdeps/x86_64/multiarch/strcmp-avx2.S | 5 +---- + sysdeps/x86_64/multiarch/strcmp-evex.S | 5 +---- + sysdeps/x86_64/multiarch/strcmp-sse4_2.S | 5 +---- + sysdeps/x86_64/sysdep.h | 13 +++++++++++++ + 10 files changed, 77 insertions(+), 16 deletions(-) + +diff --git a/Makeconfig b/Makeconfig +index 77d7fd14df..765d72bcf5 100644 +--- a/Makeconfig ++++ b/Makeconfig +@@ -984,6 +984,11 @@ else + +cflags += $(no-fortify-source) + endif + ++# Add flags for Userspace Livepatching support. ++ifeq (yes,$(enable-userspace-livepatch)) +++cflags += -fpatchable-function-entry=16,14 ++endif ++ + # Each sysdeps directory can contain header files that both will be + # used to compile and will be installed. Each can also contain an + # include/ subdirectory, whose header files will be used to compile +diff --git a/config.h.in b/config.h.in +index 0dedc124f7..08b1868002 100644 +--- a/config.h.in ++++ b/config.h.in +@@ -204,6 +204,9 @@ + /* Define to 1 if libpthread actually resides in libc. */ + #define PTHREAD_IN_LIBC 0 + ++/* Define to 1 if support for userspace livepatching is enabled. */ ++#define ENABLE_USERSPACE_LIVEPATCH 0 ++ + /* An integer used to scale the timeout of test programs. */ + #define TIMEOUTFACTOR 1 + +diff --git a/config.make.in b/config.make.in +index d487a4f4e9..e48351c59a 100644 +--- a/config.make.in ++++ b/config.make.in +@@ -85,6 +85,7 @@ nss-crypt = @libc_cv_nss_crypt@ + static-nss-crypt = @libc_cv_static_nss_crypt@ + + # Configuration options. ++enable-userspace-livepatch = @enable_userspace_livepatch@ + build-shared = @shared@ + build-profile = @profile@ + build-static-nss = @static_nss@ +diff --git a/configure b/configure +index c02c0b5825..e2000fdc4a 100755 +--- a/configure ++++ b/configure +@@ -622,6 +622,7 @@ LIBOBJS + pthread_in_libc + RELEASE + VERSION ++enable_userspace_livepatch + mach_interface_list + DEFINES + static_nss +@@ -819,6 +820,7 @@ enable_cet + enable_scv + enable_fortify_source + with_cpu ++enable_userspace_livepatch + ' + ac_precious_vars='build_alias + host_alias +@@ -1501,6 +1503,8 @@ Optional Features: + Use -D_FORTIFY_SOURCE=[1|2|3] to control code + hardening, defaults to highest possible value + supported by the build compiler. ++ --enable-userspace-livepatch ++ build with userspace livepatch support [default=no] + + Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] +@@ -8004,6 +8008,23 @@ libc_cv_multidir=`${CC-cc} $CFLAGS $CPPFLAGS -print-multi-directory` + + + ++# Check whether --enable-userspace-livepatch was given. ++if test ${enable_userspace_livepatch+y} ++then : ++ enableval=$enable_userspace_livepatch; enable_userspace_livepatch=$enableval ++else $as_nop ++ enable_userspace_livepatch=no ++fi ++ ++ ++# Libpulp uses -fpatchable-function-entry to add padding NOPS to the ++# prologue of all functions. ++if test "x$enable_userspace_livepatch" = xyes; then ++ printf "%s\n" "#define ENABLE_USERSPACE_LIVEPATCH 1" >>confdefs.h ++ ++fi ++ ++ + VERSION=`sed -n -e 's/^#define VERSION "\([^"]*\)"/\1/p' < $srcdir/version.h` + RELEASE=`sed -n -e 's/^#define RELEASE "\([^"]*\)"/\1/p' < $srcdir/version.h` + +diff --git a/configure.ac b/configure.ac +index 09553541fb..a07e3d6284 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1827,6 +1827,19 @@ AC_SUBST(DEFINES) + dnl See sysdeps/mach/configure.ac for this variable. + AC_SUBST(mach_interface_list) + ++AC_ARG_ENABLE([userspace-livepatch], ++ AS_HELP_STRING([--enable-userspace-livepatch], ++ [build with userspace livepatch support @<:@default=no@:>@]), ++ [enable_userspace_livepatch=$enableval], ++ [enable_userspace_livepatch=no]) ++ ++# Libpulp uses -fpatchable-function-entry to add padding NOPS to the ++# prologue of all functions. ++if test "x$enable_userspace_livepatch" = xyes; then ++ AC_DEFINE(ENABLE_USERSPACE_LIVEPATCH) ++fi ++AC_SUBST(enable_userspace_livepatch) ++ + VERSION=`sed -n -e 's/^#define VERSION "\([^"]*\)"/\1/p' < $srcdir/version.h` + RELEASE=`sed -n -e 's/^#define RELEASE "\([^"]*\)"/\1/p' < $srcdir/version.h` + AC_SUBST(VERSION) +diff --git a/sysdeps/x86/sysdep.h b/sysdeps/x86/sysdep.h +index 0b3483a77a..329c16306e 100644 +--- a/sysdeps/x86/sysdep.h ++++ b/sysdeps/x86/sysdep.h +@@ -77,15 +77,29 @@ enum cf_protection_level + #define ALIGNARG(log2) 1<