From f066d6282a44e0365af5e9188982e70d3dde78e2c601dd6f0b20aa86b4fc6579 Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Tue, 30 Jul 2024 08:33:46 +0000 Subject: [PATCH] - Update to glibc 2.40 * The header type-generic macros have been changed when using GCC 14.1 or later to use __builtin_stdc_bit_ceil etc. built-in functions * The GNU C Library now supports a feature test macro _ISOC23_SOURCE to enable features from the ISO C23 standard * The ISO C23 function families introduced in TS 18661-4:2015 are now supported in * A new tunable, glibc.rtld.enable_secure, can be used to run a program as if it were a setuid process * On Linux, the epoll header was updated to include epoll ioctl definitions and the related structure added in Linux kernel 6.9 * The fortify functionality has been significantly enhanced for building programs with clang against the GNU C Library * Many functions have been added to the vector library for aarch64 * On x86, memset can now use non-temporal stores to improve the performance of large writes * Architectures which use a 32-bit seconds-since-epoch field in struct lastlog, struct utmp, struct utmpx (such as i386, powerpc64le, rv32, rv64, x86-64) switched from a signed to an unsigned type for that field * __rseq_size now denotes the size of the active rseq area (20 bytes initially), not the size of struct rseq (32 bytes initially). - arm-dl-start-user.patch, duplocale-global-locale.patch, elf-parse-tunables.patch, glibc-CVE-2024-33599-nscd-Stack-based-buffer-overflow-in-n.patch, glibc-CVE-2024-33600-nscd-Avoid-null-pointer-crashes-after.patch, glibc-CVE-2024-33600-nscd-Do-not-send-missing-not-found-re.patch, glibc-CVE-2024-33601-CVE-2024-33602-nscd-netgroup-Use-two.patch, iconv-iso-2022-cn-ext.patch, nscd-netgroup-cache-timeout.patch, s390-clone-error-clobber-r7.patch, sigisemptyset.patch, OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=719 --- .gitattributes | 23 + .gitignore | 1 + _constraints | 16 + _multibuild | 9 + add-locales.patch | 29 + arm-dl-start-user.patch | 40 + baselibs.conf | 35 + bindresvport.blacklist | 14 + duplocale-global-locale.patch | 57 + elf-parse-tunables.patch | 215 + glibc-2.3.2.no_archive.diff | 44 + glibc-2.3.3-nscd-db-path.diff | 21 + glibc-2.3.90-langpackdir.diff | 33 + glibc-2.39.tar.xz | 3 + glibc-2.39.tar.xz.sig | 16 + glibc-2.4-china.diff | 22 + glibc-2.4.90-no_NO.diff | 100 + glibc-2.40.tar.xz | 3 + glibc-2.40.tar.xz.sig | 16 + ...scd-Stack-based-buffer-overflow-in-n.patch | 38 + ...scd-Avoid-null-pointer-crashes-after.patch | 60 + ...scd-Do-not-send-missing-not-found-re.patch | 59 + ...CVE-2024-33602-nscd-netgroup-Use-two.patch | 390 + glibc-bindresvport-blacklist.diff | 158 + glibc-fix-double-loopback.diff | 25 + glibc-nscd.conf.patch | 19 + glibc-nsswitch-usr.diff | 13 + glibc-resolv-mdnshint.diff | 19 + glibc-version.diff | 18 + glibc.changes | 9832 +++++++++++++++++ glibc.keyring | 1175 ++ glibc.rpmlintrc | 16 + glibc.spec | 1452 +++ iconv-iso-2022-cn-ext.patch | 216 + ldconfig-concurrency.patch | 53 + manpages.patch | 21 + manpages.tar.bz2 | 3 + nscd-netgroup-cache-timeout.patch | 36 + nscd-server-user.patch | 13 + nscd.conf | 1 + nscd.service | 22 + nscd.sysusers | 2 + nss-db-path.patch | 41 + nsswitch.conf | 75 + s390-clone-error-clobber-r7.patch | 148 + sigisemptyset.patch | 128 + sle-nsswitch.conf | 75 + stdbit-builtins.patch | 1061 ++ ulp-prologue-into-asm-functions.patch | 272 + utmp-time-bits.patch | 645 ++ 50 files changed, 16783 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 _constraints create mode 100644 _multibuild create mode 100644 add-locales.patch create mode 100644 arm-dl-start-user.patch create mode 100644 baselibs.conf create mode 100644 bindresvport.blacklist create mode 100644 duplocale-global-locale.patch create mode 100644 elf-parse-tunables.patch create mode 100644 glibc-2.3.2.no_archive.diff create mode 100644 glibc-2.3.3-nscd-db-path.diff create mode 100644 glibc-2.3.90-langpackdir.diff create mode 100644 glibc-2.39.tar.xz create mode 100644 glibc-2.39.tar.xz.sig create mode 100644 glibc-2.4-china.diff create mode 100644 glibc-2.4.90-no_NO.diff create mode 100644 glibc-2.40.tar.xz create mode 100644 glibc-2.40.tar.xz.sig create mode 100644 glibc-CVE-2024-33599-nscd-Stack-based-buffer-overflow-in-n.patch create mode 100644 glibc-CVE-2024-33600-nscd-Avoid-null-pointer-crashes-after.patch create mode 100644 glibc-CVE-2024-33600-nscd-Do-not-send-missing-not-found-re.patch create mode 100644 glibc-CVE-2024-33601-CVE-2024-33602-nscd-netgroup-Use-two.patch create mode 100644 glibc-bindresvport-blacklist.diff create mode 100644 glibc-fix-double-loopback.diff create mode 100644 glibc-nscd.conf.patch create mode 100644 glibc-nsswitch-usr.diff create mode 100644 glibc-resolv-mdnshint.diff create mode 100644 glibc-version.diff create mode 100644 glibc.changes create mode 100644 glibc.keyring create mode 100644 glibc.rpmlintrc create mode 100644 glibc.spec create mode 100644 iconv-iso-2022-cn-ext.patch create mode 100644 ldconfig-concurrency.patch create mode 100644 manpages.patch create mode 100644 manpages.tar.bz2 create mode 100644 nscd-netgroup-cache-timeout.patch create mode 100644 nscd-server-user.patch create mode 100644 nscd.conf create mode 100644 nscd.service create mode 100644 nscd.sysusers create mode 100644 nss-db-path.patch create mode 100644 nsswitch.conf create mode 100644 s390-clone-error-clobber-r7.patch create mode 100644 sigisemptyset.patch create mode 100644 sle-nsswitch.conf create mode 100644 stdbit-builtins.patch create mode 100644 ulp-prologue-into-asm-functions.patch create mode 100644 utmp-time-bits.patch 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/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc 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/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/arm-dl-start-user.patch b/arm-dl-start-user.patch new file mode 100644 index 0000000..b5c2646 --- /dev/null +++ b/arm-dl-start-user.patch @@ -0,0 +1,40 @@ +From 63295e4fda1f6dab4bf7442706fe303bf283036c Mon Sep 17 00:00:00 2001 +From: Adhemerval Zanella +Date: Mon, 5 Feb 2024 16:10:24 +0000 +Subject: [PATCH] arm: Remove wrong ldr from _dl_start_user (BZ 31339) + +The commit 49d877a80b29d3002887b084eec6676d9f5fec18 (arm: Remove +_dl_skip_args usage) removed the _SKIP_ARGS literal, which was +previously loader to r4 on loader _start. However, the cleanup did not +remove the following 'ldr r4, [sl, r4]' on _dl_start_user, used to check +to skip the arguments after ld self-relocations. + +In my testing, the kernel initially set r4 to 0, which makes the +ldr instruction just read the _GLOBAL_OFFSET_TABLE_. However, since r4 +is a callee-saved register; a different runtime might not zero +initialize it and thus trigger an invalid memory access. + +Checked on arm-linux-gnu. + +Reported-by: Adrian Ratiu +Reviewed-by: Szabolcs Nagy +(cherry picked from commit 1e25112dc0cb2515d27d8d178b1ecce778a9d37a) +--- + sysdeps/arm/dl-machine.h | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/sysdeps/arm/dl-machine.h b/sysdeps/arm/dl-machine.h +index b857bbc868..dd1a0f6b6e 100644 +--- a/sysdeps/arm/dl-machine.h ++++ b/sysdeps/arm/dl-machine.h +@@ -139,7 +139,6 @@ _start:\n\ + _dl_start_user:\n\ + adr r6, .L_GET_GOT\n\ + add sl, sl, r6\n\ +- ldr r4, [sl, r4]\n\ + @ save the entry point in another register\n\ + mov r6, r0\n\ + @ get the original arg count\n\ +-- +2.43.0 + diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..8953fac --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,35 @@ +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" + +/usr/lib(64)?/gconv/gconv-modules + targettype x86 -/usr/lib(64)?/gconv/gconv-modules + prereq -glibc-x86 + +/usr/lib/getconf/[^g] + +/usr/sbin/iconvconfig -> /usr/sbin/iconvconfig- + post "/usr/sbin/iconvconfig-" + recommends "glibc-gconv-modules-extra- = %version" + obsoletes "glibc-locale-base-" +glibc-gconv-modules-extra + arch i586 block! + +/usr/lib(64)?/gconv/gconv-modules + targettype x86 -/usr/lib(64)?/gconv/gconv-modules + post "/usr/sbin/iconvconfig-" + postun "/usr/sbin/iconvconfig-" + obsoletes "glibc-locale-base-" + provides "glibc-locale-base- = %version" +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/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/elf-parse-tunables.patch b/elf-parse-tunables.patch new file mode 100644 index 0000000..ccc040c --- /dev/null +++ b/elf-parse-tunables.patch @@ -0,0 +1,215 @@ +From 71149c2a2e85a8233631cc816030d449f021bb2a Mon Sep 17 00:00:00 2001 +From: Adhemerval Zanella +Date: Mon, 6 May 2024 13:18:45 -0300 +Subject: [PATCH] elf: Only process multiple tunable once (BZ 31686) + +The 680c597e9c3 commit made loader reject ill-formatted strings by +first tracking all set tunables and then applying them. However, it does +not take into consideration if the same tunable is set multiple times, +where parse_tunables_string appends the found tunable without checking +if it was already in the list. It leads to a stack-based buffer overflow +if the tunable is specified more than the total number of tunables. For +instance: + + GLIBC_TUNABLES=glibc.malloc.check=2:... (repeat over the number of + total support for different tunable). + +Instead, use the index of the tunable list to get the expected tunable +entry. Since now the initial list is zero-initialized, the compiler +might emit an extra memset and this requires some minor adjustment +on some ports. + +Checked on x86_64-linux-gnu and aarch64-linux-gnu. + +Reported-by: Yuto Maeda +Reported-by: Yutaro Shimizu +Reviewed-by: Siddhesh Poyarekar +(cherry picked from commit bcae44ea8536b30a7119c0986ff5692bddacb672) +--- + elf/dl-tunables.c | 28 ++++++---- + elf/tst-tunables.c | 61 +++++++++++++++++++++- + sysdeps/aarch64/multiarch/memset_generic.S | 4 ++ + sysdeps/sparc/sparc64/rtld-memset.c | 3 ++ + 4 files changed, 84 insertions(+), 12 deletions(-) + +diff --git a/elf/dl-tunables.c b/elf/dl-tunables.c +index 03e1a68675..614ac9c047 100644 +--- a/elf/dl-tunables.c ++++ b/elf/dl-tunables.c +@@ -32,6 +32,7 @@ + #include + #include + #include ++#include + + #define TUNABLES_INTERNAL 1 + #include "dl-tunables.h" +@@ -223,6 +224,7 @@ parse_tunables_string (const char *valstring, struct tunable_toset_t *tunables) + { + tunables[ntunables++] = + (struct tunable_toset_t) { cur, value, p - value }; ++ + break; + } + } +@@ -234,23 +236,27 @@ parse_tunables_string (const char *valstring, struct tunable_toset_t *tunables) + static void + parse_tunables (const char *valstring) + { +- struct tunable_toset_t tunables[tunables_list_size]; +- int ntunables = parse_tunables_string (valstring, tunables); +- if (ntunables == -1) ++ struct tunable_toset_t tunables[tunables_list_size] = { 0 }; ++ if (parse_tunables_string (valstring, tunables) == -1) + { + _dl_error_printf ( + "WARNING: ld.so: invalid GLIBC_TUNABLES `%s': ignored.\n", valstring); + return; + } + +- for (int i = 0; i < ntunables; i++) +- if (!tunable_initialize (tunables[i].t, tunables[i].value, +- tunables[i].len)) +- _dl_error_printf ("WARNING: ld.so: invalid GLIBC_TUNABLES value `%.*s' " +- "for option `%s': ignored.\n", +- (int) tunables[i].len, +- tunables[i].value, +- tunables[i].t->name); ++ for (int i = 0; i < tunables_list_size; i++) ++ { ++ if (tunables[i].t == NULL) ++ continue; ++ ++ if (!tunable_initialize (tunables[i].t, tunables[i].value, ++ tunables[i].len)) ++ _dl_error_printf ("WARNING: ld.so: invalid GLIBC_TUNABLES value `%.*s' " ++ "for option `%s': ignored.\n", ++ (int) tunables[i].len, ++ tunables[i].value, ++ tunables[i].t->name); ++ } + } + + /* Initialize the tunables list from the environment. For now we only use the +diff --git a/elf/tst-tunables.c b/elf/tst-tunables.c +index 095b5c81d9..dff34ed748 100644 +--- a/elf/tst-tunables.c ++++ b/elf/tst-tunables.c +@@ -17,6 +17,10 @@ + . */ + + #include ++/* The test uses the tunable_list size, which is only exported for ++ ld.so. This will result in a copy of tunable_list, which is ununsed by ++ the test itself. */ ++#define TUNABLES_INTERNAL 1 + #include + #include + #include +@@ -24,12 +28,13 @@ + #include + #include + #include ++#include + + static int restart; + #define CMDLINE_OPTIONS \ + { "restart", no_argument, &restart, 1 }, + +-static const struct test_t ++static struct test_t + { + const char *name; + const char *value; +@@ -284,6 +289,29 @@ static const struct test_t + 0, + 0, + }, ++ /* Also check for repeated tunables with a count larger than the total number ++ of tunables. */ ++ { ++ "GLIBC_TUNABLES", ++ NULL, ++ 2, ++ 0, ++ 0, ++ }, ++ { ++ "GLIBC_TUNABLES", ++ NULL, ++ 1, ++ 0, ++ 0, ++ }, ++ { ++ "GLIBC_TUNABLES", ++ NULL, ++ 0, ++ 0, ++ 0, ++ }, + }; + + static int +@@ -327,6 +355,37 @@ do_test (int argc, char *argv[]) + spargv[i] = NULL; + } + ++ /* Create a tunable line with the duplicate values with a total number ++ larger than the different number of tunables. */ ++ { ++ enum { tunables_list_size = array_length (tunable_list) }; ++ const char *value = ""; ++ for (int i = 0; i < tunables_list_size; i++) ++ value = xasprintf ("%sglibc.malloc.check=2%c", ++ value, ++ i == (tunables_list_size - 1) ? '\0' : ':'); ++ tests[33].value = value; ++ } ++ /* Same as before, but the last tunable values is differen than the ++ rest. */ ++ { ++ enum { tunables_list_size = array_length (tunable_list) }; ++ const char *value = ""; ++ for (int i = 0; i < tunables_list_size - 1; i++) ++ value = xasprintf ("%sglibc.malloc.check=2:", value); ++ value = xasprintf ("%sglibc.malloc.check=1", value); ++ tests[34].value = value; ++ } ++ /* Same as before, but with an invalid last entry. */ ++ { ++ enum { tunables_list_size = array_length (tunable_list) }; ++ const char *value = ""; ++ for (int i = 0; i < tunables_list_size - 1; i++) ++ value = xasprintf ("%sglibc.malloc.check=2:", value); ++ value = xasprintf ("%sglibc.malloc.check=1=1", value); ++ tests[35].value = value; ++ } ++ + for (int i = 0; i < array_length (tests); i++) + { + snprintf (nteststr, sizeof nteststr, "%d", i); +diff --git a/sysdeps/aarch64/multiarch/memset_generic.S b/sysdeps/aarch64/multiarch/memset_generic.S +index 81748bdbce..e125a5ed85 100644 +--- a/sysdeps/aarch64/multiarch/memset_generic.S ++++ b/sysdeps/aarch64/multiarch/memset_generic.S +@@ -33,3 +33,7 @@ + #endif + + #include <../memset.S> ++ ++#if IS_IN (rtld) ++strong_alias (memset, __memset_generic) ++#endif +diff --git a/sysdeps/sparc/sparc64/rtld-memset.c b/sysdeps/sparc/sparc64/rtld-memset.c +index 55f3835790..a19202a620 100644 +--- a/sysdeps/sparc/sparc64/rtld-memset.c ++++ b/sysdeps/sparc/sparc64/rtld-memset.c +@@ -1 +1,4 @@ + #include ++#if IS_IN(rtld) ++strong_alias (memset, __memset_ultra1) ++#endif +-- +2.45.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..5cb7dab --- /dev/null +++ b/glibc-2.3.90-langpackdir.diff @@ -0,0 +1,33 @@ +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.39.tar.xz b/glibc-2.39.tar.xz new file mode 100644 index 0000000..1014d36 --- /dev/null +++ b/glibc-2.39.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f77bd47cf8170c57365ae7bf86696c118adb3b120d3259c64c502d3dc1e2d926 +size 18520988 diff --git a/glibc-2.39.tar.xz.sig b/glibc-2.39.tar.xz.sig new file mode 100644 index 0000000..7347acd --- /dev/null +++ b/glibc-2.39.tar.xz.sig @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCAAdFiEEcnNUKzmWLfeymZMUFnkrTqJTQPgFAmW6xDIACgkQFnkrTqJT +QPgAAg/9FnW6kXC3eth/BhuzaEEjOmy8BiTSrEHVLWz9veRTuBBYavxH/XUKfLrg +dAFMnASU4DtDUFI2kFWGJIDLk8E/rUau8a0f5Skh4W3VSrc7MDvQhMMt1HggRIqE +O2G7fS6uKZokZElcvEKYrTnq7iwH25K1lvXUKAeaUnVQg6upGYnCe8vuZutuZR9x +OFkewctLM8Canc6wvW0V92Oy+6eZsDq08HCJenFklSh1wz9+MUzyivkv/b6fXK6E +lKGLxpPH7vzfKao6YJBrAHT5raFxdz3yUGzevfeBE9S8UrOYHhsoBRZsaQUWkyKU +A3Gn1ioTkxj8szfgHCrweN6A4Y4MlGgMeQbplQnrjQEfUTVo9N2zkQwWRsM4VGeF +RkbWwpIQg6zMi3BFfizHqAZZWjjWb0wu6mDWmnQBaQ97dN0DAuKJ7cDNmLe6+vOE +OkXRTses8Ta3npAxKjrWNm6WjcrYAzEYLGUT6hLBmZj+WulHmRDPEyuo8H3eihuL +JzJXc7X6O3HntgCqqGrC4yNGtjRF0r3FjZ9Zrv6snEzWHVBnDw/9C5Ss9aZ+VSxO +Uqo0nESWKHtz9UBS73yA/H1k1rMnQS9yeugMoqBil+cJD5xMZETNKFbUGwR8feQ4 +O6w8uH1q70ZwtTVf3l6sbijMeORfcrS0WEErxm8IREmUbqPIMRw= +=uGia +-----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-2.40.tar.xz b/glibc-2.40.tar.xz new file mode 100644 index 0000000..89a131f --- /dev/null +++ b/glibc-2.40.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19a890175e9263d748f627993de6f4b1af9cd21e03f080e4bfb3a1fac10205a2 +size 18752204 diff --git a/glibc-2.40.tar.xz.sig b/glibc-2.40.tar.xz.sig new file mode 100644 index 0000000..de38863 --- /dev/null +++ b/glibc-2.40.tar.xz.sig @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCAAdFiEEcnNUKzmWLfeymZMUFnkrTqJTQPgFAmaeSXIACgkQFnkrTqJT +QPhcfw/+LG5lo6bi7F8Kggp7rsxw1QpRsT76HUNdsoVZRbKvERYihexEQST8rNM/ +BvzWv+eAxE8h1XcBdYk3qKtyvsggVogaxnsfRq1+5yonrI0FGDdQZEjDhYVBEPma +T1m8qmZywPingm37gT5RevQJP3vg2OBW9l5/nwGk9K33e+09RXCAyvZVrn7binTV +27VESY5/6X7uC2Ga1WnZG2omu3W5+vAsGWoFnCNjJHfqyW6agaGLbGNSBJnSABv+ +mTy4v8S6zpRovWZOA2hi7FUVbtDyvyJrGZLnTNBA/DxqKiKc2ZQUljXy7Uv+piDt +H0bwNsrC0mcRxdqsA8FNUv/gIpHcuBaLjUz37bA6d0iwkvqf8YCJ47O6KbMuuDeu +DudKO+QIVTgs0ahUnbomW27Un46cvkM2JM7dU9Akt5Cja9hImOOn1cbotkaMfmsL +c3Hq+O3LYwI76p3HUwsjg3xjgoLZy24+46PaXRncrYImgTif6yGq4uVjWXnaFsLs +WtE16EU9fvU1zCBRbdcT6cI6TiNQvQdc8aBGxKs4oFTMROWiczfwKmcIrC6OROIJ +kW5V0nI5t3Sk8XSubUxj4dZhk6E1e58RhKm/5pcdOVzwbd3H9sb5q/BhlWB7M49M +i5n7p77a1YCjuhl/m43Q036uDCER7/JSbnekU6zsTYUDX/ZfWiA= +=hPC5 +-----END PGP SIGNATURE----- diff --git a/glibc-CVE-2024-33599-nscd-Stack-based-buffer-overflow-in-n.patch b/glibc-CVE-2024-33599-nscd-Stack-based-buffer-overflow-in-n.patch new file mode 100644 index 0000000..d66fa7d --- /dev/null +++ b/glibc-CVE-2024-33599-nscd-Stack-based-buffer-overflow-in-n.patch @@ -0,0 +1,38 @@ +From 1263d583d2e28afb8be53f8d6922f0842036f35d Mon Sep 17 00:00:00 2001 +From: Florian Weimer +Date: Thu, 25 Apr 2024 15:00:45 +0200 +Subject: [PATCH] CVE-2024-33599: nscd: Stack-based buffer overflow in netgroup + cache (bug 31677) + +Using alloca matches what other caches do. The request length is +bounded by MAXKEYLEN. + +Reviewed-by: Carlos O'Donell +(cherry picked from commit 87801a8fd06db1d654eea3e4f7626ff476a9bdaa) +--- + nscd/netgroupcache.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/nscd/netgroupcache.c b/nscd/netgroupcache.c +index 0c6e46f15c..f227dc7fa2 100644 +--- a/nscd/netgroupcache.c ++++ b/nscd/netgroupcache.c +@@ -502,12 +502,13 @@ addinnetgrX (struct database_dyn *db, int fd, request_header *req, + = (struct indataset *) mempool_alloc (db, + sizeof (*dataset) + req->key_len, + 1); +- struct indataset dataset_mem; + bool cacheable = true; + if (__glibc_unlikely (dataset == NULL)) + { + cacheable = false; +- dataset = &dataset_mem; ++ /* The alloca is safe because nscd_run_worker verfies that ++ key_len is not larger than MAXKEYLEN. */ ++ dataset = alloca (sizeof (*dataset) + req->key_len); + } + + datahead_init_pos (&dataset->head, sizeof (*dataset) + req->key_len, +-- +2.45.0 + diff --git a/glibc-CVE-2024-33600-nscd-Avoid-null-pointer-crashes-after.patch b/glibc-CVE-2024-33600-nscd-Avoid-null-pointer-crashes-after.patch new file mode 100644 index 0000000..72869e4 --- /dev/null +++ b/glibc-CVE-2024-33600-nscd-Avoid-null-pointer-crashes-after.patch @@ -0,0 +1,60 @@ +From c99f886de54446cd4447db6b44be93dabbdc2f8b Mon Sep 17 00:00:00 2001 +From: Florian Weimer +Date: Thu, 25 Apr 2024 15:01:07 +0200 +Subject: [PATCH] CVE-2024-33600: nscd: Avoid null pointer crashes after + notfound response (bug 31678) + +The addgetnetgrentX call in addinnetgrX may have failed to produce +a result, so the result variable in addinnetgrX can be NULL. +Use db->negtimeout as the fallback value if there is no result data; +the timeout is also overwritten below. + +Also avoid sending a second not-found response. (The client +disconnects after receiving the first response, so the data stream did +not go out of sync even without this fix.) It is still beneficial to +add the negative response to the mapping, so that the client can get +it from there in the future, instead of going through the socket. + +Reviewed-by: Siddhesh Poyarekar +(cherry picked from commit b048a482f088e53144d26a61c390bed0210f49f2) +--- + nscd/netgroupcache.c | 11 +++++++---- + 1 file changed, 7 insertions(+), 4 deletions(-) + +diff --git a/nscd/netgroupcache.c b/nscd/netgroupcache.c +index c18fe111f3..e22ffa5884 100644 +--- a/nscd/netgroupcache.c ++++ b/nscd/netgroupcache.c +@@ -511,14 +511,15 @@ addinnetgrX (struct database_dyn *db, int fd, request_header *req, + + datahead_init_pos (&dataset->head, sizeof (*dataset) + req->key_len, + sizeof (innetgroup_response_header), +- he == NULL ? 0 : dh->nreloads + 1, result->head.ttl); ++ he == NULL ? 0 : dh->nreloads + 1, ++ result == NULL ? db->negtimeout : result->head.ttl); + /* Set the notfound status and timeout based on the result from + getnetgrent. */ +- dataset->head.notfound = result->head.notfound; ++ dataset->head.notfound = result == NULL || result->head.notfound; + dataset->head.timeout = timeout; + + dataset->resp.version = NSCD_VERSION; +- dataset->resp.found = result->resp.found; ++ dataset->resp.found = result != NULL && result->resp.found; + /* Until we find a matching entry the result is 0. */ + dataset->resp.result = 0; + +@@ -566,7 +567,9 @@ addinnetgrX (struct database_dyn *db, int fd, request_header *req, + goto out; + } + +- if (he == NULL) ++ /* addgetnetgrentX may have already sent a notfound response. Do ++ not send another one. */ ++ if (he == NULL && dataset->resp.found) + { + /* We write the dataset before inserting it to the database + since while inserting this thread might block and so would +-- +2.45.0 + diff --git a/glibc-CVE-2024-33600-nscd-Do-not-send-missing-not-found-re.patch b/glibc-CVE-2024-33600-nscd-Do-not-send-missing-not-found-re.patch new file mode 100644 index 0000000..7ecd88f --- /dev/null +++ b/glibc-CVE-2024-33600-nscd-Do-not-send-missing-not-found-re.patch @@ -0,0 +1,59 @@ +From 5a508e0b508c8ad53bd0d2fb48fd71b242626341 Mon Sep 17 00:00:00 2001 +From: Florian Weimer +Date: Thu, 25 Apr 2024 15:01:07 +0200 +Subject: [PATCH] CVE-2024-33600: nscd: Do not send missing not-found response + in addgetnetgrentX (bug 31678) + +If we failed to add a not-found response to the cache, the dataset +point can be null, resulting in a null pointer dereference. + +Reviewed-by: Siddhesh Poyarekar +(cherry picked from commit 7835b00dbce53c3c87bbbb1754a95fb5e58187aa) +--- + nscd/netgroupcache.c | 14 ++++++-------- + 1 file changed, 6 insertions(+), 8 deletions(-) + +diff --git a/nscd/netgroupcache.c b/nscd/netgroupcache.c +index f227dc7fa2..c18fe111f3 100644 +--- a/nscd/netgroupcache.c ++++ b/nscd/netgroupcache.c +@@ -147,7 +147,7 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req, + /* No such service. */ + cacheable = do_notfound (db, fd, req, key, &dataset, &total, &timeout, + &key_copy); +- goto writeout; ++ goto maybe_cache_add; + } + + memset (&data, '\0', sizeof (data)); +@@ -348,7 +348,7 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req, + { + cacheable = do_notfound (db, fd, req, key, &dataset, &total, &timeout, + &key_copy); +- goto writeout; ++ goto maybe_cache_add; + } + + total = buffilled; +@@ -410,14 +410,12 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req, + } + + if (he == NULL && fd != -1) +- { +- /* We write the dataset before inserting it to the database +- since while inserting this thread might block and so would +- unnecessarily let the receiver wait. */ +- writeout: ++ /* We write the dataset before inserting it to the database since ++ while inserting this thread might block and so would ++ unnecessarily let the receiver wait. */ + writeall (fd, &dataset->resp, dataset->head.recsize); +- } + ++ maybe_cache_add: + if (cacheable) + { + /* If necessary, we also propagate the data to disk. */ +-- +2.45.0 + diff --git a/glibc-CVE-2024-33601-CVE-2024-33602-nscd-netgroup-Use-two.patch b/glibc-CVE-2024-33601-CVE-2024-33602-nscd-netgroup-Use-two.patch new file mode 100644 index 0000000..e1edf7d --- /dev/null +++ b/glibc-CVE-2024-33601-CVE-2024-33602-nscd-netgroup-Use-two.patch @@ -0,0 +1,390 @@ +From a9a8d3eebb145779a18d90e3966009a1daa63cd8 Mon Sep 17 00:00:00 2001 +From: Florian Weimer +Date: Thu, 25 Apr 2024 15:01:07 +0200 +Subject: [PATCH] CVE-2024-33601, CVE-2024-33602: nscd: netgroup: Use two + buffers in addgetnetgrentX (bug 31680) + +This avoids potential memory corruption when the underlying NSS +callback function does not use the buffer space to store all strings +(e.g., for constant strings). + +Instead of custom buffer management, two scratch buffers are used. +This increases stack usage somewhat. + +Scratch buffer allocation failure is handled by return -1 +(an invalid timeout value) instead of terminating the process. +This fixes bug 31679. + +Reviewed-by: Siddhesh Poyarekar +(cherry picked from commit c04a21e050d64a1193a6daab872bca2528bda44b) +--- + nscd/netgroupcache.c | 219 ++++++++++++++++++++++++------------------- + 1 file changed, 121 insertions(+), 98 deletions(-) + +diff --git a/nscd/netgroupcache.c b/nscd/netgroupcache.c +index e22ffa5884..e8fe041846 100644 +--- a/nscd/netgroupcache.c ++++ b/nscd/netgroupcache.c +@@ -23,6 +23,7 @@ + #include + #include + #include ++#include + + #include "../nss/netgroup.h" + #include "nscd.h" +@@ -65,6 +66,16 @@ struct dataset + char strdata[0]; + }; + ++/* Send a notfound response to FD. Always returns -1 to indicate an ++ ephemeral error. */ ++static time_t ++send_notfound (int fd) ++{ ++ if (fd != -1) ++ TEMP_FAILURE_RETRY (send (fd, ¬found, sizeof (notfound), MSG_NOSIGNAL)); ++ return -1; ++} ++ + /* Sends a notfound message and prepares a notfound dataset to write to the + cache. Returns true if there was enough memory to allocate the dataset and + returns the dataset in DATASETP, total bytes to write in TOTALP and the +@@ -83,8 +94,7 @@ do_notfound (struct database_dyn *db, int fd, request_header *req, + total = sizeof (notfound); + timeout = time (NULL) + db->negtimeout; + +- if (fd != -1) +- TEMP_FAILURE_RETRY (send (fd, ¬found, total, MSG_NOSIGNAL)); ++ send_notfound (fd); + + dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len, 1); + /* If we cannot permanently store the result, so be it. */ +@@ -109,11 +119,78 @@ do_notfound (struct database_dyn *db, int fd, request_header *req, + return cacheable; + } + ++struct addgetnetgrentX_scratch ++{ ++ /* This is the result that the caller should use. It can be NULL, ++ point into buffer, or it can be in the cache. */ ++ struct dataset *dataset; ++ ++ struct scratch_buffer buffer; ++ ++ /* Used internally in addgetnetgrentX as a staging area. */ ++ struct scratch_buffer tmp; ++ ++ /* Number of bytes in buffer that are actually used. */ ++ size_t buffer_used; ++}; ++ ++static void ++addgetnetgrentX_scratch_init (struct addgetnetgrentX_scratch *scratch) ++{ ++ scratch->dataset = NULL; ++ scratch_buffer_init (&scratch->buffer); ++ scratch_buffer_init (&scratch->tmp); ++ ++ /* Reserve space for the header. */ ++ scratch->buffer_used = sizeof (struct dataset); ++ static_assert (sizeof (struct dataset) < sizeof (scratch->tmp.__space), ++ "initial buffer space"); ++ memset (scratch->tmp.data, 0, sizeof (struct dataset)); ++} ++ ++static void ++addgetnetgrentX_scratch_free (struct addgetnetgrentX_scratch *scratch) ++{ ++ scratch_buffer_free (&scratch->buffer); ++ scratch_buffer_free (&scratch->tmp); ++} ++ ++/* Copy LENGTH bytes from S into SCRATCH. Returns NULL if SCRATCH ++ could not be resized, otherwise a pointer to the copy. */ ++static char * ++addgetnetgrentX_append_n (struct addgetnetgrentX_scratch *scratch, ++ const char *s, size_t length) ++{ ++ while (true) ++ { ++ size_t remaining = scratch->buffer.length - scratch->buffer_used; ++ if (remaining >= length) ++ break; ++ if (!scratch_buffer_grow_preserve (&scratch->buffer)) ++ return NULL; ++ } ++ char *copy = scratch->buffer.data + scratch->buffer_used; ++ memcpy (copy, s, length); ++ scratch->buffer_used += length; ++ return copy; ++} ++ ++/* Copy S into SCRATCH, including its null terminator. Returns false ++ if SCRATCH could not be resized. */ ++static bool ++addgetnetgrentX_append (struct addgetnetgrentX_scratch *scratch, const char *s) ++{ ++ if (s == NULL) ++ s = ""; ++ return addgetnetgrentX_append_n (scratch, s, strlen (s) + 1) != NULL; ++} ++ ++/* Caller must initialize and free *SCRATCH. If the return value is ++ negative, this function has sent a notfound response. */ + static time_t + addgetnetgrentX (struct database_dyn *db, int fd, request_header *req, + const char *key, uid_t uid, struct hashentry *he, +- struct datahead *dh, struct dataset **resultp, +- void **tofreep) ++ struct datahead *dh, struct addgetnetgrentX_scratch *scratch) + { + if (__glibc_unlikely (debug_level > 0)) + { +@@ -132,14 +209,10 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req, + + char *key_copy = NULL; + struct __netgrent data; +- size_t buflen = MAX (1024, sizeof (*dataset) + req->key_len); +- size_t buffilled = sizeof (*dataset); +- char *buffer = NULL; + size_t nentries = 0; + size_t group_len = strlen (key) + 1; + struct name_list *first_needed + = alloca (sizeof (struct name_list) + group_len); +- *tofreep = NULL; + + if (netgroup_database == NULL + && !__nss_database_get (nss_database_netgroup, &netgroup_database)) +@@ -151,8 +224,6 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req, + } + + memset (&data, '\0', sizeof (data)); +- buffer = xmalloc (buflen); +- *tofreep = buffer; + first_needed->next = first_needed; + memcpy (first_needed->name, key, group_len); + data.needed_groups = first_needed; +@@ -195,8 +266,8 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req, + while (1) + { + int e; +- status = getfct.f (&data, buffer + buffilled, +- buflen - buffilled - req->key_len, &e); ++ status = getfct.f (&data, scratch->tmp.data, ++ scratch->tmp.length, &e); + if (status == NSS_STATUS_SUCCESS) + { + if (data.type == triple_val) +@@ -204,68 +275,10 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req, + const char *nhost = data.val.triple.host; + const char *nuser = data.val.triple.user; + const char *ndomain = data.val.triple.domain; +- +- size_t hostlen = strlen (nhost ?: "") + 1; +- size_t userlen = strlen (nuser ?: "") + 1; +- size_t domainlen = strlen (ndomain ?: "") + 1; +- +- if (nhost == NULL || nuser == NULL || ndomain == NULL +- || nhost > nuser || nuser > ndomain) +- { +- const char *last = nhost; +- if (last == NULL +- || (nuser != NULL && nuser > last)) +- last = nuser; +- if (last == NULL +- || (ndomain != NULL && ndomain > last)) +- last = ndomain; +- +- size_t bufused +- = (last == NULL +- ? buffilled +- : last + strlen (last) + 1 - buffer); +- +- /* We have to make temporary copies. */ +- size_t needed = hostlen + userlen + domainlen; +- +- if (buflen - req->key_len - bufused < needed) +- { +- buflen += MAX (buflen, 2 * needed); +- /* Save offset in the old buffer. We don't +- bother with the NULL check here since +- we'll do that later anyway. */ +- size_t nhostdiff = nhost - buffer; +- size_t nuserdiff = nuser - buffer; +- size_t ndomaindiff = ndomain - buffer; +- +- char *newbuf = xrealloc (buffer, buflen); +- /* Fix up the triplet pointers into the new +- buffer. */ +- nhost = (nhost ? newbuf + nhostdiff +- : NULL); +- nuser = (nuser ? newbuf + nuserdiff +- : NULL); +- ndomain = (ndomain ? newbuf + ndomaindiff +- : NULL); +- *tofreep = buffer = newbuf; +- } +- +- nhost = memcpy (buffer + bufused, +- nhost ?: "", hostlen); +- nuser = memcpy ((char *) nhost + hostlen, +- nuser ?: "", userlen); +- ndomain = memcpy ((char *) nuser + userlen, +- ndomain ?: "", domainlen); +- } +- +- char *wp = buffer + buffilled; +- wp = memmove (wp, nhost ?: "", hostlen); +- wp += hostlen; +- wp = memmove (wp, nuser ?: "", userlen); +- wp += userlen; +- wp = memmove (wp, ndomain ?: "", domainlen); +- wp += domainlen; +- buffilled = wp - buffer; ++ if (!(addgetnetgrentX_append (scratch, nhost) ++ && addgetnetgrentX_append (scratch, nuser) ++ && addgetnetgrentX_append (scratch, ndomain))) ++ return send_notfound (fd); + ++nentries; + } + else +@@ -317,8 +330,8 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req, + } + else if (status == NSS_STATUS_TRYAGAIN && e == ERANGE) + { +- buflen *= 2; +- *tofreep = buffer = xrealloc (buffer, buflen); ++ if (!scratch_buffer_grow (&scratch->tmp)) ++ return send_notfound (fd); + } + else if (status == NSS_STATUS_RETURN + || status == NSS_STATUS_NOTFOUND +@@ -351,10 +364,17 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req, + goto maybe_cache_add; + } + +- total = buffilled; ++ /* Capture the result size without the key appended. */ ++ total = scratch->buffer_used; ++ ++ /* Make a copy of the key. The scratch buffer must not move after ++ this point. */ ++ key_copy = addgetnetgrentX_append_n (scratch, key, req->key_len); ++ if (key_copy == NULL) ++ return send_notfound (fd); + + /* Fill in the dataset. */ +- dataset = (struct dataset *) buffer; ++ dataset = scratch->buffer.data; + timeout = datahead_init_pos (&dataset->head, total + req->key_len, + total - offsetof (struct dataset, resp), + he == NULL ? 0 : dh->nreloads + 1, +@@ -363,11 +383,7 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req, + dataset->resp.version = NSCD_VERSION; + dataset->resp.found = 1; + dataset->resp.nresults = nentries; +- dataset->resp.result_len = buffilled - sizeof (*dataset); +- +- assert (buflen - buffilled >= req->key_len); +- key_copy = memcpy (buffer + buffilled, key, req->key_len); +- buffilled += req->key_len; ++ dataset->resp.result_len = total - sizeof (*dataset); + + /* Now we can determine whether on refill we have to create a new + record or not. */ +@@ -398,7 +414,7 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req, + if (__glibc_likely (newp != NULL)) + { + /* Adjust pointer into the memory block. */ +- key_copy = (char *) newp + (key_copy - buffer); ++ key_copy = (char *) newp + (key_copy - (char *) dataset); + + dataset = memcpy (newp, dataset, total + req->key_len); + cacheable = true; +@@ -439,7 +455,7 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req, + } + + out: +- *resultp = dataset; ++ scratch->dataset = dataset; + + return timeout; + } +@@ -460,6 +476,9 @@ addinnetgrX (struct database_dyn *db, int fd, request_header *req, + if (user != NULL) + key = strchr (key, '\0') + 1; + const char *domain = *key++ ? key : NULL; ++ struct addgetnetgrentX_scratch scratch; ++ ++ addgetnetgrentX_scratch_init (&scratch); + + if (__glibc_unlikely (debug_level > 0)) + { +@@ -475,12 +494,8 @@ addinnetgrX (struct database_dyn *db, int fd, request_header *req, + group, group_len, + db, uid); + time_t timeout; +- void *tofree; + if (result != NULL) +- { +- timeout = result->head.timeout; +- tofree = NULL; +- } ++ timeout = result->head.timeout; + else + { + request_header req_get = +@@ -489,7 +504,10 @@ addinnetgrX (struct database_dyn *db, int fd, request_header *req, + .key_len = group_len + }; + timeout = addgetnetgrentX (db, -1, &req_get, group, uid, NULL, NULL, +- &result, &tofree); ++ &scratch); ++ result = scratch.dataset; ++ if (timeout < 0) ++ goto out; + } + + struct indataset +@@ -603,7 +621,7 @@ addinnetgrX (struct database_dyn *db, int fd, request_header *req, + } + + out: +- free (tofree); ++ addgetnetgrentX_scratch_free (&scratch); + return timeout; + } + +@@ -613,11 +631,12 @@ addgetnetgrentX_ignore (struct database_dyn *db, int fd, request_header *req, + const char *key, uid_t uid, struct hashentry *he, + struct datahead *dh) + { +- struct dataset *ignore; +- void *tofree; +- time_t timeout = addgetnetgrentX (db, fd, req, key, uid, he, dh, +- &ignore, &tofree); +- free (tofree); ++ struct addgetnetgrentX_scratch scratch; ++ addgetnetgrentX_scratch_init (&scratch); ++ time_t timeout = addgetnetgrentX (db, fd, req, key, uid, he, dh, &scratch); ++ addgetnetgrentX_scratch_free (&scratch); ++ if (timeout < 0) ++ timeout = 0; + return timeout; + } + +@@ -661,5 +680,9 @@ readdinnetgr (struct database_dyn *db, struct hashentry *he, + .key_len = he->len + }; + +- return addinnetgrX (db, -1, &req, db->data + he->key, he->owner, he, dh); ++ int timeout = addinnetgrX (db, -1, &req, db->data + he->key, he->owner, ++ he, dh); ++ if (timeout < 0) ++ timeout = 0; ++ return timeout; + } +-- +2.45.0 + 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..de4b68b --- /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) 2024 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..b4863c9 --- /dev/null +++ b/glibc.changes @@ -0,0 +1,9832 @@ +------------------------------------------------------------------- +Mon Jul 29 07:50:31 UTC 2024 - Andreas Schwab + +- Update to glibc 2.40 + * The header type-generic macros have been changed when using + GCC 14.1 or later to use __builtin_stdc_bit_ceil etc. built-in functions + * The GNU C Library now supports a feature test macro _ISOC23_SOURCE to + enable features from the ISO C23 standard + * The ISO C23 function families introduced in TS + 18661-4:2015 are now supported in + * A new tunable, glibc.rtld.enable_secure, can be used to run a program + as if it were a setuid process + * On Linux, the epoll header was updated to include epoll ioctl definitions + and the related structure added in Linux kernel 6.9 + * The fortify functionality has been significantly enhanced for building + programs with clang against the GNU C Library + * Many functions have been added to the vector library for aarch64 + * On x86, memset can now use non-temporal stores to improve the performance + of large writes + * Architectures which use a 32-bit seconds-since-epoch field in struct + lastlog, struct utmp, struct utmpx (such as i386, powerpc64le, rv32, + rv64, x86-64) switched from a signed to an unsigned type for that + field + * __rseq_size now denotes the size of the active rseq area (20 bytes + initially), not the size of struct rseq (32 bytes initially). +- arm-dl-start-user.patch, duplocale-global-locale.patch, + elf-parse-tunables.patch, + glibc-CVE-2024-33599-nscd-Stack-based-buffer-overflow-in-n.patch, + glibc-CVE-2024-33600-nscd-Avoid-null-pointer-crashes-after.patch, + glibc-CVE-2024-33600-nscd-Do-not-send-missing-not-found-re.patch, + glibc-CVE-2024-33601-CVE-2024-33602-nscd-netgroup-Use-two.patch, + iconv-iso-2022-cn-ext.patch, nscd-netgroup-cache-timeout.patch, + s390-clone-error-clobber-r7.patch, sigisemptyset.patch, + stdbit-builtins.patch, utmp-time-bits.patch: Removed +- glibc-2.3.90-langpackdir.diff: Rediff + +------------------------------------------------------------------- +Mon Jun 3 08:24:38 UTC 2024 - Dominique Leuenberger + +- Also provide glibc-locale-base- from + glibc-gconv-modules-extra-: the package was merged in the + baselibs.conf case, so the capability is there. Steam for one has a + requires on the symbol (boo#1225809). + +------------------------------------------------------------------- +Tue May 28 07:27:01 UTC 2024 - Andreas Schwab + +- Obsolete glibc-locale-base- from glibc- + +------------------------------------------------------------------- +Tue May 21 09:44:46 UTC 2024 - Andreas Schwab + +- Move essential (Latin-1 and UTF based) gconv modules to main glibc + package, other modules to new package glibc-gconv-modules-extra + +------------------------------------------------------------------- +Mon May 13 09:45:36 UTC 2024 - Andreas Schwab + +- glibc-CVE-2024-33599-nscd-Stack-based-buffer-overflow-in-n.patch: + nscd: Stack-based buffer overflow in netgroup cache + (CVE-2024-33599, bsc#1223423, BZ #31677) +- glibc-CVE-2024-33600-nscd-Avoid-null-pointer-crashes-after.patch: + nscd: Avoid null pointer crashes after notfound response + (CVE-2024-33600, bsc#1223424, BZ #31678) +- glibc-CVE-2024-33600-nscd-Do-not-send-missing-not-found-re.patch: + nscd: Do not send missing not-found response in addgetnetgrentX + (CVE-2024-33600, bsc#1223424, BZ #31678) +- glibc-CVE-2024-33601-CVE-2024-33602-nscd-netgroup-Use-two.patch: + netgroup: Use two buffers in addgetnetgrentX (CVE-2024-33601, + CVE-2024-33602, bsc#1223425, BZ #31680) +- nscd-netgroup-cache-timeout.patch: Use time_t for return type of + addgetnetgrentX (CVE-2024-33602, bsc#1223425) +- glibc-fix-cve-2024-33599.patch: renamed + +------------------------------------------------------------------- +Wed May 8 15:00:21 UTC 2024 - Giuliano Belinassi + +- ulp-prologue-into-asm-functions.patch: Avoid creating ULP prologue + for _start routine (bsc#1221940) + +------------------------------------------------------------------- +Wed May 8 10:42:39 UTC 2024 - Andreas Schwab + +- utmp-time-bits.patch: login: structs utmp, utmpx, lastlog _TIME_BITS + independence (BZ #30701) +- elf-parse-tunables.patch: elf: Only process multiple tunable once (BZ + #31686) + +------------------------------------------------------------------- +Mon Apr 29 17:42:43 UTC 2024 - Giuliano Belinassi + +- glibc-fix-cve-2024-33599.patch: nscd: Stack-based buffer overflow in + netgroup cache (CVE-2024-33599, bsc#1223423) + +------------------------------------------------------------------- +Thu Apr 18 07:55:49 UTC 2024 - Andreas Schwab + +- iconv-iso-2022-cn-ext.patch: iconv: ISO-2022-CN-EXT: fix out-of-bound + writes when writing escape sequence (CVE-2024-2961, bsc#1222992) + +------------------------------------------------------------------- +Wed Mar 13 08:31:20 UTC 2024 - Andreas Schwab + +- stdbit-builtins.patch: Use gcc __builtin_stdc_* builtins in stdbit.h if + possible + +------------------------------------------------------------------- +Tue Mar 12 09:13:02 UTC 2024 - Andreas Schwab + +- sigisemptyset.patch: linux/sigsetops: fix type confusion (BZ #31468) + +------------------------------------------------------------------- +Mon Mar 11 10:06:42 UTC 2024 - Andreas Schwab + +- duplocale-global-locale.patch: duplocale: protect use of global locale + (bsc#1220441, BZ #23970) + +------------------------------------------------------------------- +Tue Feb 27 08:14:31 UTC 2024 - Ludwig Nussel + +- nsswitch.conf: Add systemd also for shadow lookups, use merge + strategy for group lookups + +------------------------------------------------------------------- +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) + +------------------------------------------------------------------- +Tue Feb 6 08:40:15 UTC 2024 - Andreas Schwab + +- arm-dl-start-user.patch: arm: Remove wrong ldr from _dl_start_user (BZ + #31339) + +------------------------------------------------------------------- +Thu Feb 1 09:25:37 UTC 2024 - Andreas Schwab + +- Update to glibc 2.39 + * A new tunable, glibc.cpu.plt_rewrite, can be used to enable PLT + rewrite on x86-64 + * Sync with Linux kernel 6.6 shadow stack interface + * struct statvfs now has an f_type member, equal to the f_type statfs + member + * On Linux, the functions posix_spawnattr_getcgroup_np and + posix_spawnattr_setcgroup_np have been added, along with the + POSIX_SPAWN_SETCGROUP flag + * On Linux, the pidfd_spawn and pidfd_spawp functions have been added + * On Linux, the pidfd_getpid function has been added + * scanf-family functions now support the wN format length modifiers for + arguments pointing to types intN_t, int_leastN_t, uintN_t or + uint_leastN_t + * A new tunable, glibc.mem.decorate_maps, can be used to add additional + information on underlying memory allocated by the glibc + * The header has been added from ISO C2X + * On AArch64 new symbols were added to libmvec + * The ldconfig program now skips file names containing ';' or ending in + ".dpkg.tmp" or ".dpkg.new" + * The dynamic linker calls the malloc and free functions in more cases + during TLS access if a shared object with dynamic TLS is loaded and + unloaded +- aarch64-rawmemchr-unwind.patch, cache-amd-legacy.patch, + cache-intel-shared.patch, call-init-proxy-objects.patch, + fstat-implementation.patch, gb18030-2022.patch, + getaddrinfo-eai-memory.patch, getaddrinfo-memory-leak.patch, + getcanonname-use-after-free.patch, iconv-error-verbosity.patch, + intl-c-utf-8-like-c-locale.patch, ldconfig-process-elf-file.patch, + libio-io-vtables.patch, libio-wdo-write.patch, + no-aaaa-read-overflow.patch, posix-memalign-fragmentation.patch, + ppc64-flock-fob64.patch, qsort-invalid-cmp.patch, + sem-open-o-creat.patch, setxid-propagate-glibc-tunables.patch, + syslog-buffer-overflow.patch, tls-modid-reuse.patch, + tunables-string-parsing.patch: Removed + +------------------------------------------------------------------- +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..e0d78fc --- /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) + +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 +=SLj7 +-----END PGP PUBLIC KEY BLOCK----- + +GPG keys of Paul Eggert +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQINBEyAcmQBEADAAyH2xoTu7ppG5D3a8FMZEon74dCvc4+q1XA2J2tBy2pwaTqf +hpxxdGA9Jj50UJ3PD4bSUEgN8tLZ0san47l5XTAFLi2456ciSl5m8sKaHlGdt9Xm +AAtmXqeZVIYX/UFS96fDzf4xhEmm/y7LbYEPQdUdxu47xA5KhTYp5bltF3WYDz1Y +gd7gx07Auwp7iw7eNvnoDTAlKAl8KYDZzbDNCQGEbpY3efZIvPdeI+FWQN4W+kgh +y+P6au6PrIIhYraeua7XDdb2LS1en3SsmE3QjqfRqI/A2ue8JMwsvXe/WK38Ezs6 +x74iTaqI3AFH6ilAhDqpMnd/msSESNFt76DiO1ZKQMr9amVPknjfPmJISqdhgB1D +lEdw34sROf6V8mZw0xfqT6PKE46LcFefzs0kbg4GORf8vjG2Sf1tk5eU8MBiyN/b +Z03bKNjNYMpODDQQwuP84kYLkX2wBxxMAhBxwbDVZudzxDZJ1C2VXujCOJVxq2kl +jBM9ETYuUGqd75AW2LXrLw6+MuIsHFAYAgRr7+KcwDgBAfwhPBYX34nSSiHlmLC+ +KaHLeCLF5ZI2vKm3HEeCTtlOg7xZEONgwzL+fdKo+D6SoC8RRxJKs8a3sVfI4t6C +nrQzvJbBn6gxdgCu5i29J1QCYrCYvql2UyFPAK+do99/1jOXT4m2836j1wARAQAB +tCBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1PokCVQQTAQgAPwIbAwYL +CQgHAwIGFQgCCQoLBBYCAwECHgECF4AWIQR+N5Kp2Kz31jO8FYjtl+kOYqp+NAUC +YTAc/AUJHhWsGAAKCRDtl+kOYqp+NBKwD/9Qise9/wZsD8Nyl+ADOCIAFZY5qlSl +/5SyCjJIRc6cx/Z0fm4yJVH2Tf3GlSBk1uW24z8+mB2ZxFQUGjio/2iDndSqxYR4 +qvPGudo4RGvdvhw6LLqTdRsAY4947xLpNUO6gDtZsRpn4isn+ViX85XfGJrIFjBm +zj70eMxEZZrz1IMfUB5I/2oNGDsXDZlCUU30RFMYChGA1ofpIHWdAs+lW2jVBfeE +Lbi2su+oUpqrx83u0eJQg3RY3jmPjw8snHS4ieXpvS0e89qziBlNCqS59qJHaf4G +XCjz+o5gap2e0NEeQYqcyCqAfqjI78KEpVJNQx5D/zSOvnNs6KuzWD7No4nb5A3p +A6KA1JAwJW0H3F2+RhTEg+kFxpcCen0jjuFBnE3TfO3RSpSGqZN0j4AkuR6h/+I7 +uUfaQAAope4mso/9VBEElaHYTQmA/m4/AXb2Kt/qkt6QgUIyJtSKcMCVTbfL6iIj +rzu4EzkjtZJkbAfvU8lpkUsWX2Qwo25MwyxyzsHMUq9ccIRPEiI0hVu7jeFAql6c +ql/3KUWvSr8QCyn7KWhfxyzy6j0+2xtQ29LHAOhboawJJoZd+PtintzHSSZ6G+8T +Xn3EbjmHHlXWWfnvWyaJCuJzf1PybRgNYqL6EXCHRHCIb4S9Av8sJpJzZiskG1v5 +WUkv79aHb1ol14kCHAQQAQIABgUCVi604AAKCRDNVPzj2WS++xxpD/4hZPbOUfcF +LwePuSD3tqKrcmAq0vmyND1aNSOht0OlUbnHtsWxJmThEVEF25VfPbWhD+DZjRj8 +hkQNzgkdeLJXJNj8JqS/MedrVa3j3wzHAnSt6fIQ8VvLmZDYg2gCpZrlU/y15Oby +OrPkgOCC6MC2PFwHnEpAfR0d6AdbZ+ZeLqbvkB/tkMsqroNMSlPtgq8AWCKX++WJ +TBpSw0o/iZjNkq7jW/BWgEVn51oTH8mgS2QN7mxltlaGG3x0AINjKcawfTX+lPks +dZ5h9Fy+2QD9MoeAoEKsrS1zFYSVAVwrVAGwvAvz7sFxYzAh0Z+IO80Vwvm8VWfK +rKr+483dzR7MzqfQyuCfMwEWg+hQ8r26qCRbe5KgNozVLsV3f1Sj5PwwnT5KE7jg +ikYHGk+kSti1V/PiiKfCn9VAHvDad4P+o11R7aH4PaoZYb0M+S7FmKaQfeWcpymH +LmpfG8JA7MCsQY0U7ix2jYHIjRZZgolYJ8T2JFf4VlzhiwsMwFNycPqNmGHF4da1 +dm248ugKqLFls2aVdb9mTlFYrUQOtLN/FizELEv8dXt4A1bjoK9pO1ZFwffgfP5a +fmFjHMSX6Z3KcXGmXZ1tYQocco7S4J4PyERGFhTyT7skXIzuml59+2G4WxGiatJI +3hhxaN0237vot5sIVDl1TpCMLr/02+qKfbkCDQRMgHJkARAApoXrvxP3DIfjCNOt +XU/PdwMShKdX/RlSs5PfunV1wbKP8herXHrvQdFVqECaTSxmlhzbk8X0PkY9gcVa +U2O49T3qsOd1cHeF52YFGEt0LhsBeMjgNX5uZ1V76r8gyeVlFpWWb0SIwJUBHrDX +exF67upeRb2vdHBjYDNeySn+0B7gFEqvVmZu+LadudDp6kQLjatFvHQHUSGNshBn +kkcaTbiI9Pst0GCc2aiznBiPPA2WQxAPlPRh3OGTsn5THADmbjqY6FEMLasVX8DS +CblMvLwNeO/8SxziBidhqLpJCqdQRWHku5XxgIkGeKOz5OLDvXHWJyafrEYjjkS6 +Ak6B5z6svKliClWnjHQcjlPzyoFFgKTEfcqDxCj4RY0D0DgtFD0NfyeOidrSB/Sz +Te2hwryQE3rpSiqo+0cGdzh4yAHKYJ+UrXZ4p93ZhjGfKD1xlrNYDlWyW9PGmbvq +FuDmiIAQf9WD/wzEfICc+F+uDDI+uYkRxUFp92ykmdhDEFg1yjYsU8iGU69aHyvh +q36z4zctvbqhRNzOWB1bVJ/dIMDvsExGcXQVDIT7sDNXv0wE3jKSKpp7NDG1oXUX +L+2+SF99Kjy753AbQSAmH617fyBNwhJWvQYg+mUvPpiGOtses9EXUI3lS4v0MEaP +G43flEs1UR+1rpFQWVHo1y1OO+sAEQEAAYkCPAQYAQgAJgIbDBYhBH43kqnYrPfW +M7wViO2X6Q5iqn40BQJhMB1RBQkeFaxtAAoJEO2X6Q5iqn40d5QP/iRm1LyrCKbM +dqgP9ShOcPH7UfFEr4SY2TDdQgE4L+QItP16RNgTxAkxaBxK95I0nletr03inRKw +sb0dIw/BH2LXbG2DjI6yKJK6UThVhWWBXYuGjSv2i6bVIzHLRY3IOQF+8dyVJ+vo +eaOtxdV1lYR1ke/Dv6pFqUGGNBsSVu/2R03uCffTA9OsRzbuV5mJrFgxVFmBAguL +N/cT5Ffh77x3LsA61Ro3hIX4399GFFBQ3h4RfMA1nNWiU0KjNy/GtW0amxn26zhq +Qvy0W0hEJRA6ts+e/4ZHwcX3U7NTnPTckbCyy71d7U8/AVHkoy7EB8ROcDbJHTJc +KlG9f6eYlPZ2aYVqBd9n1Yj4NYT1zobrQjvHQRCUAx0naKscN2es9x/rWvg4BnnB +cXRaT2a8Wy3pKzLGD61dstvUM7tnyvdBxHk7aLlbdsfZP+flP2tbHkFNZWH5myPE +lPMcQGFYyi9to+4YZU28G3rnzxmKFWkYAEMaxPZPunOZnOBHURFhgk/qs6GYSTPv +g0u/kd1JV2yOKHb8+SB/Dpk/gx9KybTUC3TtbW1b2X94ErB8LCmpMi26a3ZvyxrE +5DJx2GdUoj2QkKTSFQV7MOo1tJ9vwtSfHnpT/+E6yKtzCLl9CNiVjd57puN1BhWC +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 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 Siddhesh Poyarekar +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +TKN3JdfTyacfNU4= +=IcJn +-----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..5b9fdc9 --- /dev/null +++ b/glibc.spec @@ -0,0 +1,1452 @@ +# +# spec file for package glibc +# +# 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 snapshot +%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.40 +Release: 0 +%if %{without snapshot} +%define git_id ef321e23c2 +%define libversion %version +%else +%define git_id %(echo %version | sed 's/.*\.g//') +%define libversion %(echo %version | sed 's/\.[^.]*\.g.*//') +%endif +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 +%if %{without snapshot} +Source1: https://ftp.gnu.org/pub/gnu/glibc/glibc-%{version}.tar.xz.sig +%endif +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 +Recommends: glibc-gconv-modules-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 + +%if %{without snapshot} +### +# Patches from upstream +### +%endif + +### +# 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: 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 gconv-modules-extra +Summary: Non-essential gconv modules +License: LGPL-2.1-or-later +Group: System/Libraries +Requires: glibc = %{version} +Provides: glibc-locale-base:%{_libdir}/gconv/BIG5.so + +%description gconv-modules-extra +Modules for use by the iconv facility, to support encodings other than +Latin-1 and UTF based. + +%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_ MALLOC_PERTURB_ +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("%{_sbindir}/iconvconfig", "-o", "%{_libdir}/gconv/gconv-modules.cache", + "--nostdlib", "%{_libdir}/gconv") +end + +%postun -p %{rootsbindir}/ldconfig + +%post gconv-modules-extra -p %{_sbindir}/iconvconfig +%postun gconv-modules-extra -p %{_sbindir}/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 +%dir %{_libdir}/gconv +%{_libdir}/gconv/ANSI_X3.110.so +%{_libdir}/gconv/CP1252.so +%{_libdir}/gconv/ISO8859-1.so +%{_libdir}/gconv/ISO8859-15.so +%{_libdir}/gconv/UNICODE.so +%{_libdir}/gconv/UTF-16.so +%{_libdir}/gconv/UTF-32.so +%{_libdir}/gconv/UTF-7.so +%{_libdir}/gconv/gconv-modules +%dir %{_libdir}/gconv/gconv-modules.d +%ifarch s390x +%{_libdir}/gconv/gconv-modules.d/gconv-modules-s390.conf +%{_libdir}/gconv/ISO-8859-1_CP037_Z900.so +%{_libdir}/gconv/UTF8_UTF32_Z9.so +%{_libdir}/gconv/UTF16_UTF32_Z9.so +%{_libdir}/gconv/UTF8_UTF16_Z9.so +%endif +%attr(0644,root,root) %verify(not md5 size mtime) %ghost %{_libdir}/gconv/gconv-modules.cache + +%files gconv-modules-extra +%dir %{_libdir}/gconv +%dir %{_libdir}/gconv/gconv-modules.d +%{_libdir}/gconv/gconv-modules.d/*.conf +%{_libdir}/gconv/*.so +%exclude %{_libdir}/gconv/ANSI_X3.110.so +%exclude %{_libdir}/gconv/CP1252.so +%exclude %{_libdir}/gconv/ISO8859-1.so +%exclude %{_libdir}/gconv/ISO8859-15.so +%exclude %{_libdir}/gconv/UNICODE.so +%exclude %{_libdir}/gconv/UTF-16.so +%exclude %{_libdir}/gconv/UTF-32.so +%exclude %{_libdir}/gconv/UTF-7.so +%ifarch s390x +%exclude %{_libdir}/gconv/gconv-modules.d/gconv-modules-s390.conf +%exclude %{_libdir}/gconv/ISO-8859-1_CP037_Z900.so +%exclude %{_libdir}/gconv/UTF8_UTF32_Z9.so +%exclude %{_libdir}/gconv/UTF16_UTF32_Z9.so +%exclude %{_libdir}/gconv/UTF8_UTF16_Z9.so +%endif + +%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 + +%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-iso-2022-cn-ext.patch b/iconv-iso-2022-cn-ext.patch new file mode 100644 index 0000000..f5cc842 --- /dev/null +++ b/iconv-iso-2022-cn-ext.patch @@ -0,0 +1,216 @@ +From 31da30f23cddd36db29d5b6a1c7619361b271fb4 Mon Sep 17 00:00:00 2001 +From: Charles Fol +Date: Thu, 28 Mar 2024 12:25:38 -0300 +Subject: [PATCH] iconv: ISO-2022-CN-EXT: fix out-of-bound writes when writing + escape sequence (CVE-2024-2961) + +ISO-2022-CN-EXT uses escape sequences to indicate character set changes +(as specified by RFC 1922). While the SOdesignation has the expected +bounds checks, neither SS2designation nor SS3designation have its; +allowing a write overflow of 1, 2, or 3 bytes with fixed values: +'$+I', '$+J', '$+K', '$+L', '$+M', or '$*H'. + +Checked on aarch64-linux-gnu. + +Co-authored-by: Adhemerval Zanella +Reviewed-by: Carlos O'Donell +Tested-by: Carlos O'Donell + +(cherry picked from commit f9dc609e06b1136bb0408be9605ce7973a767ada) +--- + iconvdata/Makefile | 5 +- + iconvdata/iso-2022-cn-ext.c | 12 +++ + iconvdata/tst-iconv-iso-2022-cn-ext.c | 128 ++++++++++++++++++++++++++ + 3 files changed, 144 insertions(+), 1 deletion(-) + create mode 100644 iconvdata/tst-iconv-iso-2022-cn-ext.c + +diff --git a/iconvdata/Makefile b/iconvdata/Makefile +index ea019ce5c0..7196a8744b 100644 +--- a/iconvdata/Makefile ++++ b/iconvdata/Makefile +@@ -75,7 +75,8 @@ ifeq (yes,$(build-shared)) + tests = bug-iconv1 bug-iconv2 tst-loading tst-e2big tst-iconv4 bug-iconv4 \ + tst-iconv6 bug-iconv5 bug-iconv6 tst-iconv7 bug-iconv8 bug-iconv9 \ + bug-iconv10 bug-iconv11 bug-iconv12 tst-iconv-big5-hkscs-to-2ucs4 \ +- bug-iconv13 bug-iconv14 bug-iconv15 ++ bug-iconv13 bug-iconv14 bug-iconv15 \ ++ tst-iconv-iso-2022-cn-ext + ifeq ($(have-thread-library),yes) + tests += bug-iconv3 + endif +@@ -330,6 +331,8 @@ $(objpfx)bug-iconv14.out: $(addprefix $(objpfx), $(gconv-modules)) \ + $(addprefix $(objpfx),$(modules.so)) + $(objpfx)bug-iconv15.out: $(addprefix $(objpfx), $(gconv-modules)) \ + $(addprefix $(objpfx),$(modules.so)) ++$(objpfx)tst-iconv-iso-2022-cn-ext.out: $(addprefix $(objpfx), $(gconv-modules)) \ ++ $(addprefix $(objpfx),$(modules.so)) + + $(objpfx)iconv-test.out: run-iconv-test.sh \ + $(addprefix $(objpfx), $(gconv-modules)) \ +diff --git a/iconvdata/iso-2022-cn-ext.c b/iconvdata/iso-2022-cn-ext.c +index b34c8a36f4..cce29b1969 100644 +--- a/iconvdata/iso-2022-cn-ext.c ++++ b/iconvdata/iso-2022-cn-ext.c +@@ -574,6 +574,12 @@ DIAG_IGNORE_Os_NEEDS_COMMENT (5, "-Wmaybe-uninitialized"); + { \ + const char *escseq; \ + \ ++ if (outptr + 4 > outend) \ ++ { \ ++ result = __GCONV_FULL_OUTPUT; \ ++ break; \ ++ } \ ++ \ + assert (used == CNS11643_2_set); /* XXX */ \ + escseq = "*H"; \ + *outptr++ = ESC; \ +@@ -587,6 +593,12 @@ DIAG_IGNORE_Os_NEEDS_COMMENT (5, "-Wmaybe-uninitialized"); + { \ + const char *escseq; \ + \ ++ if (outptr + 4 > outend) \ ++ { \ ++ result = __GCONV_FULL_OUTPUT; \ ++ break; \ ++ } \ ++ \ + assert ((used >> 5) >= 3 && (used >> 5) <= 7); \ + escseq = "+I+J+K+L+M" + ((used >> 5) - 3) * 2; \ + *outptr++ = ESC; \ +diff --git a/iconvdata/tst-iconv-iso-2022-cn-ext.c b/iconvdata/tst-iconv-iso-2022-cn-ext.c +new file mode 100644 +index 0000000000..96a8765fd5 +--- /dev/null ++++ b/iconvdata/tst-iconv-iso-2022-cn-ext.c +@@ -0,0 +1,128 @@ ++/* Verify ISO-2022-CN-EXT does not write out of the bounds. ++ Copyright (C) 2024 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 ++ ++/* The test sets up a two memory page buffer with the second page marked ++ PROT_NONE to trigger a fault if the conversion writes beyond the exact ++ expected amount. Then we carry out various conversions and precisely ++ place the start of the output buffer in order to trigger a SIGSEGV if the ++ process writes anywhere between 1 and page sized bytes more (only one ++ PROT_NONE page is setup as a canary) than expected. These tests exercise ++ all three of the cases in ISO-2022-CN-EXT where the converter must switch ++ character sets and may run out of buffer space while doing the ++ operation. */ ++ ++static int ++do_test (void) ++{ ++ iconv_t cd = iconv_open ("ISO-2022-CN-EXT", "UTF-8"); ++ TEST_VERIFY_EXIT (cd != (iconv_t) -1); ++ ++ char *ntf; ++ size_t ntfsize; ++ char *outbufbase; ++ { ++ int pgz = getpagesize (); ++ TEST_VERIFY_EXIT (pgz > 0); ++ ntfsize = 2 * pgz; ++ ++ ntf = xmmap (NULL, ntfsize, PROT_READ | PROT_WRITE, MAP_PRIVATE ++ | MAP_ANONYMOUS, -1); ++ xmprotect (ntf + pgz, pgz, PROT_NONE); ++ ++ outbufbase = ntf + pgz; ++ } ++ ++ /* Check if SOdesignation escape sequence does not trigger an OOB write. */ ++ { ++ char inbuf[] = "\xe4\xba\xa4\xe6\x8d\xa2"; ++ ++ for (int i = 0; i < 9; i++) ++ { ++ char *inp = inbuf; ++ size_t inleft = sizeof (inbuf) - 1; ++ ++ char *outp = outbufbase - i; ++ size_t outleft = i; ++ ++ TEST_VERIFY_EXIT (iconv (cd, &inp, &inleft, &outp, &outleft) ++ == (size_t) -1); ++ TEST_COMPARE (errno, E2BIG); ++ ++ TEST_VERIFY_EXIT (iconv (cd, NULL, NULL, NULL, NULL) == 0); ++ } ++ } ++ ++ /* Same as before for SS2designation. */ ++ { ++ char inbuf[] = "㴽 \xe3\xb4\xbd"; ++ ++ for (int i = 0; i < 14; i++) ++ { ++ char *inp = inbuf; ++ size_t inleft = sizeof (inbuf) - 1; ++ ++ char *outp = outbufbase - i; ++ size_t outleft = i; ++ ++ TEST_VERIFY_EXIT (iconv (cd, &inp, &inleft, &outp, &outleft) ++ == (size_t) -1); ++ TEST_COMPARE (errno, E2BIG); ++ ++ TEST_VERIFY_EXIT (iconv (cd, NULL, NULL, NULL, NULL) == 0); ++ } ++ } ++ ++ /* Same as before for SS3designation. */ ++ { ++ char inbuf[] = "劄 \xe5\x8a\x84"; ++ ++ for (int i = 0; i < 14; i++) ++ { ++ char *inp = inbuf; ++ size_t inleft = sizeof (inbuf) - 1; ++ ++ char *outp = outbufbase - i; ++ size_t outleft = i; ++ ++ TEST_VERIFY_EXIT (iconv (cd, &inp, &inleft, &outp, &outleft) ++ == (size_t) -1); ++ TEST_COMPARE (errno, E2BIG); ++ ++ TEST_VERIFY_EXIT (iconv (cd, NULL, NULL, NULL, NULL) == 0); ++ } ++ } ++ ++ TEST_VERIFY_EXIT (iconv_close (cd) != -1); ++ ++ xmunmap (ntf, ntfsize); ++ ++ return 0; ++} ++ ++#include +-- +2.44.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/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/nscd-netgroup-cache-timeout.patch b/nscd-netgroup-cache-timeout.patch new file mode 100644 index 0000000..abe8f76 --- /dev/null +++ b/nscd-netgroup-cache-timeout.patch @@ -0,0 +1,36 @@ +From acc56074b0a5127631a64640aef1b7c5c103ebd8 Mon Sep 17 00:00:00 2001 +From: Florian Weimer +Date: Thu, 2 May 2024 17:06:19 +0200 +Subject: [PATCH] nscd: Use time_t for return type of addgetnetgrentX + +Using int may give false results for future dates (timeouts after the +year 2028). + +Fixes commit 04a21e050d64a1193a6daab872bca2528bda44b ("CVE-2024-33601, +CVE-2024-33602: nscd: netgroup: Use two buffers in addgetnetgrentX +(bug 31680)"). + +Reviewed-by: Carlos O'Donell +(cherry picked from commit 4bbca1a44691a6e9adcee5c6798a707b626bc331) +--- + nscd/netgroupcache.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/nscd/netgroupcache.c b/nscd/netgroupcache.c +index e8fe041846..01d554af9c 100644 +--- a/nscd/netgroupcache.c ++++ b/nscd/netgroupcache.c +@@ -680,8 +680,8 @@ readdinnetgr (struct database_dyn *db, struct hashentry *he, + .key_len = he->len + }; + +- int timeout = addinnetgrX (db, -1, &req, db->data + he->key, he->owner, +- he, dh); ++ time_t timeout = addinnetgrX (db, -1, &req, db->data + he->key, he->owner, ++ he, dh); + if (timeout < 0) + timeout = 0; + return timeout; +-- +2.45.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..5d17aec --- /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 [SUCCESS=merge] systemd +shadow: compat systemd +# 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/s390-clone-error-clobber-r7.patch b/s390-clone-error-clobber-r7.patch new file mode 100644 index 0000000..c82cf53 --- /dev/null +++ b/s390-clone-error-clobber-r7.patch @@ -0,0 +1,148 @@ +From 02782fd12849b6673cb5c2728cb750e8ec295aa3 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. +--- + 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 | 73 ++++++++++++++++---- + 3 files changed, 63 insertions(+), 12 deletions(-) + +diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/clone.S b/sysdeps/unix/sysv/linux/s390/s390-32/clone.S +index 4c882ef2ee..a7a863242c 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 4eb104be71..c552a6b8de 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 470676ab2b..2bc7124983 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; + + int child_fn(void *arg) + { +@@ -30,22 +34,67 @@ 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; ++ ++ result = clone (fn, stack, 0, NULL); ++ ++ /* 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); ++} + +- result = clone (child_fn, NULL, 0, NULL); ++static int ++do_test (void) ++{ ++ char st[128 * 1024] __attribute__ ((aligned)); ++ void *stack = NULL; ++#if _STACK_GROWS_DOWN ++ stack = st + sizeof (st); ++#elif _STACK_GROWS_UP ++ stack = st; ++#else ++# 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/sigisemptyset.patch b/sigisemptyset.patch new file mode 100644 index 0000000..c5d3fa4 --- /dev/null +++ b/sigisemptyset.patch @@ -0,0 +1,128 @@ +From 2173173d57971d042c0ad4b281431ae127e9b5b8 Mon Sep 17 00:00:00 2001 +From: Andreas Schwab +Date: Mon, 11 Mar 2024 15:13:09 +0100 +Subject: [PATCH] linux/sigsetops: fix type confusion (bug 31468) + +Each mask in the sigset array is an unsigned long, so fix __sigisemptyset +to use that instead of int. The __sigword function returns a simple array +index, so it can return int instead of unsigned long. +--- + signal/tst-sigisemptyset.c | 11 +++++++++++ + sysdeps/unix/sysv/linux/internal-sigset.h | 8 ++++---- + sysdeps/unix/sysv/linux/sigsetops.h | 10 +++++----- + 3 files changed, 20 insertions(+), 9 deletions(-) + +diff --git a/signal/tst-sigisemptyset.c b/signal/tst-sigisemptyset.c +index f5e35e8c22..11e7f39d09 100644 +--- a/signal/tst-sigisemptyset.c ++++ b/signal/tst-sigisemptyset.c +@@ -89,6 +89,17 @@ do_test (void) + TEST_COMPARE (sigisemptyset (&set), 1); + } + ++ { ++ sigset_t set; ++ for (int sig = 1; sig <= NSIG; sig++) ++ { ++ sigemptyset (&set); ++ if (sigaddset (&set, sig) < 0) ++ continue; ++ TEST_COMPARE (sigisemptyset (&set), 0); ++ } ++ } ++ + return 0; + } + +diff --git a/sysdeps/unix/sysv/linux/internal-sigset.h b/sysdeps/unix/sysv/linux/internal-sigset.h +index 3c21c3b6d5..5d7020b42d 100644 +--- a/sysdeps/unix/sysv/linux/internal-sigset.h ++++ b/sysdeps/unix/sysv/linux/internal-sigset.h +@@ -54,7 +54,7 @@ static inline int + internal_sigisemptyset (const internal_sigset_t *set) + { + int cnt = __NSIG_WORDS; +- int ret = set->__val[--cnt]; ++ unsigned long int ret = set->__val[--cnt]; + while (ret == 0 && --cnt >= 0) + ret = set->__val[cnt]; + return ret == 0; +@@ -82,7 +82,7 @@ static inline int + internal_sigismember (const internal_sigset_t *set, int sig) + { + unsigned long int mask = __sigmask (sig); +- unsigned long int word = __sigword (sig); ++ int word = __sigword (sig); + return set->__val[word] & mask ? 1 : 0; + } + +@@ -90,7 +90,7 @@ static inline void + internal_sigaddset (internal_sigset_t *set, int sig) + { + unsigned long int mask = __sigmask (sig); +- unsigned long int word = __sigword (sig); ++ int word = __sigword (sig); + set->__val[word] |= mask; + } + +@@ -98,7 +98,7 @@ static inline void + internal_sigdelset (internal_sigset_t *set, int sig) + { + unsigned long int mask = __sigmask (sig); +- unsigned long int word = __sigword (sig); ++ int word = __sigword (sig); + set->__val[word] &= ~mask; + } + +diff --git a/sysdeps/unix/sysv/linux/sigsetops.h b/sysdeps/unix/sysv/linux/sigsetops.h +index abd5576172..33db4f77b8 100644 +--- a/sysdeps/unix/sysv/linux/sigsetops.h ++++ b/sysdeps/unix/sysv/linux/sigsetops.h +@@ -28,7 +28,7 @@ + (1UL << (((sig) - 1) % ULONG_WIDTH)) + + /* Return the word index for SIG. */ +-static inline unsigned long int ++static inline int + __sigword (int sig) + { + return (sig - 1) / ULONG_WIDTH; +@@ -66,7 +66,7 @@ static inline int + __sigisemptyset (const sigset_t *set) + { + int cnt = __NSIG_WORDS; +- int ret = set->__val[--cnt]; ++ unsigned long int ret = set->__val[--cnt]; + while (ret == 0 && --cnt >= 0) + ret = set->__val[cnt]; + return ret == 0; +@@ -92,7 +92,7 @@ static inline int + __sigismember (const sigset_t *set, int sig) + { + unsigned long int mask = __sigmask (sig); +- unsigned long int word = __sigword (sig); ++ int word = __sigword (sig); + return set->__val[word] & mask ? 1 : 0; + } + +@@ -100,7 +100,7 @@ static inline void + __sigaddset (sigset_t *set, int sig) + { + unsigned long int mask = __sigmask (sig); +- unsigned long int word = __sigword (sig); ++ int word = __sigword (sig); + set->__val[word] |= mask; + } + +@@ -108,7 +108,7 @@ static inline void + __sigdelset (sigset_t *set, int sig) + { + unsigned long int mask = __sigmask (sig); +- unsigned long int word = __sigword (sig); ++ int word = __sigword (sig); + set->__val[word] &= ~mask; + } + +-- +2.44.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/stdbit-builtins.patch b/stdbit-builtins.patch new file mode 100644 index 0000000..0eed8c0 --- /dev/null +++ b/stdbit-builtins.patch @@ -0,0 +1,1061 @@ +From 1b9c1a0047fb26a65a9b2a7b8cd977243f7d353c Mon Sep 17 00:00:00 2001 +From: Jakub Jelinek +Date: Wed, 31 Jan 2024 19:17:27 +0100 +Subject: [PATCH] Use gcc __builtin_stdc_* builtins in stdbit.h if possible + +The following patch uses the GCC 14 __builtin_stdc_* builtins in stdbit.h +for the type-generic macros, so that when compiled with GCC 14 or later, +it supports not just 8/16/32/64-bit unsigned integers, but also 128-bit +(if target supports them) and unsigned _BitInt (any supported precision). +And so that the macros don't expand arguments multiple times and can be +evaluated in constant expressions. + +The new testcase is gcc's gcc/testsuite/gcc.dg/builtin-stdc-bit-1.c +adjusted to test stdbit.h and the type-generic macros in there instead +of the builtins and adjusted to use glibc test framework rather than +gcc style tests with __builtin_abort (). + +Signed-off-by: Jakub Jelinek +Reviewed-by: Joseph Myers +(cherry picked from commit da89496337b97e6a2aaf1e81d55cf998f6db1070) +--- + manual/stdbit.texi | 8 +- + stdlib/Makefile | 1 + + stdlib/stdbit.h | 84 +++- + stdlib/tst-stdbit-builtins.c | 778 +++++++++++++++++++++++++++++++++++ + 4 files changed, 856 insertions(+), 15 deletions(-) + create mode 100644 stdlib/tst-stdbit-builtins.c + +diff --git a/manual/stdbit.texi b/manual/stdbit.texi +index fe41c671d8..6c75ed9a20 100644 +--- a/manual/stdbit.texi ++++ b/manual/stdbit.texi +@@ -32,7 +32,13 @@ and @code{unsigned long long int}. In addition, there is a + corresponding type-generic macro (not listed below), named the same as + the functions but without any suffix such as @samp{_uc}. The + type-generic macro can only be used with an argument of an unsigned +-integer type with a width of 8, 16, 32 or 64 bits. ++integer type with a width of 8, 16, 32 or 64 bits, or when using ++a compiler with support for ++@uref{https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html,@code{__builtin_stdc_bit_ceil}}, ++etc.@:, built-in functions such as GCC 14.1 or later ++any unsigned integer type those built-in functions support. ++In GCC 14.1 that includes support for @code{unsigned __int128} and ++@code{unsigned _BitInt(@var{n})} if supported by the target. + + @deftypefun {unsigned int} stdc_leading_zeros_uc (unsigned char @var{x}) + @deftypefunx {unsigned int} stdc_leading_zeros_us (unsigned short @var{x}) +diff --git a/stdlib/Makefile b/stdlib/Makefile +index d587f054d1..9898cc5d8a 100644 +--- a/stdlib/Makefile ++++ b/stdlib/Makefile +@@ -308,6 +308,7 @@ tests := \ + tst-setcontext10 \ + tst-setcontext11 \ + tst-stdbit-Wconversion \ ++ tst-stdbit-builtins \ + tst-stdc_bit_ceil \ + tst-stdc_bit_floor \ + tst-stdc_bit_width \ +diff --git a/stdlib/stdbit.h b/stdlib/stdbit.h +index f334eb174d..2801590c63 100644 +--- a/stdlib/stdbit.h ++++ b/stdlib/stdbit.h +@@ -64,9 +64,13 @@ extern unsigned int stdc_leading_zeros_ul (unsigned long int __x) + __extension__ + extern unsigned int stdc_leading_zeros_ull (unsigned long long int __x) + __THROW __attribute_const__; +-#define stdc_leading_zeros(x) \ ++#if __glibc_has_builtin (__builtin_stdc_leading_zeros) ++# define stdc_leading_zeros(x) (__builtin_stdc_leading_zeros (x)) ++#else ++# define stdc_leading_zeros(x) \ + (stdc_leading_zeros_ull (x) \ + - (unsigned int) (8 * (sizeof (0ULL) - sizeof (x)))) ++#endif + + #if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_clzll) + static __always_inline unsigned int +@@ -116,9 +120,13 @@ extern unsigned int stdc_leading_ones_ul (unsigned long int __x) + __extension__ + extern unsigned int stdc_leading_ones_ull (unsigned long long int __x) + __THROW __attribute_const__; +-#define stdc_leading_ones(x) \ ++#if __glibc_has_builtin (__builtin_stdc_leading_ones) ++# define stdc_leading_ones(x) (__builtin_stdc_leading_ones (x)) ++#else ++# define stdc_leading_ones(x) \ + (stdc_leading_ones_ull ((unsigned long long int) (x) \ + << 8 * (sizeof (0ULL) - sizeof (x)))) ++#endif + + #if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_clzll) + static __always_inline unsigned int +@@ -168,11 +176,15 @@ extern unsigned int stdc_trailing_zeros_ul (unsigned long int __x) + __extension__ + extern unsigned int stdc_trailing_zeros_ull (unsigned long long int __x) + __THROW __attribute_const__; +-#define stdc_trailing_zeros(x) \ ++#if __glibc_has_builtin (__builtin_stdc_trailing_zeros) ++# define stdc_trailing_zeros(x) (__builtin_stdc_trailing_zeros (x)) ++#else ++# define stdc_trailing_zeros(x) \ + (sizeof (x) == 8 ? stdc_trailing_zeros_ull (x) \ + : sizeof (x) == 4 ? stdc_trailing_zeros_ui (x) \ + : sizeof (x) == 2 ? stdc_trailing_zeros_us (__pacify_uint16 (x)) \ + : stdc_trailing_zeros_uc (__pacify_uint8 (x))) ++#endif + + #if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_ctzll) + static __always_inline unsigned int +@@ -222,7 +234,11 @@ extern unsigned int stdc_trailing_ones_ul (unsigned long int __x) + __extension__ + extern unsigned int stdc_trailing_ones_ull (unsigned long long int __x) + __THROW __attribute_const__; +-#define stdc_trailing_ones(x) (stdc_trailing_ones_ull (x)) ++#if __glibc_has_builtin (__builtin_stdc_trailing_ones) ++# define stdc_trailing_ones(x) (__builtin_stdc_trailing_ones (x)) ++#else ++# define stdc_trailing_ones(x) (stdc_trailing_ones_ull (x)) ++#endif + + #if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_ctzll) + static __always_inline unsigned int +@@ -272,11 +288,15 @@ extern unsigned int stdc_first_leading_zero_ul (unsigned long int __x) + __extension__ + extern unsigned int stdc_first_leading_zero_ull (unsigned long long int __x) + __THROW __attribute_const__; +-#define stdc_first_leading_zero(x) \ ++#if __glibc_has_builtin (__builtin_stdc_first_leading_zero) ++# define stdc_first_leading_zero(x) (__builtin_stdc_first_leading_zero (x)) ++#else ++# define stdc_first_leading_zero(x) \ + (sizeof (x) == 8 ? stdc_first_leading_zero_ull (x) \ + : sizeof (x) == 4 ? stdc_first_leading_zero_ui (x) \ + : sizeof (x) == 2 ? stdc_first_leading_zero_us (__pacify_uint16 (x)) \ + : stdc_first_leading_zero_uc (__pacify_uint8 (x))) ++#endif + + #if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_clzll) + static __always_inline unsigned int +@@ -326,11 +346,15 @@ extern unsigned int stdc_first_leading_one_ul (unsigned long int __x) + __extension__ + extern unsigned int stdc_first_leading_one_ull (unsigned long long int __x) + __THROW __attribute_const__; +-#define stdc_first_leading_one(x) \ ++#if __glibc_has_builtin (__builtin_stdc_first_leading_one) ++# define stdc_first_leading_one(x) (__builtin_stdc_first_leading_one (x)) ++#else ++# define stdc_first_leading_one(x) \ + (sizeof (x) == 8 ? stdc_first_leading_one_ull (x) \ + : sizeof (x) == 4 ? stdc_first_leading_one_ui (x) \ + : sizeof (x) == 2 ? stdc_first_leading_one_us (__pacify_uint16 (x)) \ + : stdc_first_leading_one_uc (__pacify_uint8 (x))) ++#endif + + #if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_clzll) + static __always_inline unsigned int +@@ -380,11 +404,15 @@ extern unsigned int stdc_first_trailing_zero_ul (unsigned long int __x) + __extension__ + extern unsigned int stdc_first_trailing_zero_ull (unsigned long long int __x) + __THROW __attribute_const__; +-#define stdc_first_trailing_zero(x) \ ++#if __glibc_has_builtin (__builtin_stdc_first_trailing_zero) ++# define stdc_first_trailing_zero(x) (__builtin_stdc_first_trailing_zero (x)) ++#else ++# define stdc_first_trailing_zero(x) \ + (sizeof (x) == 8 ? stdc_first_trailing_zero_ull (x) \ + : sizeof (x) == 4 ? stdc_first_trailing_zero_ui (x) \ + : sizeof (x) == 2 ? stdc_first_trailing_zero_us (__pacify_uint16 (x)) \ + : stdc_first_trailing_zero_uc (__pacify_uint8 (x))) ++#endif + + #if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_ctzll) + static __always_inline unsigned int +@@ -434,11 +462,15 @@ extern unsigned int stdc_first_trailing_one_ul (unsigned long int __x) + __extension__ + extern unsigned int stdc_first_trailing_one_ull (unsigned long long int __x) + __THROW __attribute_const__; +-#define stdc_first_trailing_one(x) \ ++#if __glibc_has_builtin (__builtin_stdc_first_trailing_one) ++# define stdc_first_trailing_one(x) (__builtin_stdc_first_trailing_one (x)) ++#else ++# define stdc_first_trailing_one(x) \ + (sizeof (x) == 8 ? stdc_first_trailing_one_ull (x) \ + : sizeof (x) == 4 ? stdc_first_trailing_one_ui (x) \ + : sizeof (x) == 2 ? stdc_first_trailing_one_us (__pacify_uint16 (x)) \ + : stdc_first_trailing_one_uc (__pacify_uint8 (x))) ++#endif + + #if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_ctzll) + static __always_inline unsigned int +@@ -488,9 +520,13 @@ extern unsigned int stdc_count_zeros_ul (unsigned long int __x) + __extension__ + extern unsigned int stdc_count_zeros_ull (unsigned long long int __x) + __THROW __attribute_const__; +-#define stdc_count_zeros(x) \ ++#if __glibc_has_builtin (__builtin_stdc_count_zeros) ++# define stdc_count_zeros(x) (__builtin_stdc_count_zeros (x)) ++#else ++# define stdc_count_zeros(x) \ + (stdc_count_zeros_ull (x) \ + - (unsigned int) (8 * (sizeof (0ULL) - sizeof (x)))) ++#endif + + #if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_popcountll) + static __always_inline unsigned int +@@ -540,7 +576,11 @@ extern unsigned int stdc_count_ones_ul (unsigned long int __x) + __extension__ + extern unsigned int stdc_count_ones_ull (unsigned long long int __x) + __THROW __attribute_const__; +-#define stdc_count_ones(x) (stdc_count_ones_ull (x)) ++#if __glibc_has_builtin (__builtin_stdc_count_ones) ++# define stdc_count_ones(x) (__builtin_stdc_count_ones (x)) ++#else ++# define stdc_count_ones(x) (stdc_count_ones_ull (x)) ++#endif + + #if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_popcountll) + static __always_inline unsigned int +@@ -590,10 +630,14 @@ extern bool stdc_has_single_bit_ul (unsigned long int __x) + __extension__ + extern bool stdc_has_single_bit_ull (unsigned long long int __x) + __THROW __attribute_const__; +-#define stdc_has_single_bit(x) \ ++#if __glibc_has_builtin (__builtin_stdc_has_single_bit) ++# define stdc_has_single_bit(x) (__builtin_stdc_has_single_bit (x)) ++#else ++# define stdc_has_single_bit(x) \ + ((bool) (sizeof (x) <= sizeof (unsigned int) \ + ? stdc_has_single_bit_ui (x) \ + : stdc_has_single_bit_ull (x))) ++#endif + + static __always_inline bool + __hsb64_inline (uint64_t __x) +@@ -641,7 +685,11 @@ extern unsigned int stdc_bit_width_ul (unsigned long int __x) + __extension__ + extern unsigned int stdc_bit_width_ull (unsigned long long int __x) + __THROW __attribute_const__; +-#define stdc_bit_width(x) (stdc_bit_width_ull (x)) ++#if __glibc_has_builtin (__builtin_stdc_bit_width) ++# define stdc_bit_width(x) (__builtin_stdc_bit_width (x)) ++#else ++# define stdc_bit_width(x) (stdc_bit_width_ull (x)) ++#endif + + #if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_clzll) + static __always_inline unsigned int +@@ -691,7 +739,11 @@ extern unsigned long int stdc_bit_floor_ul (unsigned long int __x) + __extension__ + extern unsigned long long int stdc_bit_floor_ull (unsigned long long int __x) + __THROW __attribute_const__; +-#define stdc_bit_floor(x) ((__typeof (x)) stdc_bit_floor_ull (x)) ++#if __glibc_has_builtin (__builtin_stdc_bit_floor) ++# define stdc_bit_floor(x) (__builtin_stdc_bit_floor (x)) ++#else ++# define stdc_bit_floor(x) ((__typeof (x)) stdc_bit_floor_ull (x)) ++#endif + + #if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_clzll) + static __always_inline uint64_t +@@ -743,7 +795,11 @@ extern unsigned long int stdc_bit_ceil_ul (unsigned long int __x) + __extension__ + extern unsigned long long int stdc_bit_ceil_ull (unsigned long long int __x) + __THROW __attribute_const__; +-#define stdc_bit_ceil(x) ((__typeof (x)) stdc_bit_ceil_ull (x)) ++#if __glibc_has_builtin (__builtin_stdc_bit_ceil) ++# define stdc_bit_ceil(x) (__builtin_stdc_bit_ceil (x)) ++#else ++# define stdc_bit_ceil(x) ((__typeof (x)) stdc_bit_ceil_ull (x)) ++#endif + + #if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_clzll) + static __always_inline uint64_t +diff --git a/stdlib/tst-stdbit-builtins.c b/stdlib/tst-stdbit-builtins.c +new file mode 100644 +index 0000000000..536841ca8a +--- /dev/null ++++ b/stdlib/tst-stdbit-builtins.c +@@ -0,0 +1,778 @@ ++/* Test type-generic macros with compiler __builtin_stdc_* support. ++ Copyright (C) 2024 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 ++ ++#if __glibc_has_builtin (__builtin_stdc_leading_zeros) \ ++ && __glibc_has_builtin (__builtin_stdc_leading_ones) \ ++ && __glibc_has_builtin (__builtin_stdc_trailing_zeros) \ ++ && __glibc_has_builtin (__builtin_stdc_trailing_ones) \ ++ && __glibc_has_builtin (__builtin_stdc_first_leading_zero) \ ++ && __glibc_has_builtin (__builtin_stdc_first_leading_one) \ ++ && __glibc_has_builtin (__builtin_stdc_first_trailing_zero) \ ++ && __glibc_has_builtin (__builtin_stdc_first_trailing_one) \ ++ && __glibc_has_builtin (__builtin_stdc_count_zeros) \ ++ && __glibc_has_builtin (__builtin_stdc_count_ones) \ ++ && __glibc_has_builtin (__builtin_stdc_has_single_bit) \ ++ && __glibc_has_builtin (__builtin_stdc_bit_width) \ ++ && __glibc_has_builtin (__builtin_stdc_bit_floor) \ ++ && __glibc_has_builtin (__builtin_stdc_bit_ceil) ++ ++# if !defined (BITINT_MAXWIDTH) && defined (__BITINT_MAXWIDTH__) ++# define BITINT_MAXWIDTH __BITINT_MAXWIDTH__ ++# endif ++ ++typedef unsigned char uc; ++typedef unsigned short us; ++typedef unsigned int ui; ++typedef unsigned long int ul; ++typedef unsigned long long int ull; ++ ++# define expr_has_type(e, t) _Generic (e, default : 0, t : 1) ++ ++static int ++do_test (void) ++{ ++ TEST_COMPARE (stdc_leading_zeros ((uc) 0), CHAR_BIT); ++ TEST_COMPARE (expr_has_type (stdc_leading_zeros ((uc) 0), ui), 1); ++ TEST_COMPARE (stdc_leading_zeros ((us) 0), sizeof (short) * CHAR_BIT); ++ TEST_COMPARE (expr_has_type (stdc_leading_zeros ((us) 0), ui), 1); ++ TEST_COMPARE (stdc_leading_zeros (0U), sizeof (int) * CHAR_BIT); ++ TEST_COMPARE (expr_has_type (stdc_leading_zeros (0U), ui), 1); ++ TEST_COMPARE (stdc_leading_zeros (0UL), sizeof (long int) * CHAR_BIT); ++ TEST_COMPARE (expr_has_type (stdc_leading_zeros (0UL), ui), 1); ++ TEST_COMPARE (stdc_leading_zeros (0ULL), sizeof (long long int) * CHAR_BIT); ++ TEST_COMPARE (expr_has_type (stdc_leading_zeros (0ULL), ui), 1); ++ TEST_COMPARE (stdc_leading_zeros ((uc) ~0U), 0); ++ TEST_COMPARE (stdc_leading_zeros ((us) ~0U), 0); ++ TEST_COMPARE (stdc_leading_zeros (~0U), 0); ++ TEST_COMPARE (stdc_leading_zeros (~0UL), 0); ++ TEST_COMPARE (stdc_leading_zeros (~0ULL), 0); ++ TEST_COMPARE (stdc_leading_zeros ((uc) 3), CHAR_BIT - 2); ++ TEST_COMPARE (stdc_leading_zeros ((us) 9), sizeof (short) * CHAR_BIT - 4); ++ TEST_COMPARE (stdc_leading_zeros (34U), sizeof (int) * CHAR_BIT - 6); ++ TEST_COMPARE (stdc_leading_zeros (130UL), sizeof (long int) * CHAR_BIT - 8); ++ TEST_COMPARE (stdc_leading_zeros (512ULL), ++ sizeof (long long int) * CHAR_BIT - 10); ++ TEST_COMPARE (stdc_leading_ones ((uc) 0), 0); ++ TEST_COMPARE (expr_has_type (stdc_leading_ones ((uc) 0), ui), 1); ++ TEST_COMPARE (stdc_leading_ones ((us) 0), 0); ++ TEST_COMPARE (expr_has_type (stdc_leading_ones ((us) 0), ui), 1); ++ TEST_COMPARE (stdc_leading_ones (0U), 0); ++ TEST_COMPARE (expr_has_type (stdc_leading_ones (0U), ui), 1); ++ TEST_COMPARE (stdc_leading_ones (0UL), 0); ++ TEST_COMPARE (expr_has_type (stdc_leading_ones (0UL), ui), 1); ++ TEST_COMPARE (stdc_leading_ones (0ULL), 0); ++ TEST_COMPARE (expr_has_type (stdc_leading_ones (0ULL), ui), 1); ++ TEST_COMPARE (stdc_leading_ones ((uc) ~0U), CHAR_BIT); ++ TEST_COMPARE (stdc_leading_ones ((us) ~0U), sizeof (short) * CHAR_BIT); ++ TEST_COMPARE (stdc_leading_ones (~0U), sizeof (int) * CHAR_BIT); ++ TEST_COMPARE (stdc_leading_ones (~0UL), sizeof (long int) * CHAR_BIT); ++ TEST_COMPARE (stdc_leading_ones (~0ULL), sizeof (long long int) * CHAR_BIT); ++ TEST_COMPARE (stdc_leading_ones ((uc) ~3), CHAR_BIT - 2); ++ TEST_COMPARE (stdc_leading_ones ((us) ~9), sizeof (short) * CHAR_BIT - 4); ++ TEST_COMPARE (stdc_leading_ones (~34U), sizeof (int) * CHAR_BIT - 6); ++ TEST_COMPARE (stdc_leading_ones (~130UL), sizeof (long int) * CHAR_BIT - 8); ++ TEST_COMPARE (stdc_leading_ones (~512ULL), ++ sizeof (long long int) * CHAR_BIT - 10); ++ TEST_COMPARE (stdc_trailing_zeros ((uc) 0), CHAR_BIT); ++ TEST_COMPARE (expr_has_type (stdc_trailing_zeros ((uc) 0), ui), 1); ++ TEST_COMPARE (stdc_trailing_zeros ((us) 0), sizeof (short) * CHAR_BIT); ++ TEST_COMPARE (expr_has_type (stdc_trailing_zeros ((us) 0), ui), 1); ++ TEST_COMPARE (stdc_trailing_zeros (0U), sizeof (int) * CHAR_BIT); ++ TEST_COMPARE (expr_has_type (stdc_trailing_zeros (0U), ui), 1); ++ TEST_COMPARE (stdc_trailing_zeros (0UL), sizeof (long int) * CHAR_BIT); ++ TEST_COMPARE (expr_has_type (stdc_trailing_zeros (0UL), ui), 1); ++ TEST_COMPARE (stdc_trailing_zeros (0ULL), sizeof (long long int) * CHAR_BIT); ++ TEST_COMPARE (expr_has_type (stdc_trailing_zeros (0ULL), ui), 1); ++ TEST_COMPARE (stdc_trailing_zeros ((uc) ~0U), 0); ++ TEST_COMPARE (stdc_trailing_zeros ((us) ~0U), 0); ++ TEST_COMPARE (stdc_trailing_zeros (~0U), 0); ++ TEST_COMPARE (stdc_trailing_zeros (~0UL), 0); ++ TEST_COMPARE (stdc_trailing_zeros (~0ULL), 0); ++ TEST_COMPARE (stdc_trailing_zeros ((uc) 2), 1); ++ TEST_COMPARE (stdc_trailing_zeros ((us) 24), 3); ++ TEST_COMPARE (stdc_trailing_zeros (32U), 5); ++ TEST_COMPARE (stdc_trailing_zeros (128UL), 7); ++ TEST_COMPARE (stdc_trailing_zeros (512ULL), 9); ++ TEST_COMPARE (stdc_trailing_ones ((uc) 0), 0); ++ TEST_COMPARE (expr_has_type (stdc_trailing_ones ((uc) 0), ui), 1); ++ TEST_COMPARE (stdc_trailing_ones ((us) 0), 0); ++ TEST_COMPARE (expr_has_type (stdc_trailing_ones ((us) 0), ui), 1); ++ TEST_COMPARE (stdc_trailing_ones (0U), 0); ++ TEST_COMPARE (expr_has_type (stdc_trailing_ones (0U), ui), 1); ++ TEST_COMPARE (stdc_trailing_ones (0UL), 0); ++ TEST_COMPARE (expr_has_type (stdc_trailing_ones (0UL), ui), 1); ++ TEST_COMPARE (stdc_trailing_ones (0ULL), 0); ++ TEST_COMPARE (expr_has_type (stdc_trailing_ones (0ULL), ui), 1); ++ TEST_COMPARE (stdc_trailing_ones ((uc) ~0U), CHAR_BIT); ++ TEST_COMPARE (stdc_trailing_ones ((us) ~0U), sizeof (short) * CHAR_BIT); ++ TEST_COMPARE (stdc_trailing_ones (~0U), sizeof (int) * CHAR_BIT); ++ TEST_COMPARE (stdc_trailing_ones (~0UL), sizeof (long int) * CHAR_BIT); ++ TEST_COMPARE (stdc_trailing_ones (~0ULL), sizeof (long long int) * CHAR_BIT); ++ TEST_COMPARE (stdc_trailing_ones ((uc) 5), 1); ++ TEST_COMPARE (stdc_trailing_ones ((us) 15), 4); ++ TEST_COMPARE (stdc_trailing_ones (127U), 7); ++ TEST_COMPARE (stdc_trailing_ones (511UL), 9); ++ TEST_COMPARE (stdc_trailing_ones (~0ULL >> 2), ++ sizeof (long long int) * CHAR_BIT - 2); ++ TEST_COMPARE (stdc_first_leading_zero ((uc) 0), 1); ++ TEST_COMPARE (expr_has_type (stdc_first_leading_zero ((uc) 0), ui), 1); ++ TEST_COMPARE (stdc_first_leading_zero ((us) 0), 1); ++ TEST_COMPARE (expr_has_type (stdc_first_leading_zero ((us) 0), ui), 1); ++ TEST_COMPARE (stdc_first_leading_zero (0U), 1); ++ TEST_COMPARE (expr_has_type (stdc_first_leading_zero (0U), ui), 1); ++ TEST_COMPARE (stdc_first_leading_zero (0UL), 1); ++ TEST_COMPARE (expr_has_type (stdc_first_leading_zero (0UL), ui), 1); ++ TEST_COMPARE (stdc_first_leading_zero (0ULL), 1); ++ TEST_COMPARE (expr_has_type (stdc_first_leading_zero (0ULL), ui), 1); ++ TEST_COMPARE (stdc_first_leading_zero ((uc) ~0U), 0); ++ TEST_COMPARE (stdc_first_leading_zero ((us) ~0U), 0); ++ TEST_COMPARE (stdc_first_leading_zero (~0U), 0); ++ TEST_COMPARE (stdc_first_leading_zero (~0UL), 0); ++ TEST_COMPARE (stdc_first_leading_zero (~0ULL), 0); ++ TEST_COMPARE (stdc_first_leading_zero ((uc) ~3U), CHAR_BIT - 1); ++ TEST_COMPARE (stdc_first_leading_zero ((us) ~15U), ++ sizeof (short) * CHAR_BIT - 3); ++ TEST_COMPARE (stdc_first_leading_zero (~63U), sizeof (int) * CHAR_BIT - 5); ++ TEST_COMPARE (stdc_first_leading_zero (~255UL), ++ sizeof (long int) * CHAR_BIT - 7); ++ TEST_COMPARE (stdc_first_leading_zero (~1023ULL), ++ sizeof (long long int) * CHAR_BIT - 9); ++ TEST_COMPARE (stdc_first_leading_one ((uc) 0), 0); ++ TEST_COMPARE (expr_has_type (stdc_first_leading_one ((uc) 0), ui), 1); ++ TEST_COMPARE (stdc_first_leading_one ((us) 0), 0); ++ TEST_COMPARE (expr_has_type (stdc_first_leading_one ((us) 0), ui), 1); ++ TEST_COMPARE (stdc_first_leading_one (0U), 0); ++ TEST_COMPARE (expr_has_type (stdc_first_leading_one (0U), ui), 1); ++ TEST_COMPARE (stdc_first_leading_one (0UL), 0); ++ TEST_COMPARE (expr_has_type (stdc_first_leading_one (0UL), ui), 1); ++ TEST_COMPARE (stdc_first_leading_one (0ULL), 0); ++ TEST_COMPARE (expr_has_type (stdc_first_leading_one (0ULL), ui), 1); ++ TEST_COMPARE (stdc_first_leading_one ((uc) ~0U), 1); ++ TEST_COMPARE (stdc_first_leading_one ((us) ~0U), 1); ++ TEST_COMPARE (stdc_first_leading_one (~0U), 1); ++ TEST_COMPARE (stdc_first_leading_one (~0UL), 1); ++ TEST_COMPARE (stdc_first_leading_one (~0ULL), 1); ++ TEST_COMPARE (stdc_first_leading_one ((uc) 3), CHAR_BIT - 1); ++ TEST_COMPARE (stdc_first_leading_one ((us) 9), ++ sizeof (short) * CHAR_BIT - 3); ++ TEST_COMPARE (stdc_first_leading_one (34U), sizeof (int) * CHAR_BIT - 5); ++ TEST_COMPARE (stdc_first_leading_one (130UL), ++ sizeof (long int) * CHAR_BIT - 7); ++ TEST_COMPARE (stdc_first_leading_one (512ULL), ++ sizeof (long long int) * CHAR_BIT - 9); ++ TEST_COMPARE (stdc_first_trailing_zero ((uc) 0), 1); ++ TEST_COMPARE (expr_has_type (stdc_first_trailing_zero ((uc) 0), ui), 1); ++ TEST_COMPARE (stdc_first_trailing_zero ((us) 0), 1); ++ TEST_COMPARE (expr_has_type (stdc_first_trailing_zero ((us) 0), ui), 1); ++ TEST_COMPARE (stdc_first_trailing_zero (0U), 1); ++ TEST_COMPARE (expr_has_type (stdc_first_trailing_zero (0U), ui), 1); ++ TEST_COMPARE (stdc_first_trailing_zero (0UL), 1); ++ TEST_COMPARE (expr_has_type (stdc_first_trailing_zero (0UL), ui), 1); ++ TEST_COMPARE (stdc_first_trailing_zero (0ULL), 1); ++ TEST_COMPARE (expr_has_type (stdc_first_trailing_zero (0ULL), ui), 1); ++ TEST_COMPARE (stdc_first_trailing_zero ((uc) ~0U), 0); ++ TEST_COMPARE (stdc_first_trailing_zero ((us) ~0U), 0); ++ TEST_COMPARE (stdc_first_trailing_zero (~0U), 0); ++ TEST_COMPARE (stdc_first_trailing_zero (~0UL), 0); ++ TEST_COMPARE (stdc_first_trailing_zero (~0ULL), 0); ++ TEST_COMPARE (stdc_first_trailing_zero ((uc) 2), 1); ++ TEST_COMPARE (stdc_first_trailing_zero ((us) 15), 5); ++ TEST_COMPARE (stdc_first_trailing_zero (63U), 7); ++ TEST_COMPARE (stdc_first_trailing_zero (128UL), 1); ++ TEST_COMPARE (stdc_first_trailing_zero (511ULL), 10); ++ TEST_COMPARE (stdc_first_trailing_one ((uc) 0), 0); ++ TEST_COMPARE (expr_has_type (stdc_first_trailing_one ((uc) 0), ui), 1); ++ TEST_COMPARE (stdc_first_trailing_one ((us) 0), 0); ++ TEST_COMPARE (expr_has_type (stdc_first_trailing_one ((us) 0), ui), 1); ++ TEST_COMPARE (stdc_first_trailing_one (0U), 0); ++ TEST_COMPARE (expr_has_type (stdc_first_trailing_one (0U), ui), 1); ++ TEST_COMPARE (stdc_first_trailing_one (0UL), 0); ++ TEST_COMPARE (expr_has_type (stdc_first_trailing_one (0UL), ui), 1); ++ TEST_COMPARE (stdc_first_trailing_one (0ULL), 0); ++ TEST_COMPARE (expr_has_type (stdc_first_trailing_one (0ULL), ui), 1); ++ TEST_COMPARE (stdc_first_trailing_one ((uc) ~0U), 1); ++ TEST_COMPARE (stdc_first_trailing_one ((us) ~0U), 1); ++ TEST_COMPARE (stdc_first_trailing_one (~0U), 1); ++ TEST_COMPARE (stdc_first_trailing_one (~0UL), 1); ++ TEST_COMPARE (stdc_first_trailing_one (~0ULL), 1); ++ TEST_COMPARE (stdc_first_trailing_one ((uc) 4), 3); ++ TEST_COMPARE (stdc_first_trailing_one ((us) 96), 6); ++ TEST_COMPARE (stdc_first_trailing_one (127U), 1); ++ TEST_COMPARE (stdc_first_trailing_one (511UL), 1); ++ TEST_COMPARE (stdc_first_trailing_one (~0ULL << 12), 13); ++ TEST_COMPARE (stdc_count_zeros ((uc) 0), CHAR_BIT); ++ TEST_COMPARE (expr_has_type (stdc_count_zeros ((uc) 0), ui), 1); ++ TEST_COMPARE (stdc_count_zeros ((us) 0), sizeof (short) * CHAR_BIT); ++ TEST_COMPARE (expr_has_type (stdc_count_zeros ((us) 0), ui), 1); ++ TEST_COMPARE (stdc_count_zeros (0U), sizeof (int) * CHAR_BIT); ++ TEST_COMPARE (expr_has_type (stdc_count_zeros (0U), ui), 1); ++ TEST_COMPARE (stdc_count_zeros (0UL), sizeof (long int) * CHAR_BIT); ++ TEST_COMPARE (expr_has_type (stdc_count_zeros (0UL), ui), 1); ++ TEST_COMPARE (stdc_count_zeros (0ULL), sizeof (long long int) * CHAR_BIT); ++ TEST_COMPARE (expr_has_type (stdc_count_zeros (0ULL), ui), 1); ++ TEST_COMPARE (stdc_count_zeros ((uc) ~0U), 0); ++ TEST_COMPARE (stdc_count_zeros ((us) ~0U), 0); ++ TEST_COMPARE (stdc_count_zeros (~0U), 0); ++ TEST_COMPARE (stdc_count_zeros (~0UL), 0); ++ TEST_COMPARE (stdc_count_zeros (~0ULL), 0); ++ TEST_COMPARE (stdc_count_zeros ((uc) 1U), CHAR_BIT - 1); ++ TEST_COMPARE (stdc_count_zeros ((us) 42), sizeof (short) * CHAR_BIT - 3); ++ TEST_COMPARE (stdc_count_zeros (291U), sizeof (int) * CHAR_BIT - 4); ++ TEST_COMPARE (stdc_count_zeros (~1315UL), 5); ++ TEST_COMPARE (stdc_count_zeros (3363ULL), ++ sizeof (long long int) * CHAR_BIT - 6); ++ TEST_COMPARE (stdc_count_ones ((uc) 0), 0); ++ TEST_COMPARE (expr_has_type (stdc_count_ones ((uc) 0), ui), 1); ++ TEST_COMPARE (stdc_count_ones ((us) 0), 0); ++ TEST_COMPARE (expr_has_type (stdc_count_ones ((us) 0), ui), 1); ++ TEST_COMPARE (stdc_count_ones (0U), 0); ++ TEST_COMPARE (expr_has_type (stdc_count_ones (0U), ui), 1); ++ TEST_COMPARE (stdc_count_ones (0UL), 0); ++ TEST_COMPARE (expr_has_type (stdc_count_ones (0UL), ui), 1); ++ TEST_COMPARE (stdc_count_ones (0ULL), 0); ++ TEST_COMPARE (expr_has_type (stdc_count_ones (0ULL), ui), 1); ++ TEST_COMPARE (stdc_count_ones ((uc) ~0U), CHAR_BIT); ++ TEST_COMPARE (stdc_count_ones ((us) ~0U), sizeof (short) * CHAR_BIT); ++ TEST_COMPARE (stdc_count_ones (~0U), sizeof (int) * CHAR_BIT); ++ TEST_COMPARE (stdc_count_ones (~0UL), sizeof (long int) * CHAR_BIT); ++ TEST_COMPARE (stdc_count_ones (~0ULL), sizeof (long long int) * CHAR_BIT); ++ TEST_COMPARE (stdc_count_ones ((uc) ~1U), CHAR_BIT - 1); ++ TEST_COMPARE (stdc_count_ones ((us) ~42), sizeof (short) * CHAR_BIT - 3); ++ TEST_COMPARE (stdc_count_ones (~291U), sizeof (int) * CHAR_BIT - 4); ++ TEST_COMPARE (stdc_count_ones (1315UL), 5); ++ TEST_COMPARE (stdc_count_ones (~3363ULL), ++ sizeof (long long int) * CHAR_BIT - 6); ++ TEST_COMPARE (stdc_has_single_bit ((uc) 0), 0); ++ TEST_COMPARE (expr_has_type (stdc_has_single_bit ((uc) 0), _Bool), 1); ++ TEST_COMPARE (stdc_has_single_bit ((us) 0), 0); ++ TEST_COMPARE (expr_has_type (stdc_has_single_bit ((us) 0), _Bool), 1); ++ TEST_COMPARE (stdc_has_single_bit (0U), 0); ++ TEST_COMPARE (expr_has_type (stdc_has_single_bit (0U), _Bool), 1); ++ TEST_COMPARE (stdc_has_single_bit (0UL), 0); ++ TEST_COMPARE (expr_has_type (stdc_has_single_bit (0UL), _Bool), 1); ++ TEST_COMPARE (stdc_has_single_bit (0ULL), 0); ++ TEST_COMPARE (expr_has_type (stdc_has_single_bit (0ULL), _Bool), 1); ++ TEST_COMPARE (stdc_has_single_bit ((uc) 2), 1); ++ TEST_COMPARE (stdc_has_single_bit ((us) 8), 1); ++ TEST_COMPARE (stdc_has_single_bit (32U), 1); ++ TEST_COMPARE (stdc_has_single_bit (128UL), 1); ++ TEST_COMPARE (stdc_has_single_bit (512ULL), 1); ++ TEST_COMPARE (stdc_has_single_bit ((uc) 7), 0); ++ TEST_COMPARE (stdc_has_single_bit ((us) 96), 0); ++ TEST_COMPARE (stdc_has_single_bit (513U), 0); ++ TEST_COMPARE (stdc_has_single_bit (1022UL), 0); ++ TEST_COMPARE (stdc_has_single_bit (12ULL), 0); ++ TEST_COMPARE (stdc_bit_width ((uc) 0), 0); ++ TEST_COMPARE (expr_has_type (stdc_bit_width ((uc) 0), ui), 1); ++ TEST_COMPARE (stdc_bit_width ((us) 0), 0); ++ TEST_COMPARE (expr_has_type (stdc_bit_width ((us) 0), ui), 1); ++ TEST_COMPARE (stdc_bit_width (0U), 0); ++ TEST_COMPARE (expr_has_type (stdc_bit_width (0U), ui), 1); ++ TEST_COMPARE (stdc_bit_width (0UL), 0); ++ TEST_COMPARE (expr_has_type (stdc_bit_width (0UL), ui), 1); ++ TEST_COMPARE (stdc_bit_width (0ULL), 0); ++ TEST_COMPARE (expr_has_type (stdc_bit_width (0ULL), ui), 1); ++ TEST_COMPARE (stdc_bit_width ((uc) ~0U), CHAR_BIT); ++ TEST_COMPARE (stdc_bit_width ((us) ~0U), sizeof (short) * CHAR_BIT); ++ TEST_COMPARE (stdc_bit_width (~0U), sizeof (int) * CHAR_BIT); ++ TEST_COMPARE (stdc_bit_width (~0UL), sizeof (long int) * CHAR_BIT); ++ TEST_COMPARE (stdc_bit_width (~0ULL), sizeof (long long int) * CHAR_BIT); ++ TEST_COMPARE (stdc_bit_width ((uc) ((uc) ~0U >> 1)), CHAR_BIT - 1); ++ TEST_COMPARE (stdc_bit_width ((uc) 6), 3); ++ TEST_COMPARE (stdc_bit_width ((us) 12U), 4); ++ TEST_COMPARE (stdc_bit_width ((us) ((us) ~0U >> 5)), ++ sizeof (short) * CHAR_BIT - 5); ++ TEST_COMPARE (stdc_bit_width (137U), 8); ++ TEST_COMPARE (stdc_bit_width (269U), 9); ++ TEST_COMPARE (stdc_bit_width (39UL), 6); ++ TEST_COMPARE (stdc_bit_width (~0UL >> 2), sizeof (long int) * CHAR_BIT - 2); ++ TEST_COMPARE (stdc_bit_width (1023ULL), 10); ++ TEST_COMPARE (stdc_bit_width (1024ULL), 11); ++ TEST_COMPARE (stdc_bit_floor ((uc) 0), 0); ++ TEST_COMPARE (expr_has_type (stdc_bit_floor ((uc) 0), uc), 1); ++ TEST_COMPARE (stdc_bit_floor ((us) 0), 0); ++ TEST_COMPARE (expr_has_type (stdc_bit_floor ((us) 0), us), 1); ++ TEST_COMPARE (stdc_bit_floor (0U), 0U); ++ TEST_COMPARE (expr_has_type (stdc_bit_floor (0U), ui), 1); ++ TEST_COMPARE (stdc_bit_floor (0UL), 0UL); ++ TEST_COMPARE (expr_has_type (stdc_bit_floor (0UL), ul), 1); ++ TEST_COMPARE (stdc_bit_floor (0ULL), 0ULL); ++ TEST_COMPARE (expr_has_type (stdc_bit_floor (0ULL), ull), 1); ++ TEST_COMPARE (stdc_bit_floor ((uc) ~0U), (1U << (CHAR_BIT - 1))); ++ TEST_COMPARE (stdc_bit_floor ((us) ~0U), ++ (1U << (sizeof (short) * CHAR_BIT - 1))); ++ TEST_COMPARE (stdc_bit_floor (~0U), (1U << (sizeof (int) * CHAR_BIT - 1))); ++ TEST_COMPARE (stdc_bit_floor (~0UL), ++ (1UL << (sizeof (long int) * CHAR_BIT - 1))); ++ TEST_COMPARE (stdc_bit_floor (~0ULL), ++ (1ULL << (sizeof (long long int) * CHAR_BIT - 1))); ++ TEST_COMPARE (stdc_bit_floor ((uc) 4), 4); ++ TEST_COMPARE (stdc_bit_floor ((uc) 7), 4); ++ TEST_COMPARE (stdc_bit_floor ((us) 8U), 8); ++ TEST_COMPARE (stdc_bit_floor ((us) 31U), 16); ++ TEST_COMPARE (stdc_bit_floor (137U), 128U); ++ TEST_COMPARE (stdc_bit_floor (269U), 256U); ++ TEST_COMPARE (stdc_bit_floor (511UL), 256UL); ++ TEST_COMPARE (stdc_bit_floor (512UL), 512UL); ++ TEST_COMPARE (stdc_bit_floor (513UL), 512ULL); ++ TEST_COMPARE (stdc_bit_floor (1024ULL), 1024ULL); ++ TEST_COMPARE (stdc_bit_ceil ((uc) 0), 1); ++ TEST_COMPARE (expr_has_type (stdc_bit_ceil ((uc) 0), uc), 1); ++ TEST_COMPARE (stdc_bit_ceil ((us) 0), 1); ++ TEST_COMPARE (expr_has_type (stdc_bit_ceil ((us) 0), us), 1); ++ TEST_COMPARE (stdc_bit_ceil (0U), 1U); ++ TEST_COMPARE (expr_has_type (stdc_bit_ceil (0U), ui), 1); ++ TEST_COMPARE (stdc_bit_ceil (0UL), 1UL); ++ TEST_COMPARE (expr_has_type (stdc_bit_ceil (0UL), ul), 1); ++ TEST_COMPARE (stdc_bit_ceil (0ULL), 1ULL); ++ TEST_COMPARE (expr_has_type (stdc_bit_ceil (0ULL), ull), 1); ++ TEST_COMPARE (stdc_bit_ceil ((uc) ~0U), 0); ++ TEST_COMPARE (stdc_bit_ceil ((us) ~0U), 0); ++ TEST_COMPARE (stdc_bit_ceil (~0U), 0U); ++ TEST_COMPARE (stdc_bit_ceil (~0UL), 0UL); ++ TEST_COMPARE (stdc_bit_ceil (~0ULL), 0ULL); ++ TEST_COMPARE (stdc_bit_ceil ((uc) ((uc) ~0U >> 1)), (1U << (CHAR_BIT - 1))); ++ TEST_COMPARE (stdc_bit_ceil ((uc) ((uc) ~0U >> 1)), (1U << (CHAR_BIT - 1))); ++ TEST_COMPARE (stdc_bit_ceil ((us) ((us) ~0U >> 1)), ++ (1U << (sizeof (short) * CHAR_BIT - 1))); ++ TEST_COMPARE (stdc_bit_ceil ((us) ((us) ~0U >> 1)), ++ (1U << (sizeof (short) * CHAR_BIT - 1))); ++ TEST_COMPARE (stdc_bit_ceil (~0U >> 1), ++ (1U << (sizeof (int) * CHAR_BIT - 1))); ++ TEST_COMPARE (stdc_bit_ceil (1U << (sizeof (int) * CHAR_BIT - 1)), ++ (1U << (sizeof (int) * CHAR_BIT - 1))); ++ TEST_COMPARE (stdc_bit_ceil (~0UL >> 1), ++ (1UL << (sizeof (long int) * CHAR_BIT - 1))); ++ TEST_COMPARE (stdc_bit_ceil (~0UL >> 1), ++ (1UL << (sizeof (long int) * CHAR_BIT - 1))); ++ TEST_COMPARE (stdc_bit_ceil (1ULL ++ << (sizeof (long long int) * CHAR_BIT - 1)), ++ (1ULL << (sizeof (long long int) * CHAR_BIT - 1))); ++ TEST_COMPARE (stdc_bit_ceil (~0ULL >> 1), ++ (1ULL << (sizeof (long long int) * CHAR_BIT - 1))); ++ TEST_COMPARE (stdc_bit_ceil ((uc) 1), 1); ++ TEST_COMPARE (stdc_bit_ceil ((uc) 2), 2); ++ TEST_COMPARE (stdc_bit_ceil ((us) 3U), 4); ++ TEST_COMPARE (stdc_bit_ceil ((us) 4U), 4); ++ TEST_COMPARE (stdc_bit_ceil (5U), 8U); ++ TEST_COMPARE (stdc_bit_ceil (269U), 512U); ++ TEST_COMPARE (stdc_bit_ceil (511UL), 512UL); ++ TEST_COMPARE (stdc_bit_ceil (512UL), 512UL); ++ TEST_COMPARE (stdc_bit_ceil (513ULL), 1024ULL); ++ TEST_COMPARE (stdc_bit_ceil (1025ULL), 2048ULL); ++# ifdef __SIZEOF_INT128__ ++ TEST_COMPARE (stdc_leading_zeros ((unsigned __int128) 0), ++ sizeof (__int128) * CHAR_BIT); ++ TEST_COMPARE (expr_has_type (stdc_leading_zeros ((unsigned __int128) 0), ui), ++ 1); ++ TEST_COMPARE (stdc_leading_zeros (~(unsigned __int128) 0), 0); ++ TEST_COMPARE (stdc_leading_ones ((unsigned __int128) 0), 0); ++ TEST_COMPARE (expr_has_type (stdc_leading_ones ((unsigned __int128) 0), ui), ++ 1); ++ TEST_COMPARE (stdc_leading_ones (~(unsigned __int128) 0), ++ sizeof (__int128) * CHAR_BIT); ++ TEST_COMPARE (stdc_trailing_zeros ((unsigned __int128) 0), ++ sizeof (__int128) * CHAR_BIT); ++ TEST_COMPARE (expr_has_type (stdc_trailing_zeros ((unsigned __int128) 0), ++ ui), 1); ++ TEST_COMPARE (stdc_trailing_zeros (~(unsigned __int128) 0), 0); ++ TEST_COMPARE (stdc_trailing_ones ((unsigned __int128) 0), 0); ++ TEST_COMPARE (expr_has_type (stdc_trailing_ones ((unsigned __int128) 0), ui), ++ 1); ++ TEST_COMPARE (stdc_trailing_ones (~(unsigned __int128) 0), ++ sizeof (__int128) * CHAR_BIT); ++ TEST_COMPARE (stdc_first_leading_zero ((unsigned __int128) 0), 1); ++ TEST_COMPARE (expr_has_type (stdc_first_leading_zero ((unsigned __int128) 0), ++ ui), 1); ++ TEST_COMPARE (stdc_first_leading_zero (~(unsigned __int128) 0), 0); ++ TEST_COMPARE (stdc_first_leading_one ((unsigned __int128) 0), 0); ++ TEST_COMPARE (expr_has_type (stdc_first_leading_one ((unsigned __int128) 0), ++ ui), 1); ++ TEST_COMPARE (stdc_first_leading_one (~(unsigned __int128) 0), 1); ++ TEST_COMPARE (stdc_first_trailing_zero ((unsigned __int128) 0), 1); ++ TEST_COMPARE (expr_has_type (stdc_first_trailing_zero ((unsigned __int128) ++ 0), ui), 1); ++ TEST_COMPARE (stdc_first_trailing_zero (~(unsigned __int128) 0), 0); ++ TEST_COMPARE (stdc_first_trailing_one ((unsigned __int128) 0), 0); ++ TEST_COMPARE (expr_has_type (stdc_first_trailing_one ((unsigned __int128) 0), ++ ui), 1); ++ TEST_COMPARE (stdc_first_trailing_one (~(unsigned __int128) 0), 1); ++ TEST_COMPARE (stdc_count_zeros ((unsigned __int128) 0), ++ sizeof (__int128) * CHAR_BIT); ++ TEST_COMPARE (expr_has_type (stdc_count_zeros ((unsigned __int128) 0), ui), ++ 1); ++ TEST_COMPARE (stdc_count_zeros (~(unsigned __int128) 0), 0); ++ TEST_COMPARE (stdc_count_ones ((unsigned __int128) 0), 0); ++ TEST_COMPARE (expr_has_type (stdc_count_ones ((unsigned __int128) 0), ui), ++ 1); ++ TEST_COMPARE (stdc_count_ones (~(unsigned __int128) 0), ++ sizeof (__int128) * CHAR_BIT); ++ TEST_COMPARE (stdc_has_single_bit ((unsigned __int128) 0), 0); ++ TEST_COMPARE (expr_has_type (stdc_has_single_bit ((unsigned __int128) 0), ++ _Bool), 1); ++ TEST_COMPARE (stdc_has_single_bit (~(unsigned __int128) 0), 0); ++ TEST_COMPARE (stdc_bit_width ((unsigned __int128) 0), 0); ++ TEST_COMPARE (expr_has_type (stdc_bit_width ((unsigned __int128) 0), ui), 1); ++ TEST_COMPARE (stdc_bit_width (~(unsigned __int128) 0), ++ sizeof (__int128) * CHAR_BIT); ++ TEST_COMPARE (stdc_bit_floor ((unsigned __int128) 0) != 0, 0); ++ TEST_COMPARE (expr_has_type (stdc_bit_floor ((unsigned __int128) 0), ++ unsigned __int128), 1); ++ TEST_COMPARE (stdc_bit_floor (~(unsigned __int128) 0) ++ != ((unsigned __int128) 1) << (sizeof (__int128) ++ * CHAR_BIT - 1), 0); ++ TEST_COMPARE (stdc_bit_ceil ((unsigned __int128) 0) != 1, 0); ++ TEST_COMPARE (expr_has_type (stdc_bit_ceil ((unsigned __int128) 0), ++ unsigned __int128), 1); ++ TEST_COMPARE (stdc_bit_ceil ((unsigned __int128) 1) != 1, 0); ++ TEST_COMPARE (stdc_bit_ceil ((~(unsigned __int128) 0) >> 1) ++ != ((unsigned __int128) 1) << (sizeof (__int128) ++ * CHAR_BIT - 1), 0); ++ TEST_COMPARE (stdc_bit_ceil (~(unsigned __int128) 0) != 0, 0); ++# endif ++ uc a = 0; ++ TEST_COMPARE (stdc_bit_width (a++), 0); ++ TEST_COMPARE (a, 1); ++ ull b = 0; ++ TEST_COMPARE (stdc_bit_width (b++), 0); ++ TEST_COMPARE (b, 1); ++ TEST_COMPARE (stdc_bit_floor (a++), 1); ++ TEST_COMPARE (a, 2); ++ TEST_COMPARE (stdc_bit_floor (b++), 1); ++ TEST_COMPARE (b, 2); ++ TEST_COMPARE (stdc_bit_ceil (a++), 2); ++ TEST_COMPARE (a, 3); ++ TEST_COMPARE (stdc_bit_ceil (b++), 2); ++ TEST_COMPARE (b, 3); ++ TEST_COMPARE (stdc_leading_zeros (a++), CHAR_BIT - 2); ++ TEST_COMPARE (a, 4); ++ TEST_COMPARE (stdc_leading_zeros (b++), ++ sizeof (long long int) * CHAR_BIT - 2); ++ TEST_COMPARE (b, 4); ++ TEST_COMPARE (stdc_leading_ones (a++), 0); ++ TEST_COMPARE (a, 5); ++ TEST_COMPARE (stdc_leading_ones (b++), 0); ++ TEST_COMPARE (b, 5); ++ TEST_COMPARE (stdc_trailing_zeros (a++), 0); ++ TEST_COMPARE (a, 6); ++ TEST_COMPARE (stdc_trailing_zeros (b++), 0); ++ TEST_COMPARE (b, 6); ++ TEST_COMPARE (stdc_trailing_ones (a++), 0); ++ TEST_COMPARE (a, 7); ++ TEST_COMPARE (stdc_trailing_ones (b++), 0); ++ TEST_COMPARE (b, 7); ++ TEST_COMPARE (stdc_first_leading_zero (a++), 1); ++ TEST_COMPARE (a, 8); ++ TEST_COMPARE (stdc_first_leading_zero (b++), 1); ++ TEST_COMPARE (b, 8); ++ TEST_COMPARE (stdc_first_leading_one (a++), CHAR_BIT - 3); ++ TEST_COMPARE (a, 9); ++ TEST_COMPARE (stdc_first_leading_one (b++), ++ sizeof (long long int) * CHAR_BIT - 3); ++ TEST_COMPARE (b, 9); ++ TEST_COMPARE (stdc_first_trailing_zero (a++), 2); ++ TEST_COMPARE (a, 10); ++ TEST_COMPARE (stdc_first_trailing_zero (b++), 2); ++ TEST_COMPARE (b, 10); ++ TEST_COMPARE (stdc_first_trailing_one (a++), 2); ++ TEST_COMPARE (a, 11); ++ TEST_COMPARE (stdc_first_trailing_one (b++), 2); ++ TEST_COMPARE (b, 11); ++ TEST_COMPARE (stdc_count_zeros (a++), CHAR_BIT - 3); ++ TEST_COMPARE (a, 12); ++ TEST_COMPARE (stdc_count_zeros (b++), ++ sizeof (long long int) * CHAR_BIT - 3); ++ TEST_COMPARE (b, 12); ++ TEST_COMPARE (stdc_count_ones (a++), 2); ++ TEST_COMPARE (a, 13); ++ TEST_COMPARE (stdc_count_ones (b++), 2); ++ TEST_COMPARE (b, 13); ++ TEST_COMPARE (stdc_has_single_bit (a++), 0); ++ TEST_COMPARE (a, 14); ++ TEST_COMPARE (stdc_has_single_bit (b++), 0); ++ TEST_COMPARE (b, 14); ++# ifdef BITINT_MAXWIDTH ++# if BITINT_MAXWIDTH >= 64 ++ TEST_COMPARE (stdc_leading_zeros (0uwb), 1); ++ TEST_COMPARE (expr_has_type (stdc_leading_zeros (0uwb), ui), 1); ++ TEST_COMPARE (stdc_leading_zeros (1uwb), 0); ++ TEST_COMPARE (expr_has_type (stdc_leading_zeros (1uwb), ui), 1); ++ TEST_COMPARE (stdc_leading_ones (0uwb), 0); ++ TEST_COMPARE (expr_has_type (stdc_leading_ones (0uwb), ui), 1); ++ TEST_COMPARE (stdc_leading_ones (1uwb), 1); ++ TEST_COMPARE (expr_has_type (stdc_leading_ones (1uwb), ui), 1); ++ TEST_COMPARE (stdc_trailing_zeros (0uwb), 1); ++ TEST_COMPARE (expr_has_type (stdc_trailing_zeros (0uwb), ui), 1); ++ TEST_COMPARE (stdc_trailing_zeros (1uwb), 0); ++ TEST_COMPARE (expr_has_type (stdc_trailing_zeros (1uwb), ui), 1); ++ TEST_COMPARE (stdc_trailing_ones (0uwb), 0); ++ TEST_COMPARE (expr_has_type (stdc_trailing_ones (0uwb), ui), 1); ++ TEST_COMPARE (stdc_trailing_ones (1uwb), 1); ++ TEST_COMPARE (expr_has_type (stdc_trailing_ones (1uwb), ui), 1); ++ TEST_COMPARE (stdc_first_leading_zero (0uwb), 1); ++ TEST_COMPARE (expr_has_type (stdc_first_leading_zero (0uwb), ui), 1); ++ TEST_COMPARE (stdc_first_leading_zero (1uwb), 0); ++ TEST_COMPARE (expr_has_type (stdc_first_leading_zero (1uwb), ui), 1); ++ TEST_COMPARE (stdc_first_leading_one (0uwb), 0); ++ TEST_COMPARE (expr_has_type (stdc_first_leading_one (0uwb), ui), 1); ++ TEST_COMPARE (stdc_first_leading_one (1uwb), 1); ++ TEST_COMPARE (expr_has_type (stdc_first_leading_one (1uwb), ui), 1); ++ TEST_COMPARE (stdc_first_trailing_zero (0uwb), 1); ++ TEST_COMPARE (expr_has_type (stdc_first_trailing_zero (0uwb), ui), 1); ++ TEST_COMPARE (stdc_first_trailing_zero (1uwb), 0); ++ TEST_COMPARE (expr_has_type (stdc_first_trailing_zero (1uwb), ui), 1); ++ TEST_COMPARE (stdc_first_trailing_one (0uwb), 0); ++ TEST_COMPARE (expr_has_type (stdc_first_trailing_one (0uwb), ui), 1); ++ TEST_COMPARE (stdc_first_trailing_one (1uwb), 1); ++ TEST_COMPARE (expr_has_type (stdc_first_trailing_one (1uwb), ui), 1); ++ TEST_COMPARE (stdc_count_zeros (0uwb), 1); ++ TEST_COMPARE (expr_has_type (stdc_count_zeros (0uwb), ui), 1); ++ TEST_COMPARE (stdc_count_zeros (1uwb), 0); ++ TEST_COMPARE (expr_has_type (stdc_count_zeros (1uwb), ui), 1); ++ TEST_COMPARE (stdc_count_ones (0uwb), 0); ++ TEST_COMPARE (expr_has_type (stdc_count_ones (0uwb), ui), 1); ++ TEST_COMPARE (stdc_count_ones (1uwb), 1); ++ TEST_COMPARE (expr_has_type (stdc_count_ones (1uwb), ui), 1); ++ TEST_COMPARE (stdc_has_single_bit (0uwb), 0); ++ TEST_COMPARE (expr_has_type (stdc_has_single_bit (0uwb), _Bool), 1); ++ TEST_COMPARE (stdc_has_single_bit (1uwb), 1); ++ TEST_COMPARE (expr_has_type (stdc_has_single_bit (1uwb), _Bool), 1); ++ TEST_COMPARE (stdc_bit_width (0uwb), 0); ++ TEST_COMPARE (expr_has_type (stdc_bit_width (0uwb), ui), 1); ++ TEST_COMPARE (stdc_bit_width (1uwb), 1); ++ TEST_COMPARE (expr_has_type (stdc_bit_width (1uwb), ui), 1); ++ TEST_COMPARE (stdc_bit_floor (0uwb), 0); ++ TEST_COMPARE (expr_has_type (stdc_bit_floor (0uwb), unsigned _BitInt(1)), 1); ++ TEST_COMPARE (stdc_bit_floor (1uwb), 1); ++ TEST_COMPARE (expr_has_type (stdc_bit_floor (1uwb), unsigned _BitInt(1)), 1); ++ TEST_COMPARE (stdc_bit_ceil (0uwb), 1); ++ TEST_COMPARE (expr_has_type (stdc_bit_ceil (0uwb), unsigned _BitInt(1)), 1); ++ TEST_COMPARE (stdc_bit_ceil (1uwb), 1); ++ TEST_COMPARE (expr_has_type (stdc_bit_ceil (1uwb), unsigned _BitInt(1)), 1); ++ unsigned _BitInt(1) c = 0; ++ TEST_COMPARE (stdc_bit_floor (c++), 0); ++ TEST_COMPARE (c, 1); ++ TEST_COMPARE (stdc_bit_floor (c++), 1); ++ TEST_COMPARE (c, 0); ++ TEST_COMPARE (stdc_bit_ceil (c++), 1); ++ TEST_COMPARE (c, 1); ++ TEST_COMPARE (stdc_bit_ceil (c++), 1); ++ TEST_COMPARE (c, 0); ++# endif ++# if BITINT_MAXWIDTH >= 512 ++ TEST_COMPARE (stdc_leading_zeros ((unsigned _BitInt(512)) 0), 512); ++ TEST_COMPARE (expr_has_type (stdc_leading_zeros ((unsigned _BitInt(512)) 0), ++ ui), 1); ++ TEST_COMPARE (stdc_leading_zeros ((unsigned _BitInt(373)) 0), 373); ++ TEST_COMPARE (expr_has_type (stdc_leading_zeros ((unsigned _BitInt(373)) 0), ++ ui), 1); ++ TEST_COMPARE (stdc_leading_zeros (~(unsigned _BitInt(512)) 0), 0); ++ TEST_COMPARE (stdc_leading_zeros (~(unsigned _BitInt(373)) 0), 0); ++ TEST_COMPARE (stdc_leading_zeros ((unsigned _BitInt(512)) 275), 512 - 9); ++ TEST_COMPARE (stdc_leading_zeros ((unsigned _BitInt(373)) 512), 373 - 10); ++ TEST_COMPARE (stdc_leading_ones ((unsigned _BitInt(512)) 0), 0); ++ TEST_COMPARE (expr_has_type (stdc_leading_ones ((unsigned _BitInt(512)) 0), ++ ui), 1); ++ TEST_COMPARE (stdc_leading_ones ((unsigned _BitInt(373)) 0), 0); ++ TEST_COMPARE (expr_has_type (stdc_leading_ones ((unsigned _BitInt(373)) 0), ++ ui), 1); ++ TEST_COMPARE (stdc_leading_ones (~(unsigned _BitInt(512)) 0), 512); ++ TEST_COMPARE (stdc_leading_ones (~(unsigned _BitInt(373)) 0), 373); ++ TEST_COMPARE (stdc_leading_ones (~(unsigned _BitInt(512)) 275), 512 - 9); ++ TEST_COMPARE (stdc_leading_ones (~(unsigned _BitInt(373)) 512), 373 - 10); ++ TEST_COMPARE (stdc_trailing_zeros ((unsigned _BitInt(512)) 0), 512); ++ TEST_COMPARE (expr_has_type (stdc_trailing_zeros ((unsigned _BitInt(512)) 0), ++ ui), 1); ++ TEST_COMPARE (stdc_trailing_zeros ((unsigned _BitInt(373)) 0), 373); ++ TEST_COMPARE (expr_has_type (stdc_trailing_zeros ((unsigned _BitInt(373)) 0), ++ ui), 1); ++ TEST_COMPARE (stdc_trailing_zeros (~(unsigned _BitInt(512)) 0), 0); ++ TEST_COMPARE (stdc_trailing_zeros (~(unsigned _BitInt(373)) 0), 0); ++ TEST_COMPARE (stdc_trailing_zeros ((unsigned _BitInt(512)) 256), 8); ++ TEST_COMPARE (stdc_trailing_zeros ((unsigned _BitInt(373)) 512), 9); ++ TEST_COMPARE (stdc_trailing_ones ((unsigned _BitInt(512)) 0), 0); ++ TEST_COMPARE (expr_has_type (stdc_trailing_ones ((unsigned _BitInt(512)) 0), ++ ui), 1); ++ TEST_COMPARE (stdc_trailing_ones ((unsigned _BitInt(373)) 0), 0); ++ TEST_COMPARE (expr_has_type (stdc_trailing_ones ((unsigned _BitInt(373)) 0), ++ ui), 1); ++ TEST_COMPARE (stdc_trailing_ones (~(unsigned _BitInt(512)) 0), 512); ++ TEST_COMPARE (stdc_trailing_ones (~(unsigned _BitInt(373)) 0), 373); ++ TEST_COMPARE (stdc_trailing_ones ((unsigned _BitInt(512)) 255), 8); ++ TEST_COMPARE (stdc_trailing_ones ((~(unsigned _BitInt(373)) 0) >> 2), ++ 373 - 2); ++ TEST_COMPARE (stdc_first_leading_zero ((unsigned _BitInt(512)) 0), 1); ++ TEST_COMPARE (expr_has_type (stdc_first_leading_zero ((unsigned _BitInt(512)) ++ 0), ui), 1); ++ TEST_COMPARE (stdc_first_leading_zero ((unsigned _BitInt(373)) 0), 1); ++ TEST_COMPARE (expr_has_type (stdc_first_leading_zero ((unsigned _BitInt(373)) ++ 0), ui), 1); ++ TEST_COMPARE (stdc_first_leading_zero (~(unsigned _BitInt(512)) 0), 0); ++ TEST_COMPARE (stdc_first_leading_zero (~(unsigned _BitInt(373)) 0), 0); ++ TEST_COMPARE (stdc_first_leading_zero (~(unsigned _BitInt(512)) 511), ++ 512 - 8); ++ TEST_COMPARE (stdc_first_leading_zero (~(unsigned _BitInt(373)) 1023), ++ 373 - 9); ++ TEST_COMPARE (stdc_first_leading_one ((unsigned _BitInt(512)) 0), 0); ++ TEST_COMPARE (expr_has_type (stdc_first_leading_one ((unsigned _BitInt(512)) ++ 0), ui), 1); ++ TEST_COMPARE (stdc_first_leading_one ((unsigned _BitInt(373)) 0), 0); ++ TEST_COMPARE (expr_has_type (stdc_first_leading_one ((unsigned _BitInt(373)) ++ 0), ui), 1); ++ TEST_COMPARE (stdc_first_leading_one (~(unsigned _BitInt(512)) 0), 1); ++ TEST_COMPARE (stdc_first_leading_one (~(unsigned _BitInt(373)) 0), 1); ++ TEST_COMPARE (stdc_first_leading_one ((unsigned _BitInt(512)) 275), 512 - 8); ++ TEST_COMPARE (stdc_first_leading_one ((unsigned _BitInt(373)) 512), 373 - 9); ++ TEST_COMPARE (stdc_first_trailing_zero ((unsigned _BitInt(512)) 0), 1); ++ TEST_COMPARE (expr_has_type (stdc_first_trailing_zero ((unsigned ++ _BitInt(512)) 0), ++ ui), 1); ++ TEST_COMPARE (stdc_first_trailing_zero ((unsigned _BitInt(373)) 0), 1); ++ TEST_COMPARE (expr_has_type (stdc_first_trailing_zero ((unsigned ++ _BitInt(373)) 0), ++ ui), 1); ++ TEST_COMPARE (stdc_first_trailing_zero (~(unsigned _BitInt(512)) 0), 0); ++ TEST_COMPARE (stdc_first_trailing_zero (~(unsigned _BitInt(373)) 0), 0); ++ TEST_COMPARE (stdc_first_trailing_zero ((unsigned _BitInt(512)) 255), 9); ++ TEST_COMPARE (stdc_first_trailing_zero ((unsigned _BitInt(373)) 511), 10); ++ TEST_COMPARE (stdc_first_trailing_one ((unsigned _BitInt(512)) 0), 0); ++ TEST_COMPARE (expr_has_type (stdc_first_trailing_one ((unsigned _BitInt(512)) ++ 0), ui), 1); ++ TEST_COMPARE (stdc_first_trailing_one ((unsigned _BitInt(373)) 0), 0); ++ TEST_COMPARE (expr_has_type (stdc_first_trailing_one ((unsigned _BitInt(373)) ++ 0), ui), 1); ++ TEST_COMPARE (stdc_first_trailing_one (~(unsigned _BitInt(512)) 0), 1); ++ TEST_COMPARE (stdc_first_trailing_one (~(unsigned _BitInt(373)) 0), 1); ++ TEST_COMPARE (stdc_first_trailing_one (((unsigned _BitInt(512)) 255) << 175), ++ 176); ++ TEST_COMPARE (stdc_first_trailing_one ((~(unsigned _BitInt(373)) 0) << 311), ++ 312); ++ TEST_COMPARE (stdc_count_zeros ((unsigned _BitInt(512)) 0), 512); ++ TEST_COMPARE (expr_has_type (stdc_count_zeros ((unsigned _BitInt(512)) 0), ++ ui), 1); ++ TEST_COMPARE (stdc_count_zeros ((unsigned _BitInt(373)) 0), 373); ++ TEST_COMPARE (expr_has_type (stdc_count_zeros ((unsigned _BitInt(373)) 0), ++ ui), 1); ++ TEST_COMPARE (stdc_count_zeros (~(unsigned _BitInt(512)) 0), 0); ++ TEST_COMPARE (stdc_count_zeros (~(unsigned _BitInt(373)) 0), 0); ++ TEST_COMPARE (stdc_count_zeros ((unsigned _BitInt(512)) 1315), 512 - 5); ++ TEST_COMPARE (stdc_count_zeros ((unsigned _BitInt(373)) 3363), 373 - 6); ++ TEST_COMPARE (stdc_count_ones ((unsigned _BitInt(512)) 0), 0); ++ TEST_COMPARE (expr_has_type (stdc_count_ones ((unsigned _BitInt(512)) 0), ++ ui), 1); ++ TEST_COMPARE (stdc_count_ones ((unsigned _BitInt(373)) 0), 0); ++ TEST_COMPARE (expr_has_type (stdc_count_ones ((unsigned _BitInt(373)) 0), ++ ui), 1); ++ TEST_COMPARE (stdc_count_ones (~(unsigned _BitInt(512)) 0), 512); ++ TEST_COMPARE (stdc_count_ones (~(unsigned _BitInt(373)) 0), 373); ++ TEST_COMPARE (stdc_count_ones (~(unsigned _BitInt(512)) 1315), 512 - 5); ++ TEST_COMPARE (stdc_count_ones (~(unsigned _BitInt(373)) 3363), 373 - 6); ++ TEST_COMPARE (stdc_has_single_bit ((unsigned _BitInt(512)) 0), 0); ++ TEST_COMPARE (expr_has_type (stdc_has_single_bit ((unsigned _BitInt(512)) 0), ++ _Bool), 1); ++ TEST_COMPARE (stdc_has_single_bit ((unsigned _BitInt(373)) 0), 0); ++ TEST_COMPARE (expr_has_type (stdc_has_single_bit ((unsigned _BitInt(373)) 0), ++ _Bool), 1); ++ TEST_COMPARE (stdc_has_single_bit (~(unsigned _BitInt(512)) 0), 0); ++ TEST_COMPARE (stdc_has_single_bit (~(unsigned _BitInt(373)) 0), 0); ++ TEST_COMPARE (stdc_has_single_bit (((unsigned _BitInt(512)) 1022) << 279), ++ 0); ++ TEST_COMPARE (stdc_has_single_bit (((unsigned _BitInt(373)) 12) << 305), 0); ++ TEST_COMPARE (stdc_bit_width ((unsigned _BitInt(512)) 0), 0); ++ TEST_COMPARE (expr_has_type (stdc_bit_width ((unsigned _BitInt(512)) 0), ++ ui), 1); ++ TEST_COMPARE (stdc_bit_width ((unsigned _BitInt(373)) 0), 0); ++ TEST_COMPARE (expr_has_type (stdc_bit_width ((unsigned _BitInt(373)) 0), ++ ui), 1); ++ TEST_COMPARE (stdc_bit_width (~(unsigned _BitInt(512)) 0), 512); ++ TEST_COMPARE (stdc_bit_width (~(unsigned _BitInt(373)) 0), 373); ++ TEST_COMPARE (stdc_bit_width (((unsigned _BitInt(512)) 1023) << 405), ++ 405 + 10); ++ TEST_COMPARE (stdc_bit_width (((unsigned _BitInt(373)) 1024) << 242), ++ 242 + 11); ++ TEST_COMPARE (stdc_bit_floor ((unsigned _BitInt(512)) 0) != 0, 0); ++ TEST_COMPARE (expr_has_type (stdc_bit_floor ((unsigned _BitInt(512)) 0), ++ unsigned _BitInt(512)), 1); ++ TEST_COMPARE (stdc_bit_floor ((unsigned _BitInt(373)) 0) != 0, 0); ++ TEST_COMPARE (expr_has_type (stdc_bit_floor ((unsigned _BitInt(373)) 0), ++ unsigned _BitInt(373)), 1); ++ TEST_COMPARE (stdc_bit_floor (~(unsigned _BitInt(512)) 0) ++ != ((unsigned _BitInt(512)) 1) << (512 - 1), 0); ++ TEST_COMPARE (stdc_bit_floor (~(unsigned _BitInt(373)) 0) ++ != ((unsigned _BitInt(373)) 1) << (373 - 1), 0); ++ TEST_COMPARE (stdc_bit_floor (((unsigned _BitInt(512)) 511) << 405) ++ != (((unsigned _BitInt(512)) 256) << 405), 0); ++ TEST_COMPARE (stdc_bit_floor (((unsigned _BitInt(373)) 512) << 242) ++ != (((unsigned _BitInt(512)) 512) << 242), 0); ++ TEST_COMPARE (stdc_bit_ceil ((unsigned _BitInt(512)) 0) != 1, 0); ++ TEST_COMPARE (expr_has_type (stdc_bit_ceil ((unsigned _BitInt(512)) 0), ++ unsigned _BitInt(512)), 1); ++ TEST_COMPARE (stdc_bit_ceil ((unsigned _BitInt(373)) 0) != 1, 0); ++ TEST_COMPARE (expr_has_type (stdc_bit_ceil ((unsigned _BitInt(373)) 0), ++ unsigned _BitInt(373)), 1); ++ TEST_COMPARE (stdc_bit_ceil (~(unsigned _BitInt(512)) 0) != 0, 0); ++ TEST_COMPARE (stdc_bit_ceil (~(unsigned _BitInt(373)) 0) != 0, 0); ++ TEST_COMPARE (stdc_bit_ceil (((unsigned _BitInt(512)) 1) << (512 - 1)) ++ != ((unsigned _BitInt(512)) 1) << (512 - 1), 0); ++ TEST_COMPARE (stdc_bit_ceil ((~(unsigned _BitInt(373)) 0) >> 1) ++ != ((unsigned _BitInt(373)) 1) << (373 - 1), 0); ++ TEST_COMPARE (stdc_bit_ceil (((unsigned _BitInt(512)) 512) << 405) ++ != (((unsigned _BitInt(512)) 512) << 405), 0); ++ TEST_COMPARE (stdc_bit_ceil (((unsigned _BitInt(373)) 513) << 242) ++ != (((unsigned _BitInt(512)) 1024) << 242), 0); ++ TEST_COMPARE (stdc_bit_floor ((unsigned _BitInt(BITINT_MAXWIDTH)) 0) != 0, ++ 0); ++ TEST_COMPARE (stdc_bit_floor (~(unsigned _BitInt(BITINT_MAXWIDTH)) 0) ++ != ((unsigned _BitInt(BITINT_MAXWIDTH)) 1) << (BITINT_MAXWIDTH ++ - 1), 0); ++ TEST_COMPARE (stdc_bit_floor (((unsigned _BitInt(BITINT_MAXWIDTH)) 511) ++ << 405) ++ != (((unsigned _BitInt(BITINT_MAXWIDTH)) 256) << 405), 0); ++ TEST_COMPARE (stdc_bit_floor (((unsigned _BitInt(BITINT_MAXWIDTH)) 512) ++ << 405) ++ != (((unsigned _BitInt(BITINT_MAXWIDTH)) 512) << 405), 0); ++ TEST_COMPARE (stdc_bit_ceil ((unsigned _BitInt(BITINT_MAXWIDTH)) 0) != 1, 0); ++ TEST_COMPARE (stdc_bit_ceil (~(unsigned _BitInt(BITINT_MAXWIDTH)) 0) != 0, ++ 0); ++ TEST_COMPARE (stdc_bit_ceil (((unsigned _BitInt(BITINT_MAXWIDTH)) 1) ++ << (BITINT_MAXWIDTH - 1)) ++ != ((unsigned _BitInt(BITINT_MAXWIDTH)) 1) << (BITINT_MAXWIDTH ++ - 1), 0); ++ TEST_COMPARE (stdc_bit_ceil (((unsigned _BitInt(BITINT_MAXWIDTH)) 512) ++ << 405) ++ != (((unsigned _BitInt(BITINT_MAXWIDTH)) 512) << 405), 0); ++ TEST_COMPARE (stdc_bit_ceil (((unsigned _BitInt(BITINT_MAXWIDTH)) 513) ++ << 405) ++ != (((unsigned _BitInt(BITINT_MAXWIDTH)) 1024) << 405), 0); ++# endif ++# endif ++ return 0; ++} ++#else ++static int ++do_test (void) ++{ ++ return 0; ++} ++#endif ++ ++#include +-- +2.44.0 + diff --git a/ulp-prologue-into-asm-functions.patch b/ulp-prologue-into-asm-functions.patch new file mode 100644 index 0000000..eacc444 --- /dev/null +++ b/ulp-prologue-into-asm-functions.patch @@ -0,0 +1,272 @@ +From ec4f0a28ed48c51165e3e72c7427efb0ae14a124 Mon Sep 17 00:00:00 2001 +From: Giuliano Belinassi +Date: Mon, 6 May 2024 20:09:55 -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_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 | 54 ++++++++++++++++++++++-- + 9 files changed, 96 insertions(+), 16 deletions(-) + +diff --git a/Makeconfig b/Makeconfig +index e583765712..b136e10224 100644 +--- a/Makeconfig ++++ b/Makeconfig +@@ -981,6 +981,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 c4cc7d3b9a..dc70ed03d0 100644 +--- a/config.h.in ++++ b/config.h.in +@@ -205,6 +205,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 55e8b7563b..0f14c05d62 100644 +--- a/config.make.in ++++ b/config.make.in +@@ -81,6 +81,7 @@ mach-interface-list = @mach_interface_list@ + memory-tagging = @memory_tagging@ + + # 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 432e40a592..eb6b203925 100755 +--- a/configure ++++ b/configure +@@ -622,6 +622,7 @@ LIBOBJS + pthread_in_libc + RELEASE + VERSION ++enable_userspace_livepatch + mach_interface_list + DEFINES + static_nss +@@ -812,6 +813,7 @@ enable_cet + enable_scv + enable_fortify_source + with_cpu ++enable_userspace_livepatch + ' + ac_precious_vars='build_alias + host_alias +@@ -1490,6 +1492,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] +@@ -7867,6 +7871,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 bdc385d03c..cb4d28b3d8 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1756,6 +1756,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_64/multiarch/strcmp-avx2.S b/sysdeps/x86_64/multiarch/strcmp-avx2.S +index 5bc1d90078..3ea96c0aa3 100644 +--- a/sysdeps/x86_64/multiarch/strcmp-avx2.S ++++ b/sysdeps/x86_64/multiarch/strcmp-avx2.S +@@ -201,10 +201,7 @@ END (STRCASECMP) + # endif + + .p2align 4 +-STRCMP: +- cfi_startproc +- _CET_ENDBR +- CALL_MCOUNT ++FUNCTION_START(STRCMP) + + # if defined USE_AS_STRCASECMP_L + /* We have to fall back on the C implementation for locales with +diff --git a/sysdeps/x86_64/multiarch/strcmp-evex.S b/sysdeps/x86_64/multiarch/strcmp-evex.S +index 06730ab2a1..d96b1c4824 100644 +--- a/sysdeps/x86_64/multiarch/strcmp-evex.S ++++ b/sysdeps/x86_64/multiarch/strcmp-evex.S +@@ -224,10 +224,7 @@ END (STRCASECMP) + # endif + + .p2align 4 +-STRCMP: +- cfi_startproc +- _CET_ENDBR +- CALL_MCOUNT ++FUNCTION_START(STRCMP) + + # if defined USE_AS_STRCASECMP_L + /* We have to fall back on the C implementation for locales with +diff --git a/sysdeps/x86_64/multiarch/strcmp-sse4_2.S b/sysdeps/x86_64/multiarch/strcmp-sse4_2.S +index 4e98da0246..2a2280c65f 100644 +--- a/sysdeps/x86_64/multiarch/strcmp-sse4_2.S ++++ b/sysdeps/x86_64/multiarch/strcmp-sse4_2.S +@@ -103,10 +103,7 @@ END (STRCASECMP) + + # define arg arg + +-STRCMP: +- cfi_startproc +- _CET_ENDBR +- CALL_MCOUNT ++FUNCTION_START(STRCMP) + + /* + * This implementation uses SSE to compare up to 16 bytes at a time. +diff --git a/sysdeps/x86_64/sysdep.h b/sysdeps/x86_64/sysdep.h +index db6e36b2dd..86a5d1b2be 100644 +--- a/sysdeps/x86_64/sysdep.h ++++ b/sysdeps/x86_64/sysdep.h +@@ -49,6 +49,46 @@ enum cf_protection_level + + #ifdef __ASSEMBLER__ + ++/* Libpulp uses -fpatchable-function-entry to add padding NOPS to the ++ prologue of all functions. This works for C functions. For functions ++ written in ASM, the way we do this is by adding this prologue manually. */ ++ ++#if ENABLE_USERSPACE_LIVEPATCH ++ ++/* Instructions to be inserted before the function label. */ ++# define ULP_NOPS_PRE_PROLOGUE .rept 14; nop; .endr ++ ++/* Instruction to be inserted after the function label. */ ++# define ULP_NOPS_POST_PROLOGUE .rept 2; nop; .endr ++ ++ ++/* this macro expands according to the following condition: ++ * if name = _start, then the prologue is not inserted. ++ * if name = _dl_relocate_static_pie, then the prologue is not inserted. ++ * if name = anything else, then the prologue is inserted. ++ **/ ++# define __ULP_POST_PROLOGUE_dl_relocate_static_pie , ++# define __ULP_PRE_PROLOGUE_start , ++# define __ULP_PRE_PROLOGUE(x, y,...) y ++# define _ULP_PRE_PROLOGUE(x, ...) __ULP_PRE_PROLOGUE(x, __VA_ARGS__) ++# define ULP_PRE_PROLOGUE(name) _ULP_PRE_PROLOGUE(__ULP_PRE_PROLOGUE##name, ULP_NOPS_PRE_PROLOGUE,) ++ ++/* this macro expands according to the following condition: ++ * if name = _start, then the postlogue is not inserted. ++ * if name = _dl_relocate_static_pie, then the postlogue is not inserted. ++ * if name = anything else, then the postlogue is inserted. ++ **/ ++# define __ULP_POST_PROLOGUE_dl_relocate_static_pie , ++# define __ULP_POST_PROLOGUE_start , ++# define __ULP_POST_PROLOGUE(x, y,...) y ++# define _ULP_POST_PROLOGUE(x, ...) __ULP_POST_PROLOGUE(x, __VA_ARGS__) ++# define ULP_POST_PROLOGUE(name) _ULP_POST_PROLOGUE(__ULP_POST_PROLOGUE##name, ULP_NOPS_POST_PROLOGUE,) ++ ++#else ++# define ULP_PRE_PROLOGUE(name) ++# define ULP_POST_PROLOGUE(name) ++#endif ++ + /* Syntactic details of assembler. */ + + #ifdef _CET_ENDBR +@@ -58,15 +98,21 @@ enum cf_protection_level + # define _CET_NOTRACK + #endif + ++/* Define the first instructions of a function. */ ++#define FUNCTION_START(name) \ ++ ULP_PRE_PROLOGUE(name); \ ++ C_LABEL(name); \ ++ cfi_startproc; \ ++ _CET_ENDBR; \ ++ ULP_POST_PROLOGUE(name); \ ++ CALL_MCOUNT; ++ + /* Define an entry point visible from C. */ + #define ENTRY_P2ALIGN(name, alignment) \ + .globl C_SYMBOL_NAME(name); \ + .type C_SYMBOL_NAME(name),@function; \ + .align ALIGNARG(alignment); \ +- C_LABEL(name) \ +- cfi_startproc; \ +- _CET_ENDBR; \ +- CALL_MCOUNT ++ FUNCTION_START(name) + + /* This macro is for setting proper CFI with DW_CFA_expression describing + the register as saved relative to %rsp instead of relative to the CFA. +-- +2.44.0 + diff --git a/utmp-time-bits.patch b/utmp-time-bits.patch new file mode 100644 index 0000000..2924fde --- /dev/null +++ b/utmp-time-bits.patch @@ -0,0 +1,645 @@ +From 9831f98c266a8d56d1bf729b709c08e40375540c Mon Sep 17 00:00:00 2001 +From: Florian Weimer +Date: Fri, 19 Apr 2024 14:38:17 +0200 +Subject: [PATCH] login: Check default sizes of structs utmp, utmpx, lastlog + +The default is for ports with a 64-bit time_t. +Ports with a 32-bit time_t or with __WORDSIZE_TIME64_COMPAT32=1 +need to override it. + +Reviewed-by: Adhemerval Zanella +(cherry picked from commit 4d4da5aab936504b2d3eca3146e109630d9093c4) +--- + login/Makefile | 2 +- + login/tst-utmp-size.c | 33 +++++++++++++++++++++++++++++++++ + sysdeps/arc/utmp-size.h | 3 +++ + sysdeps/arm/utmp-size.h | 2 ++ + sysdeps/csky/utmp-size.h | 2 ++ + sysdeps/generic/utmp-size.h | 23 +++++++++++++++++++++++ + sysdeps/hppa/utmp-size.h | 2 ++ + sysdeps/m68k/utmp-size.h | 3 +++ + sysdeps/microblaze/utmp-size.h | 2 ++ + sysdeps/mips/utmp-size.h | 2 ++ + sysdeps/nios2/utmp-size.h | 2 ++ + sysdeps/or1k/utmp-size.h | 3 +++ + sysdeps/powerpc/utmp-size.h | 2 ++ + sysdeps/riscv/utmp-size.h | 2 ++ + sysdeps/sh/utmp-size.h | 2 ++ + sysdeps/sparc/utmp-size.h | 2 ++ + sysdeps/x86/utmp-size.h | 2 ++ + 17 files changed, 88 insertions(+), 1 deletion(-) + create mode 100644 login/tst-utmp-size.c + create mode 100644 sysdeps/arc/utmp-size.h + create mode 100644 sysdeps/arm/utmp-size.h + create mode 100644 sysdeps/csky/utmp-size.h + create mode 100644 sysdeps/generic/utmp-size.h + create mode 100644 sysdeps/hppa/utmp-size.h + create mode 100644 sysdeps/m68k/utmp-size.h + create mode 100644 sysdeps/microblaze/utmp-size.h + create mode 100644 sysdeps/mips/utmp-size.h + create mode 100644 sysdeps/nios2/utmp-size.h + create mode 100644 sysdeps/or1k/utmp-size.h + create mode 100644 sysdeps/powerpc/utmp-size.h + create mode 100644 sysdeps/riscv/utmp-size.h + create mode 100644 sysdeps/sh/utmp-size.h + create mode 100644 sysdeps/sparc/utmp-size.h + create mode 100644 sysdeps/x86/utmp-size.h + +diff --git a/login/Makefile b/login/Makefile +index 1e22008a61..b26ac42bfc 100644 +--- a/login/Makefile ++++ b/login/Makefile +@@ -44,7 +44,7 @@ subdir-dirs = programs + vpath %.c programs + + tests := tst-utmp tst-utmpx tst-grantpt tst-ptsname tst-getlogin tst-updwtmpx \ +- tst-pututxline-lockfail tst-pututxline-cache ++ tst-pututxline-lockfail tst-pututxline-cache tst-utmp-size + + # Empty compatibility library for old binaries. + extra-libs := libutil +diff --git a/login/tst-utmp-size.c b/login/tst-utmp-size.c +new file mode 100644 +index 0000000000..1b7f7ff042 +--- /dev/null ++++ b/login/tst-utmp-size.c +@@ -0,0 +1,33 @@ ++/* Check expected sizes of struct utmp, struct utmpx, struct lastlog. ++ Copyright (C) 2024 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 ++ ++static int ++do_test (void) ++{ ++ _Static_assert (sizeof (struct utmp) == UTMP_SIZE, "struct utmp size"); ++ _Static_assert (sizeof (struct utmpx) == UTMP_SIZE, "struct utmpx size"); ++ _Static_assert (sizeof (struct lastlog) == LASTLOG_SIZE, ++ "struct lastlog size"); ++ return 0; ++} ++ ++#include +diff --git a/sysdeps/arc/utmp-size.h b/sysdeps/arc/utmp-size.h +new file mode 100644 +index 0000000000..a247fcd3da +--- /dev/null ++++ b/sysdeps/arc/utmp-size.h +@@ -0,0 +1,3 @@ ++/* arc has less padding than other architectures with 64-bit time_t. */ ++#define UTMP_SIZE 392 ++#define LASTLOG_SIZE 296 +diff --git a/sysdeps/arm/utmp-size.h b/sysdeps/arm/utmp-size.h +new file mode 100644 +index 0000000000..8f21ebe1b6 +--- /dev/null ++++ b/sysdeps/arm/utmp-size.h +@@ -0,0 +1,2 @@ ++#define UTMP_SIZE 384 ++#define LASTLOG_SIZE 292 +diff --git a/sysdeps/csky/utmp-size.h b/sysdeps/csky/utmp-size.h +new file mode 100644 +index 0000000000..8f21ebe1b6 +--- /dev/null ++++ b/sysdeps/csky/utmp-size.h +@@ -0,0 +1,2 @@ ++#define UTMP_SIZE 384 ++#define LASTLOG_SIZE 292 +diff --git a/sysdeps/generic/utmp-size.h b/sysdeps/generic/utmp-size.h +new file mode 100644 +index 0000000000..89dbe878b0 +--- /dev/null ++++ b/sysdeps/generic/utmp-size.h +@@ -0,0 +1,23 @@ ++/* Expected sizes of utmp-related structures stored in files. 64-bit version. ++ Copyright (C) 2024 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 ++ . */ ++ ++/* Expected size, in bytes, of struct utmp and struct utmpx. */ ++#define UTMP_SIZE 400 ++ ++/* Expected size, in bytes, of struct lastlog. */ ++#define LASTLOG_SIZE 296 +diff --git a/sysdeps/hppa/utmp-size.h b/sysdeps/hppa/utmp-size.h +new file mode 100644 +index 0000000000..8f21ebe1b6 +--- /dev/null ++++ b/sysdeps/hppa/utmp-size.h +@@ -0,0 +1,2 @@ ++#define UTMP_SIZE 384 ++#define LASTLOG_SIZE 292 +diff --git a/sysdeps/m68k/utmp-size.h b/sysdeps/m68k/utmp-size.h +new file mode 100644 +index 0000000000..5946685819 +--- /dev/null ++++ b/sysdeps/m68k/utmp-size.h +@@ -0,0 +1,3 @@ ++/* m68k has 2-byte alignment. */ ++#define UTMP_SIZE 382 ++#define LASTLOG_SIZE 292 +diff --git a/sysdeps/microblaze/utmp-size.h b/sysdeps/microblaze/utmp-size.h +new file mode 100644 +index 0000000000..8f21ebe1b6 +--- /dev/null ++++ b/sysdeps/microblaze/utmp-size.h +@@ -0,0 +1,2 @@ ++#define UTMP_SIZE 384 ++#define LASTLOG_SIZE 292 +diff --git a/sysdeps/mips/utmp-size.h b/sysdeps/mips/utmp-size.h +new file mode 100644 +index 0000000000..8f21ebe1b6 +--- /dev/null ++++ b/sysdeps/mips/utmp-size.h +@@ -0,0 +1,2 @@ ++#define UTMP_SIZE 384 ++#define LASTLOG_SIZE 292 +diff --git a/sysdeps/nios2/utmp-size.h b/sysdeps/nios2/utmp-size.h +new file mode 100644 +index 0000000000..8f21ebe1b6 +--- /dev/null ++++ b/sysdeps/nios2/utmp-size.h +@@ -0,0 +1,2 @@ ++#define UTMP_SIZE 384 ++#define LASTLOG_SIZE 292 +diff --git a/sysdeps/or1k/utmp-size.h b/sysdeps/or1k/utmp-size.h +new file mode 100644 +index 0000000000..6b3653aa4d +--- /dev/null ++++ b/sysdeps/or1k/utmp-size.h +@@ -0,0 +1,3 @@ ++/* or1k has less padding than other architectures with 64-bit time_t. */ ++#define UTMP_SIZE 392 ++#define LASTLOG_SIZE 296 +diff --git a/sysdeps/powerpc/utmp-size.h b/sysdeps/powerpc/utmp-size.h +new file mode 100644 +index 0000000000..8f21ebe1b6 +--- /dev/null ++++ b/sysdeps/powerpc/utmp-size.h +@@ -0,0 +1,2 @@ ++#define UTMP_SIZE 384 ++#define LASTLOG_SIZE 292 +diff --git a/sysdeps/riscv/utmp-size.h b/sysdeps/riscv/utmp-size.h +new file mode 100644 +index 0000000000..8f21ebe1b6 +--- /dev/null ++++ b/sysdeps/riscv/utmp-size.h +@@ -0,0 +1,2 @@ ++#define UTMP_SIZE 384 ++#define LASTLOG_SIZE 292 +diff --git a/sysdeps/sh/utmp-size.h b/sysdeps/sh/utmp-size.h +new file mode 100644 +index 0000000000..8f21ebe1b6 +--- /dev/null ++++ b/sysdeps/sh/utmp-size.h +@@ -0,0 +1,2 @@ ++#define UTMP_SIZE 384 ++#define LASTLOG_SIZE 292 +diff --git a/sysdeps/sparc/utmp-size.h b/sysdeps/sparc/utmp-size.h +new file mode 100644 +index 0000000000..8f21ebe1b6 +--- /dev/null ++++ b/sysdeps/sparc/utmp-size.h +@@ -0,0 +1,2 @@ ++#define UTMP_SIZE 384 ++#define LASTLOG_SIZE 292 +diff --git a/sysdeps/x86/utmp-size.h b/sysdeps/x86/utmp-size.h +new file mode 100644 +index 0000000000..8f21ebe1b6 +--- /dev/null ++++ b/sysdeps/x86/utmp-size.h +@@ -0,0 +1,2 @@ ++#define UTMP_SIZE 384 ++#define LASTLOG_SIZE 292 +-- +2.45.0 + +From 836d43b98973e0845b739ff5d3aad3af09dc7d0f Mon Sep 17 00:00:00 2001 +From: Florian Weimer +Date: Fri, 19 Apr 2024 14:38:17 +0200 +Subject: [PATCH] login: structs utmp, utmpx, lastlog _TIME_BITS independence + (bug 30701) + +These structs describe file formats under /var/log, and should not +depend on the definition of _TIME_BITS. This is achieved by +defining __WORDSIZE_TIME64_COMPAT32 to 1 on 32-bit ports that +support 32-bit time_t values (where __time_t is 32 bits). + +Reviewed-by: Adhemerval Zanella +(cherry picked from commit 9abdae94c7454c45e02e97e4ed1eb1b1915d13d8) +--- + bits/wordsize.h | 6 ++++-- + login/Makefile | 4 +++- + login/tst-utmp-size-64.c | 2 ++ + sysdeps/arm/bits/wordsize.h | 21 +++++++++++++++++++ + sysdeps/csky/bits/wordsize.h | 21 +++++++++++++++++++ + sysdeps/m68k/bits/wordsize.h | 21 +++++++++++++++++++ + sysdeps/microblaze/bits/wordsize.h | 21 +++++++++++++++++++ + sysdeps/mips/bits/wordsize.h | 6 +----- + sysdeps/nios2/bits/wordsize.h | 21 +++++++++++++++++++ + sysdeps/powerpc/powerpc32/bits/wordsize.h | 3 +-- + sysdeps/powerpc/powerpc64/bits/wordsize.h | 3 +-- + sysdeps/sh/bits/wordsize.h | 21 +++++++++++++++++++ + sysdeps/sparc/sparc32/bits/wordsize.h | 2 +- + sysdeps/sparc/sparc64/bits/wordsize.h | 3 +-- + sysdeps/unix/sysv/linux/hppa/bits/wordsize.h | 21 +++++++++++++++++++ + .../unix/sysv/linux/powerpc/bits/wordsize.h | 3 +-- + sysdeps/unix/sysv/linux/sparc/bits/wordsize.h | 3 +-- + sysdeps/x86/bits/wordsize.h | 5 ++--- + 18 files changed, 165 insertions(+), 22 deletions(-) + create mode 100644 login/tst-utmp-size-64.c + create mode 100644 sysdeps/arm/bits/wordsize.h + create mode 100644 sysdeps/csky/bits/wordsize.h + create mode 100644 sysdeps/m68k/bits/wordsize.h + create mode 100644 sysdeps/microblaze/bits/wordsize.h + create mode 100644 sysdeps/nios2/bits/wordsize.h + create mode 100644 sysdeps/sh/bits/wordsize.h + create mode 100644 sysdeps/unix/sysv/linux/hppa/bits/wordsize.h + +diff --git a/bits/wordsize.h b/bits/wordsize.h +index 14edae3a11..53013a9275 100644 +--- a/bits/wordsize.h ++++ b/bits/wordsize.h +@@ -21,7 +21,9 @@ + #define __WORDSIZE32_PTRDIFF_LONG + + /* Set to 1 in order to force time types to be 32 bits instead of 64 bits in +- struct lastlog and struct utmp{,x} on 64-bit ports. This may be done in ++ struct lastlog and struct utmp{,x}. This may be done in + order to make 64-bit ports compatible with 32-bit ports. Set to 0 for +- 64-bit ports where the time types are 64-bits or for any 32-bit ports. */ ++ 64-bit ports where the time types are 64-bits and new 32-bit ports ++ where time_t is 64 bits, and there is no companion architecture with ++ 32-bit time_t. */ + #define __WORDSIZE_TIME64_COMPAT32 +diff --git a/login/Makefile b/login/Makefile +index b26ac42bfc..f91190e3dc 100644 +--- a/login/Makefile ++++ b/login/Makefile +@@ -44,7 +44,9 @@ subdir-dirs = programs + vpath %.c programs + + tests := tst-utmp tst-utmpx tst-grantpt tst-ptsname tst-getlogin tst-updwtmpx \ +- tst-pututxline-lockfail tst-pututxline-cache tst-utmp-size ++ tst-pututxline-lockfail tst-pututxline-cache tst-utmp-size tst-utmp-size-64 ++ ++CFLAGS-tst-utmp-size-64.c += -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 + + # Empty compatibility library for old binaries. + extra-libs := libutil +diff --git a/login/tst-utmp-size-64.c b/login/tst-utmp-size-64.c +new file mode 100644 +index 0000000000..7a581a4c12 +--- /dev/null ++++ b/login/tst-utmp-size-64.c +@@ -0,0 +1,2 @@ ++/* The on-disk layout must not change in time64 mode. */ ++#include "tst-utmp-size.c" +diff --git a/sysdeps/arm/bits/wordsize.h b/sysdeps/arm/bits/wordsize.h +new file mode 100644 +index 0000000000..6ecbfe7c86 +--- /dev/null ++++ b/sysdeps/arm/bits/wordsize.h +@@ -0,0 +1,21 @@ ++/* Copyright (C) 1999-2024 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 ++ . */ ++ ++#define __WORDSIZE 32 ++#define __WORDSIZE_TIME64_COMPAT32 1 ++#define __WORDSIZE32_SIZE_ULONG 0 ++#define __WORDSIZE32_PTRDIFF_LONG 0 +diff --git a/sysdeps/csky/bits/wordsize.h b/sysdeps/csky/bits/wordsize.h +new file mode 100644 +index 0000000000..6ecbfe7c86 +--- /dev/null ++++ b/sysdeps/csky/bits/wordsize.h +@@ -0,0 +1,21 @@ ++/* Copyright (C) 1999-2024 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 ++ . */ ++ ++#define __WORDSIZE 32 ++#define __WORDSIZE_TIME64_COMPAT32 1 ++#define __WORDSIZE32_SIZE_ULONG 0 ++#define __WORDSIZE32_PTRDIFF_LONG 0 +diff --git a/sysdeps/m68k/bits/wordsize.h b/sysdeps/m68k/bits/wordsize.h +new file mode 100644 +index 0000000000..6ecbfe7c86 +--- /dev/null ++++ b/sysdeps/m68k/bits/wordsize.h +@@ -0,0 +1,21 @@ ++/* Copyright (C) 1999-2024 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 ++ . */ ++ ++#define __WORDSIZE 32 ++#define __WORDSIZE_TIME64_COMPAT32 1 ++#define __WORDSIZE32_SIZE_ULONG 0 ++#define __WORDSIZE32_PTRDIFF_LONG 0 +diff --git a/sysdeps/microblaze/bits/wordsize.h b/sysdeps/microblaze/bits/wordsize.h +new file mode 100644 +index 0000000000..6ecbfe7c86 +--- /dev/null ++++ b/sysdeps/microblaze/bits/wordsize.h +@@ -0,0 +1,21 @@ ++/* Copyright (C) 1999-2024 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 ++ . */ ++ ++#define __WORDSIZE 32 ++#define __WORDSIZE_TIME64_COMPAT32 1 ++#define __WORDSIZE32_SIZE_ULONG 0 ++#define __WORDSIZE32_PTRDIFF_LONG 0 +diff --git a/sysdeps/mips/bits/wordsize.h b/sysdeps/mips/bits/wordsize.h +index 57f0f2a22f..30dd3fd85d 100644 +--- a/sysdeps/mips/bits/wordsize.h ++++ b/sysdeps/mips/bits/wordsize.h +@@ -19,11 +19,7 @@ + + #define __WORDSIZE _MIPS_SZPTR + +-#if _MIPS_SIM == _ABI64 +-# define __WORDSIZE_TIME64_COMPAT32 1 +-#else +-# define __WORDSIZE_TIME64_COMPAT32 0 +-#endif ++#define __WORDSIZE_TIME64_COMPAT32 1 + + #if __WORDSIZE == 32 + #define __WORDSIZE32_SIZE_ULONG 0 +diff --git a/sysdeps/nios2/bits/wordsize.h b/sysdeps/nios2/bits/wordsize.h +new file mode 100644 +index 0000000000..6ecbfe7c86 +--- /dev/null ++++ b/sysdeps/nios2/bits/wordsize.h +@@ -0,0 +1,21 @@ ++/* Copyright (C) 1999-2024 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 ++ . */ ++ ++#define __WORDSIZE 32 ++#define __WORDSIZE_TIME64_COMPAT32 1 ++#define __WORDSIZE32_SIZE_ULONG 0 ++#define __WORDSIZE32_PTRDIFF_LONG 0 +diff --git a/sysdeps/powerpc/powerpc32/bits/wordsize.h b/sysdeps/powerpc/powerpc32/bits/wordsize.h +index 04ca9debf0..6993fb6b29 100644 +--- a/sysdeps/powerpc/powerpc32/bits/wordsize.h ++++ b/sysdeps/powerpc/powerpc32/bits/wordsize.h +@@ -2,10 +2,9 @@ + + #if defined __powerpc64__ + # define __WORDSIZE 64 +-# define __WORDSIZE_TIME64_COMPAT32 1 + #else + # define __WORDSIZE 32 +-# define __WORDSIZE_TIME64_COMPAT32 0 + # define __WORDSIZE32_SIZE_ULONG 0 + # define __WORDSIZE32_PTRDIFF_LONG 0 + #endif ++#define __WORDSIZE_TIME64_COMPAT32 1 +diff --git a/sysdeps/powerpc/powerpc64/bits/wordsize.h b/sysdeps/powerpc/powerpc64/bits/wordsize.h +index 04ca9debf0..6993fb6b29 100644 +--- a/sysdeps/powerpc/powerpc64/bits/wordsize.h ++++ b/sysdeps/powerpc/powerpc64/bits/wordsize.h +@@ -2,10 +2,9 @@ + + #if defined __powerpc64__ + # define __WORDSIZE 64 +-# define __WORDSIZE_TIME64_COMPAT32 1 + #else + # define __WORDSIZE 32 +-# define __WORDSIZE_TIME64_COMPAT32 0 + # define __WORDSIZE32_SIZE_ULONG 0 + # define __WORDSIZE32_PTRDIFF_LONG 0 + #endif ++#define __WORDSIZE_TIME64_COMPAT32 1 +diff --git a/sysdeps/sh/bits/wordsize.h b/sysdeps/sh/bits/wordsize.h +new file mode 100644 +index 0000000000..6ecbfe7c86 +--- /dev/null ++++ b/sysdeps/sh/bits/wordsize.h +@@ -0,0 +1,21 @@ ++/* Copyright (C) 1999-2024 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 ++ . */ ++ ++#define __WORDSIZE 32 ++#define __WORDSIZE_TIME64_COMPAT32 1 ++#define __WORDSIZE32_SIZE_ULONG 0 ++#define __WORDSIZE32_PTRDIFF_LONG 0 +diff --git a/sysdeps/sparc/sparc32/bits/wordsize.h b/sysdeps/sparc/sparc32/bits/wordsize.h +index 4bbd2e63b4..a2e79e0fa9 100644 +--- a/sysdeps/sparc/sparc32/bits/wordsize.h ++++ b/sysdeps/sparc/sparc32/bits/wordsize.h +@@ -1,6 +1,6 @@ + /* Determine the wordsize from the preprocessor defines. */ + + #define __WORDSIZE 32 +-#define __WORDSIZE_TIME64_COMPAT32 0 ++#define __WORDSIZE_TIME64_COMPAT32 1 + #define __WORDSIZE32_SIZE_ULONG 0 + #define __WORDSIZE32_PTRDIFF_LONG 0 +diff --git a/sysdeps/sparc/sparc64/bits/wordsize.h b/sysdeps/sparc/sparc64/bits/wordsize.h +index 2f66f10d72..ea103e5970 100644 +--- a/sysdeps/sparc/sparc64/bits/wordsize.h ++++ b/sysdeps/sparc/sparc64/bits/wordsize.h +@@ -2,10 +2,9 @@ + + #if defined __arch64__ || defined __sparcv9 + # define __WORDSIZE 64 +-# define __WORDSIZE_TIME64_COMPAT32 1 + #else + # define __WORDSIZE 32 +-# define __WORDSIZE_TIME64_COMPAT32 0 + # define __WORDSIZE32_SIZE_ULONG 0 + # define __WORDSIZE32_PTRDIFF_LONG 0 + #endif ++#define __WORDSIZE_TIME64_COMPAT32 1 +diff --git a/sysdeps/unix/sysv/linux/hppa/bits/wordsize.h b/sysdeps/unix/sysv/linux/hppa/bits/wordsize.h +new file mode 100644 +index 0000000000..6ecbfe7c86 +--- /dev/null ++++ b/sysdeps/unix/sysv/linux/hppa/bits/wordsize.h +@@ -0,0 +1,21 @@ ++/* Copyright (C) 1999-2024 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 ++ . */ ++ ++#define __WORDSIZE 32 ++#define __WORDSIZE_TIME64_COMPAT32 1 ++#define __WORDSIZE32_SIZE_ULONG 0 ++#define __WORDSIZE32_PTRDIFF_LONG 0 +diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/wordsize.h b/sysdeps/unix/sysv/linux/powerpc/bits/wordsize.h +index 04ca9debf0..6993fb6b29 100644 +--- a/sysdeps/unix/sysv/linux/powerpc/bits/wordsize.h ++++ b/sysdeps/unix/sysv/linux/powerpc/bits/wordsize.h +@@ -2,10 +2,9 @@ + + #if defined __powerpc64__ + # define __WORDSIZE 64 +-# define __WORDSIZE_TIME64_COMPAT32 1 + #else + # define __WORDSIZE 32 +-# define __WORDSIZE_TIME64_COMPAT32 0 + # define __WORDSIZE32_SIZE_ULONG 0 + # define __WORDSIZE32_PTRDIFF_LONG 0 + #endif ++#define __WORDSIZE_TIME64_COMPAT32 1 +diff --git a/sysdeps/unix/sysv/linux/sparc/bits/wordsize.h b/sysdeps/unix/sysv/linux/sparc/bits/wordsize.h +index 7562875ee2..ea103e5970 100644 +--- a/sysdeps/unix/sysv/linux/sparc/bits/wordsize.h ++++ b/sysdeps/unix/sysv/linux/sparc/bits/wordsize.h +@@ -2,10 +2,9 @@ + + #if defined __arch64__ || defined __sparcv9 + # define __WORDSIZE 64 +-# define __WORDSIZE_TIME64_COMPAT32 1 + #else + # define __WORDSIZE 32 + # define __WORDSIZE32_SIZE_ULONG 0 + # define __WORDSIZE32_PTRDIFF_LONG 0 +-# define __WORDSIZE_TIME64_COMPAT32 0 + #endif ++#define __WORDSIZE_TIME64_COMPAT32 1 +diff --git a/sysdeps/x86/bits/wordsize.h b/sysdeps/x86/bits/wordsize.h +index 70f652bca1..3f40aa76f9 100644 +--- a/sysdeps/x86/bits/wordsize.h ++++ b/sysdeps/x86/bits/wordsize.h +@@ -8,10 +8,9 @@ + #define __WORDSIZE32_PTRDIFF_LONG 0 + #endif + ++#define __WORDSIZE_TIME64_COMPAT32 1 ++ + #ifdef __x86_64__ +-# define __WORDSIZE_TIME64_COMPAT32 1 + /* Both x86-64 and x32 use the 64-bit system call interface. */ + # define __SYSCALL_WORDSIZE 64 +-#else +-# define __WORDSIZE_TIME64_COMPAT32 0 + #endif +-- +2.45.0 +