SEARCH
NEW RPMS
DIRECTORIES
ABOUT
FAQ
VARIOUS
BLOG

 
 
Changelog for cross-aarch64-glibc-devel-2.36-1.2.noarch.rpm :

* Wed Oct 05 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 2022 Andreas Schwab - makeflags.patch: Makerules: fix MAKEFLAGS assignment for upcoming make-4.4 (BZ# 29564)
* Thu Sep 08 2022 Andreas Schwab - errlist-edeadlock.patch: errlist: add missing entry for EDEADLOCK (BZ [#29545])
* Tue Sep 06 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 2022 Fabian Vogt - nscd-netlink-cache-invalidation.patch: nscd: Fix netlink cache invalidation if epoll is used (boo#1199964, BZ #29415)
* Mon Aug 15 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 02 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
* Thu Jul 14 2022 Andreas Schwab - nptl-cleanup-async-restore-2.patch: nptl: Fix ___pthread_unregister_cancel_restore asynchronous restore (bsc#1200093, BZ #29214)
* Thu Jun 23 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 09 2022 Andreas Schwab - Set SUSE_ZNOW=0
* Wed Jun 08 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 2022 Andreas Schwab - nptl-spurious-eintr.patch: nptl: Handle spurious EINTR when thread cancellation is disabled (BZ #29029)
* Thu May 12 2022 Dominique Leuenberger - Follow the distro default gcc version to build the cross bootstrap packages.
* Fri Apr 29 2022 Marcus Meissner - switched to https urls
* Mon Feb 28 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 03 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.
* Fri Nov 26 2021 Michael Matz - Enable building the cross packages in rings.
* Tue Nov 16 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 2021 Andreas Schwab - glibc.rpmlintrc: Update for rpmlint2
* Tue Oct 05 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 2021 Andreas Schwab - Don\'t create separate debuginfo packages for cross packages
* Wed Aug 11 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 2021 Michael Matz - Add cross development packages for aarch64 and riscv64.
* Mon Aug 02 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- 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
* Fri Jun 11 2021 Ludwig Nussel - Enable usrmerge in Factory always as it\'s default there- Add conflict with pre-usrmerge filesystem package
* Thu Jun 10 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 2021 Andreas Schwab - tst-cpu-features-amx.patch: x86: tst-cpu-features-supports.c: Update AMX check
* Wed May 26 2021 Andreas Schwab - rawmemchr-warning.patch: string: Work around GCC PR 98512 in rawmemchr
* Tue May 04 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 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 2021 Andreas Schwab - Don\'t remove -f[asynchronous-]unwind-tables during configure run, no longer needed
* Mon Mar 08 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 02 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 01 2021 Andreas Schwab - Fix build of utils flavor for usrmerge
* Thu Feb 18 2021 Andreas Schwab - Prepare for usrmerge (bsc#1029961)
* Tue Feb 16 2021 Guillaume GARDET - Add --enable-memory-tagging for aarch64
* Tue Feb 02 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
* Tue Jan 19 2021 Andreas Schwab - Remove support for %optimize_power- Move to power4 baseline on ppc
* Tue Dec 15 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 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 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 08 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 06 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
* Tue Jun 23 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 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 2020 Andreas Schwab - Split off %lang_package
* Thu Mar 12 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 2020 Andreas Schwab - nsswitch.conf: comment out initgroups setting, so that it defaults to the group setting (bsc#1164075)
* Thu Feb 13 2020 Andreas Schwab - fix-locking-in-_IO_cleanup.patch: update to latest version
* Mon Feb 03 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.
* Tue Jan 21 2020 Andreas Schwab - backtrace-powerpc.patch: Fix array overflow in backtrace on PowerPC (bsc#1158996, BZ #25423)- Drop support for pluggable gconv modules (bsc#1159851)
* Mon Dec 09 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 2019 kukukAATTsuse.de- nsswitch.conf: add usrfiles for services, protocols, rpc, ethers and aliases for /usr/etc move
* Mon Oct 14 2019 Andreas Schwab - euc-kr-overrun.patch: Fix buffer overrun in EUC-KR conversion module (CVE-2019-25013, BZ #24973)
* Thu Oct 10 2019 Andreas Schwab - ldconfig-dynstr.patch: ldconfig: handle .dynstr located in separate segment (bsc#1153149, BZ #25087)
* Mon Sep 23 2019 Andreas Schwab - Package gconv-modules.cache as %ghost- Regenerate it also in the %post of glibc-local-base-
* Mon Sep 23 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 2019 Andreas Schwab - riscv-vfork.patch: Fix RISC-V vfork build with Linux 5.3 kernel headers
* Mon Aug 19 2019 Andreas Schwab - Remove NoSource tags (bsc#994835)
* Mon Aug 19 2019 kukukAATTsuse.de- pwdutils is long gone and replaced by shadow
* Fri Aug 02 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)
* Wed Jul 17 2019 Andreas Schwab - Move /var/lib/misc/Makefile to /usr/share/misc/Makefile.makedb (bsc#1138726)
* Wed Jun 26 2019 Andreas Schwab - malloc-tests-warnings.patch: Fix warnings in malloc tests with GCC 9
* Tue Jun 25 2019 Martin Liška - Set optflags for i686 after _lto_cflags is set (boo#1138807).
* Thu Jun 20 2019 Martin Liška - Disable LTO due to a usage of top-level assembler that causes LTO issues (boo#1138807).
* Wed Jun 12 2019 Andreas Schwab - nss-files-long-lines-2.patch: Remove obsolete patch
* Wed May 15 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 03 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 07 2019 Andreas Schwab - add-new-Fortran-vector-math-header-file.patch: Update from upstream
* Tue Mar 05 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 2019 Martin Liška - Add add-new-Fortran-vector-math-header-file.patch.
* Mon Feb 18 2019 schwabAATTsuse.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 01 2019 schwabAATTsuse.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
* Wed Jan 09 2019 schwabAATTsuse.de- fnmatch-collating-elements.patch: update- riscv-flush-icache.patch: fix for compiling against 4.20 headers
* Wed Nov 28 2018 schwabAATTsuse.de- if-nametoindex-descr-leak.patch: if_nametoindex: Fix descriptor leak for overlong name (CVE-2018-19591, BZ #23927, bsc#1117603)
* Wed Nov 07 2018 Jan Engelhardt - Fix typography for glibc-locale-base.
* Wed Nov 07 2018 schwabAATTsuse.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 2018 schwabAATTsuse.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 2018 schwabAATTsuse.de- Add libpng-devel and zlib-devel for utils build
* Wed Aug 15 2018 schwabAATTsuse.de- Add glibc-locale-base subpackage containing only C, C.UTF-8 and en_US.UTF-8 locales (fate#326551)
* Thu Aug 02 2018 schwabAATTsuse.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
* Tue Jun 19 2018 schwabAATTsuse.de- Use python3-pexpect instead of python-pexpect
* Thu Jun 14 2018 schwabAATTsuse.de- riscv-kernel-sigaction.patch: fix struct kernel_sigaction to match the kernel version (BZ #23069)
* Mon Jun 04 2018 schwabAATTsuse.de- glibc-2.3.90-langpackdir.diff: No longer search in /usr/share/locale-bundle
* Wed May 23 2018 schwabAATTsuse.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 2018 schwabAATTsuse.de- Readd nis to netgroup and automount nss config (bsc#1088860)
* Thu Mar 29 2018 schwabAATTsuse.de- i386-memmove-sse2-unaligned.patch: Fix SSE2 memmove issue when crossing 2GB boundary (CVE-2017-18269, bnc#1094150, BZ #22644)
* Tue Mar 27 2018 schwabAATTsuse.de- res-send-enomem.patch: Fix crash in resolver on memory allocation failure (bsc#1086690, BZ #23005)
* Thu Mar 22 2018 schwabAATTsuse.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 07 2018 schwabAATTsuse.de- nss-database-multiple-dfn.patch: Fix multiple definitions of __nss_
*_database (BZ #22918)
* Thu Feb 22 2018 fvogtAATTsuse.com- Use %license (boo#1082318)
* Wed Feb 14 2018 schwabAATTsuse.de- Add systemtap-headers to BuildRequires- Add --enable-systemtap to configure arguments (fate#324969, bsc#1073636)
* Tue Feb 13 2018 schwabAATTsuse.de- riscv-readelflib.patch: Fix parsing flags in ELF64 files on riscv
* Mon Feb 05 2018 schwabAATTsuse.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
* Tue Jan 30 2018 schwabAATTsuse.de- fix-locking-in-_IO_cleanup.patch: Skip locked files during exit (bsc#1070491, BZ #15142)
* Tue Jan 30 2018 schwabAATTsuse.de- Avoid duplicate source rpm
* Mon Jan 22 2018 schwabAATTsuse.de- getcwd-absolute.patch: make getcwd(3) fail if it cannot obtain an absolute path (CVE-2018-1000001, bsc#1074293, BZ #22679)
* Tue Jan 02 2018 schwabAATTsuse.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)
 
ICM