Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package glibc for openSUSE:Factory checked in at 2024-02-02 15:45:03 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/glibc (Old) and /work/SRC/openSUSE:Factory/.glibc.new.1815 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "glibc" Fri Feb 2 15:45:03 2024 rev:285 rq:1143409 version:2.39 Changes: -------- --- /work/SRC/openSUSE:Factory/glibc/glibc.changes 2024-01-08 23:44:04.695729147 +0100 +++ /work/SRC/openSUSE:Factory/.glibc.new.1815/glibc.changes 2024-02-02 15:45:28.584793530 +0100 @@ -1,0 +2,58 @@ +Thu Feb 1 09:25:37 UTC 2024 - Andreas Schwab <sch...@suse.de> + +- 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 <stdbit.h> 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 <sch...@suse.de> + +- 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 <sch...@suse.de> + +- Change minimum GCC to 13 + +------------------------------------------------------------------- +Tue Jan 23 16:15:56 UTC 2024 - Andreas Schwab <sch...@suse.de> + +- Split off libnsl.so.1 into a separate package + +------------------------------------------------------------------- Old: ---- 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 glibc-2.38.tar.xz glibc-2.38.tar.xz.sig 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 sem-open-o-creat.patch setxid-propagate-glibc-tunables.patch tls-modid-reuse.patch tunables-string-parsing.patch New: ---- glibc-2.39.tar.xz glibc-2.39.tar.xz.sig BETA DEBUG BEGIN: Old: unloaded - aarch64-rawmemchr-unwind.patch, cache-amd-legacy.patch, cache-intel-shared.patch, call-init-proxy-objects.patch, Old: unloaded - aarch64-rawmemchr-unwind.patch, cache-amd-legacy.patch, cache-intel-shared.patch, call-init-proxy-objects.patch, Old:- aarch64-rawmemchr-unwind.patch, cache-amd-legacy.patch, cache-intel-shared.patch, call-init-proxy-objects.patch, fstat-implementation.patch, gb18030-2022.patch, Old:- aarch64-rawmemchr-unwind.patch, cache-amd-legacy.patch, cache-intel-shared.patch, call-init-proxy-objects.patch, fstat-implementation.patch, gb18030-2022.patch, Old: cache-intel-shared.patch, call-init-proxy-objects.patch, fstat-implementation.patch, gb18030-2022.patch, getaddrinfo-eai-memory.patch, getaddrinfo-memory-leak.patch, Old: cache-intel-shared.patch, call-init-proxy-objects.patch, fstat-implementation.patch, gb18030-2022.patch, getaddrinfo-eai-memory.patch, getaddrinfo-memory-leak.patch, Old: fstat-implementation.patch, gb18030-2022.patch, getaddrinfo-eai-memory.patch, getaddrinfo-memory-leak.patch, getcanonname-use-after-free.patch, iconv-error-verbosity.patch, Old: fstat-implementation.patch, gb18030-2022.patch, getaddrinfo-eai-memory.patch, getaddrinfo-memory-leak.patch, getcanonname-use-after-free.patch, iconv-error-verbosity.patch, Old: 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, Old: 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, Old: 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, Old: 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, Old: 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, Old: 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, Old: 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, Old: 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, Old: 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, Old: 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, Old: 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, Old: sem-open-o-creat.patch, setxid-propagate-glibc-tunables.patch, syslog-buffer-overflow.patch, tls-modid-reuse.patch, tunables-string-parsing.patch: Removed Old: syslog-buffer-overflow.patch, tls-modid-reuse.patch, tunables-string-parsing.patch: Removed BETA DEBUG END: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ glibc.spec ++++++ --- /var/tmp/diff_new_pack.oYOjgA/_old 2024-02-02 15:45:29.772836563 +0100 +++ /var/tmp/diff_new_pack.oYOjgA/_new 2024-02-02 15:45:29.776836708 +0100 @@ -57,8 +57,8 @@ %bcond_with usrmerged %endif -%if 0%{?gcc_version} < 12 -%define with_gcc 12 +%if 0%{?gcc_version} < 13 +%define with_gcc 13 %endif # Enable support for livepatching. @@ -152,10 +152,10 @@ Summary: Standard Shared Libraries (from the GNU C Library) License: GPL-2.0-or-later AND LGPL-2.1-or-later AND LGPL-2.1-or-later WITH GCC-exception-2.0 Group: System/Libraries -Version: 2.38 +Version: 2.39 Release: 0 %if %{without snapshot} -%define git_id 36f2487f13 +%define git_id ef321e23c2 %define libversion %version %else %define git_id %(echo %version | sed 's/.*\.g//') @@ -301,48 +301,6 @@ ### # Patches from upstream ### -# PATCH-FIX-UPSTREAM iconv: restore verbosity with unrecognized encoding names (BZ #30694) -Patch1000: iconv-error-verbosity.patch -# PATCH-FIX-UPSTREAM x86: Fix for cache computation on AMD legacy cpus -Patch1001: cache-amd-legacy.patch -# PATCH-FIX-UPSTREAM x86: Fix incorrect scope of setting `shared_per_thread` (BZ# 30745) -Patch1002: cache-intel-shared.patch -# PATCH-FIX-UPSTREAM malloc: Enable merging of remainders in memalign, remove bin scanning from memalign (BZ #30723) -Patch1003: posix-memalign-fragmentation.patch -# PATCH-FIX-UPSTREAM intl: Treat C.UTF-8 locale like C locale (BZ #16621) -Patch1004: intl-c-utf-8-like-c-locale.patch -# PATCH-FIX-UPSTREAM io: Fix record locking contants for powerpc64 with __USE_FILE_OFFSET64 (BZ #30804) -Patch1005: ppc64-flock-fob64.patch -# PATCH-FIX-UPSTREAM libio: Fix oversized __io_vtables -Patch1006: libio-io-vtables.patch -# PATCH-FIX-UPSTREAM elf: Do not run constructors for proxy objects -Patch1007: call-init-proxy-objects.patch -# PATCH-FIX-UPSTREAM Stack read overflow with large TCP responses in no-aaaa mode (CVE-2023-4527, BZ #30842) -Patch1008: no-aaaa-read-overflow.patch -# PATCH-FIX-UPSTREAM getaddrinfo: Fix use after free in getcanonname (CVE-2023-4806, BZ #30843) -Patch1009: getcanonname-use-after-free.patch -# PATCH-FIX-UPSTREAM Fix leak in getaddrinfo introduced by the fix for CVE-2023-4806 (CVE-2023-5156, BZ #30884) -Patch1010: getaddrinfo-memory-leak.patch -# PATCH-FIX-UPSTREAM io: Do not implement fstat with fstatat -Patch1011: fstat-implementation.patch -# PATCH-FIX-UPSTREAM Propagate GLIBC_TUNABLES in setxid binaries -Patch1012: setxid-propagate-glibc-tunables.patch -# PATCH-FIX-UPSTREAM tunables: Terminate if end of input is reached (CVE-2023-4911) -Patch1013: tunables-string-parsing.patch -# PATCH-FIX-UPSTREAM add GB18030-2022 charmap and test the entire GB18030 charmap (BZ #30243) -Patch1014: gb18030-2022.patch -# PATCH-FIX-UPSTREAM aarch64: correct CFI in rawmemchr (BZ #31113) -Patch1015: aarch64-rawmemchr-unwind.patch -# PATCH-FIX-UPSTREAM sysdeps: sem_open: Clear O_CREAT when semaphore file is expected to exist (BZ #30789) -Patch1016: sem-open-o-creat.patch -# PATCH-FIX-UPSTREAM elf: Fix wrong break removal from 8ee878592c -Patch1017: ldconfig-process-elf-file.patch -# PATCH-FIX-UPSTREAM elf: Fix TLS modid reuse generation assignment (BZ #29039) -Patch1018: tls-modid-reuse.patch -# PATCH-FIX-UPSTREAM getaddrinfo: translate ENOMEM to EAI_MEMORY (BZ #31163) -Patch1019: getaddrinfo-eai-memory.patch -# PATCH-FIX-UPSTREAM libio: Check remaining buffer size in _IO_wdo_write (BZ #31183) -Patch1020: libio-wdo-write.patch ### # Patches awaiting upstream approval @@ -540,6 +498,15 @@ 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 @@ -565,27 +532,6 @@ %patch306 -p1 %if %{without snapshot} -%patch1000 -p1 -%patch1001 -p1 -%patch1002 -p1 -%patch1003 -p1 -%patch1004 -p1 -%patch1005 -p1 -%patch1006 -p1 -%patch1007 -p1 -%patch1008 -p1 -%patch1009 -p1 -%patch1010 -p1 -%patch1011 -p1 -%patch1012 -p1 -%patch1013 -p1 -%patch1014 -p1 -%patch1015 -p1 -%patch1016 -p1 -%patch1017 -p1 -%patch1018 -p1 -%patch1019 -p1 -%patch1020 -p1 %endif %patch2000 -p1 @@ -806,7 +752,7 @@ # Increase timeout export TIMEOUTFACTOR=16 # The testsuite does its own malloc checking -unset MALLOC_CHECK_ +unset MALLOC_CHECK_ MALLOC_PERTURB_ make %{?_smp_mflags} %{?make_output_sync} -C cc-base -k check || { cd cc-base o=$- @@ -1062,10 +1008,11 @@ rm -rf %{buildroot}%{_libdir}/audit %ifarch i686 -# Remove files from glibc-{extra,info,i18ndata} and nscd +# Remove files from glibc-{extra,info,i18ndata}, nscd, libnsl1 rm -rf %{buildroot}%{_infodir} %{buildroot}%{_prefix}/share/i18n rm -f %{buildroot}%{_bindir}/makedb %{buildroot}/var/lib/misc/Makefile rm -f %{buildroot}%{_sbindir}/nscd +rm -f %{buildroot}%{slibdir}/libnsl.so.1 %endif %ifnarch i686 @@ -1292,7 +1239,6 @@ %ifarch x86_64 aarch64 %{slibdir}/libmvec.so.1 %endif -%{slibdir}/libnsl.so.1 %{slibdir}/libnss_compat.so.2 %{slibdir}/libnss_db.so.2 %{slibdir}/libnss_dns.so.2 @@ -1447,6 +1393,11 @@ /var/lib/misc/Makefile %files lang -f libc.lang + +%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 %endif ++++++ glibc-2.3.90-langpackdir.diff ++++++ --- /var/tmp/diff_new_pack.oYOjgA/_old 2024-02-02 15:45:29.852839460 +0100 +++ /var/tmp/diff_new_pack.oYOjgA/_new 2024-02-02 15:45:29.856839605 +0100 @@ -17,8 +17,8 @@ libc_hidden_builtin_proto (__memset_chk) +libc_hidden_builtin_proto (__strcpy_chk) libc_hidden_builtin_proto (__stpcpy_chk) + libc_hidden_builtin_proto (__strncpy_chk) - #endif Index: glibc-2.38/intl/loadmsgcat.c =================================================================== --- glibc-2.38.orig/intl/loadmsgcat.c ++++++ glibc-2.38.tar.xz -> glibc-2.39.tar.xz ++++++ /work/SRC/openSUSE:Factory/glibc/glibc-2.38.tar.xz /work/SRC/openSUSE:Factory/.glibc.new.1815/glibc-2.39.tar.xz differ: char 27, line 1 ++++++ glibc-version.diff ++++++ --- /var/tmp/diff_new_pack.oYOjgA/_old 2024-02-02 15:45:29.908841489 +0100 +++ /var/tmp/diff_new_pack.oYOjgA/_new 2024-02-02 15:45:29.912841634 +0100 @@ -8,7 +8,7 @@ static const char banner[] = -"GNU C Library "PKGVERSION RELEASE" release version "VERSION".\n\ +"GNU C Library "PKGVERSION RELEASE" release version "VERSION" (git "GITID").\n\ - Copyright (C) 2023 Free Software Foundation, Inc.\n\ + 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\ ++++++ ulp-prologue-into-asm-functions.patch ++++++ --- /var/tmp/diff_new_pack.oYOjgA/_old 2024-02-02 15:45:30.012845256 +0100 +++ /var/tmp/diff_new_pack.oYOjgA/_new 2024-02-02 15:45:30.016845401 +0100 @@ -1,4 +1,4 @@ -From 65bb10c34ff3734373a8b4be4e707f0494449f17 Mon Sep 17 00:00:00 2001 +From 3c0817dcbbc99eb438a33be5336db69cf88ca7cf Mon Sep 17 00:00:00 2001 From: Giuliano Belinassi <gbelina...@suse.de> Date: Wed, 24 May 2023 18:03:15 -0300 Subject: [PATCH] Add Userspace Livepatch prologue into ASM functions @@ -15,20 +15,19 @@ Makeconfig | 5 +++++ config.h.in | 3 +++ config.make.in | 1 + - configure | 21 +++++++++++++++++++++ - configure.ac | 13 +++++++++++++ - sysdeps/x86/sysdep.h | 22 ++++++++++++++++++---- + 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 | 13 +++++++++++++ - 10 files changed, 77 insertions(+), 16 deletions(-) + sysdeps/x86_64/sysdep.h | 28 ++++++++++++++++++++---- + 9 files changed, 70 insertions(+), 16 deletions(-) diff --git a/Makeconfig b/Makeconfig -index 77d7fd14df..765d72bcf5 100644 +index 85e00cef94..502e4e2d89 100644 --- a/Makeconfig +++ b/Makeconfig -@@ -984,6 +984,11 @@ else +@@ -979,6 +979,11 @@ else +cflags += $(no-fortify-source) endif @@ -41,10 +40,10 @@ # used to compile and will be installed. Each can also contain an # include/ subdirectory, whose header files will be used to compile diff --git a/config.h.in b/config.h.in -index 0dedc124f7..08b1868002 100644 +index 44a34072a4..430627dcaf 100644 --- a/config.h.in +++ b/config.h.in -@@ -204,6 +204,9 @@ +@@ -199,6 +199,9 @@ /* Define to 1 if libpthread actually resides in libc. */ #define PTHREAD_IN_LIBC 0 @@ -55,11 +54,11 @@ #define TIMEOUTFACTOR 1 diff --git a/config.make.in b/config.make.in -index d487a4f4e9..e48351c59a 100644 +index 55e8b7563b..0f14c05d62 100644 --- a/config.make.in +++ b/config.make.in -@@ -85,6 +85,7 @@ nss-crypt = @libc_cv_nss_crypt@ - static-nss-crypt = @libc_cv_static_nss_crypt@ +@@ -81,6 +81,7 @@ mach-interface-list = @mach_interface_list@ + memory-tagging = @memory_tagging@ # Configuration options. +enable-userspace-livepatch = @enable_userspace_livepatch@ @@ -67,7 +66,7 @@ build-profile = @profile@ build-static-nss = @static_nss@ diff --git a/configure b/configure -index c02c0b5825..e2000fdc4a 100755 +index 59ff1e415d..69c0795f99 100755 --- a/configure +++ b/configure @@ -622,6 +622,7 @@ LIBOBJS @@ -78,7 +77,7 @@ mach_interface_list DEFINES static_nss -@@ -819,6 +820,7 @@ enable_cet +@@ -812,6 +813,7 @@ enable_cet enable_scv enable_fortify_source with_cpu @@ -86,7 +85,7 @@ ' ac_precious_vars='build_alias host_alias -@@ -1501,6 +1503,8 @@ Optional Features: +@@ -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. @@ -95,7 +94,7 @@ Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] -@@ -8004,6 +8008,23 @@ libc_cv_multidir=`${CC-cc} $CFLAGS $CPPFLAGS -print-multi-directory` +@@ -7864,6 +7868,23 @@ libc_cv_multidir=`${CC-cc} $CFLAGS $CPPFLAGS -print-multi-directory` @@ -120,10 +119,10 @@ RELEASE=`sed -n -e 's/^#define RELEASE "\([^"]*\)"/\1/p' < $srcdir/version.h` diff --git a/configure.ac b/configure.ac -index 09553541fb..a07e3d6284 100644 +index 65799e5685..e792f8c866 100644 --- a/configure.ac +++ b/configure.ac -@@ -1827,6 +1827,19 @@ AC_SUBST(DEFINES) +@@ -1753,6 +1753,19 @@ AC_SUBST(DEFINES) dnl See sysdeps/mach/configure.ac for this variable. AC_SUBST(mach_interface_list) @@ -143,46 +142,8 @@ VERSION=`sed -n -e 's/^#define VERSION "\([^"]*\)"/\1/p' < $srcdir/version.h` RELEASE=`sed -n -e 's/^#define RELEASE "\([^"]*\)"/\1/p' < $srcdir/version.h` AC_SUBST(VERSION) -diff --git a/sysdeps/x86/sysdep.h b/sysdeps/x86/sysdep.h -index 0b3483a77a..329c16306e 100644 ---- a/sysdeps/x86/sysdep.h -+++ b/sysdeps/x86/sysdep.h -@@ -77,15 +77,29 @@ enum cf_protection_level - #define ALIGNARG(log2) 1<<log2 - #define ASM_SIZE_DIRECTIVE(name) .size name,.-name; - -+/* For 32-bit glibc then define those macros as empty. */ -+#ifndef ULP_PRE_PROLOGUE -+# define ULP_PRE_PROLOGUE -+#endif -+#ifndef ULP_POST_PROLOGUE -+# define ULP_POST_PROLOGUE -+#endif -+ -+/* Define the first instructions of a function. */ -+#define FUNCTION_START(name) \ -+ ULP_PRE_PROLOGUE; \ -+ C_LABEL(name); \ -+ cfi_startproc; \ -+ _CET_ENDBR; \ -+ ULP_POST_PROLOGUE; \ -+ 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) - - /* Common entry 16 byte aligns. */ - #define ENTRY(name) ENTRY_P2ALIGN (name, 4) diff --git a/sysdeps/x86_64/multiarch/strcmp-avx2.S b/sysdeps/x86_64/multiarch/strcmp-avx2.S -index 8804338d75..d3584b2c5d 100644 +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) @@ -198,7 +159,7 @@ # 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 ae39cdf217..44a8d4cee7 100644 +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) @@ -214,7 +175,7 @@ # 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 cbb22884eb..327377daa6 100644 +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) @@ -230,10 +191,10 @@ /* * 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 6ca169573d..c18f0ef914 100644 +index db6e36b2dd..37136d8ca9 100644 --- a/sysdeps/x86_64/sysdep.h +++ b/sysdeps/x86_64/sysdep.h -@@ -24,6 +24,19 @@ +@@ -49,6 +49,20 @@ enum cf_protection_level #ifdef __ASSEMBLER__ @@ -242,18 +203,45 @@ + written in ASM, the way we do this is by adding this prologue manually. */ + +#if ENABLE_USERSPACE_LIVEPATCH -+# undef ULP_PRE_PROLOGUE -+# undef ULP_POST_PROLOGUE +# define ULP_PRE_PROLOGUE \ + .rept 14; nop; .endr +# define ULP_POST_PROLOGUE \ + xchg %ax, %ax ++#else ++# define ULP_PRE_PROLOGUE ++# define ULP_POST_PROLOGUE +#endif + /* Syntactic details of assembler. */ + #ifdef _CET_ENDBR +@@ -58,15 +72,21 @@ enum cf_protection_level + # define _CET_NOTRACK + #endif + ++/* Define the first instructions of a function. */ ++#define FUNCTION_START(name) \ ++ ULP_PRE_PROLOGUE; \ ++ C_LABEL(name); \ ++ cfi_startproc; \ ++ _CET_ENDBR; \ ++ ULP_POST_PROLOGUE; \ ++ 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.41.0 +2.43.0