- 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
* <math.h> functions that round their results to a narrower type, and
corresponding <tgmath.h> macros, are added from TS 18661-1:2014, TS
18661-3:2015 and draft ISO C2X
* <math.h> functions for floating-point maximum and minimum,
corresponding to new operations in IEEE 754-2019, and corresponding
<tgmath.h> macros, are added from draft ISO C2X
* <math.h> 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 <math.h> now have a corresponding type-generic
macro in <tgmath.h>
* The ISO C2X macro _PRINTF_NAN_LEN_MAX has been added to <stdio.h>
* 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
OBS-URL: https://build.opensuse.org/request/show/951353
OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=610
- Add ExtraBuildFlags for build flags that cannot be passed to configure.
------------------( below changes from previous sr )---------------------------
- Pass livepatchable flags directly to make.
- Add optional support for livepatches (JSC #SLE-20049).
- Generate ipa-clones tarball artifact when livepatch support is enabled.
Userspace Livepatching allows your application to be updated without restarting. For a library to be livepatchable, it has to be compiled with special flags (-fpatchable-functions-entry=X,Y).
To aid the development of livepatches, ipa-clones are also generated in the build process and packed into a livepatch-devel package. This package is meant to be used by developers during their workflow: these files contains log of changes that gcc did in the compiled code that may change code layout, which must be accounted when developing a livepatch. For instance, livepatching a function which is inlined requires livepatching every function that calls it. Tools that use such files already exists in kernel-livepatching and we aim porting them to userspace livepatching as well.
OBS-URL: https://build.opensuse.org/request/show/931976
OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=606
- 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
OBS-URL: https://build.opensuse.org/request/show/923222
OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=604
- 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
OBS-URL: https://build.opensuse.org/request/show/909816
OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=601
- 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