- 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 <sys/platform/x86.h> 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 <sys/vtimes.h> 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.
OBS-URL: https://build.opensuse.org/request/show/868599
OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=577
- 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 <sys/single_threaded.h>
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 <sys/sysctl.h> 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
OBS-URL: https://build.opensuse.org/request/show/824657
OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=567
- 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 <math.h> functions that round their results to a narrower type now
have corresponding type-generic macros in <tgmath.h>
* 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 <time.h>
* 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.
OBS-URL: https://build.opensuse.org/request/show/769468
OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=549
- 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 <stropts.h>
and <sys/stropts.h> 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 <resolv.h>
* With --enable-bind-now, installed programs are now linked with the
OBS-URL: https://build.opensuse.org/request/show/720569
OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=535
- 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)
OBS-URL: https://build.opensuse.org/request/show/703415
OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=527
- 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 <sys/procfs.h>, 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,
OBS-URL: https://build.opensuse.org/request/show/670585
OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=516
- 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)
* <math.h> 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 <libio.h> 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 <sys/sysmacros.h>
* The obsolete function ustat is no longer available to newly linked
binaries; the headers <ustat.h> and <sys/ustat.h> have been removed
* The obsolete function nfsservctl is no longer available to newly linked
OBS-URL: https://build.opensuse.org/request/show/627715
OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=509
- 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
OBS-URL: https://build.opensuse.org/request/show/572614
OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=491
- Update to glibc-2.25.90.20170720.gc771b59a24c0
* 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
* <string.h> no longer includes inline versions of any string functions,
as this kind of optimization is better done by the compiler
* The nonstandard header <xlocale.h> has been removed
* The obsolete header <sys/ultrasound.h> has been removed
* The obsolete signal constant SIGUNUSED is no longer defined by <signal.h>
* 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 <sys/ptrace.h> have been
OBS-URL: https://build.opensuse.org/request/show/512670
OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=467
- 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 <sys/sysmacros.h> by <sys/types.h> is deprecated.
* New <fenv.h> 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 <limits.h>:
CHAR_WIDTH, SCHAR_WIDTH, UCHAR_WIDTH, SHRT_WIDTH, USHRT_WIDTH, INT_WIDTH,
UINT_WIDTH, LONG_WIDTH, ULONG_WIDTH, LLONG_WIDTH, ULLONG_WIDTH; and to
<stdint.h>: 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 <math.h> features are added from TS 18661-1:2014:
- Signaling NaN macros: SNANF, SNAN, SNANL.
OBS-URL: https://build.opensuse.org/request/show/454919
OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=451
- 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)
- setcontext-unwind-info.patch: Add EABI unwind info for setcontext on arm
- Removed patches:
* 0001-Updated-translations-for-2.23.patch
OBS-URL: https://build.opensuse.org/request/show/417841
OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=444
- 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
- nsswitch.conf: Add fallback to files for passwd and group to prepare for
libnsl removal.
- 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)
OBS-URL: https://build.opensuse.org/request/show/407107
OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=442
- no-long-double.patch: Don't use long double functions if NO_LONG_DOUBLE
- 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 <regexp.h> 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
OBS-URL: https://build.opensuse.org/request/show/361238
OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=423