Fix assertion failure in libsanitizer when using glibc 2.31 and later. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92154 https://reviews.llvm.org/D69104 Adapted from these upstream revision: https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=277981 https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=279653 diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc index 97eae3fc7bc..4089d4695e2 100644 --- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc +++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc @@ -1145,8 +1145,9 @@ CHECK_SIZE_AND_OFFSET(ipc_perm, uid); CHECK_SIZE_AND_OFFSET(ipc_perm, gid); CHECK_SIZE_AND_OFFSET(ipc_perm, cuid); CHECK_SIZE_AND_OFFSET(ipc_perm, cgid); -#if !defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21) -/* On aarch64 glibc 2.20 and earlier provided incorrect mode field. */ +#if !SANITIZER_LINUX || __GLIBC_PREREQ (2, 31) +/* glibc 2.30 and earlier provided 16-bit mode field instead of 32-bit + on many architectures. */ CHECK_SIZE_AND_OFFSET(ipc_perm, mode); #endif diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h index c139322839a..7c3c2d866e5 100644 --- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h +++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h @@ -211,20 +211,13 @@ namespace __sanitizer { unsigned long __unused1; unsigned long __unused2; #elif defined(__sparc__) -# if defined(__arch64__) unsigned mode; - unsigned short __pad1; -# else - unsigned short __pad1; - unsigned short mode; unsigned short __pad2; -# endif unsigned short __seq; unsigned long long __unused1; unsigned long long __unused2; #else - unsigned short mode; - unsigned short __pad1; + unsigned int mode; unsigned short __seq; unsigned short __pad2; #if defined(__x86_64__) && !defined(_LP64) nge'>range
path: root/gnu/packages/patches/emacs-ignore-empty-xim-styles.patch
AgeCommit message (Expand)Author
2020-08-28gnu: emacs: Update to 27.1....* gnu/packages/emacs.scm (emacs): Update to 27.1. [source]: In snippet, use 'find-files' to find 'eshell/esh-groups.el' if it exists, but gracefully handle its absence. [arguments]: Add "--with-cairo" to configure-flags. Add 'restore-emacs-pdmp' and 'make-compressed-files-writable' phases. Explicitly return #t from 'install-site-start' phase. [inputs]: Add cairo, pango, harfbuzz, jansson, and gmp. Remove imagemagick. (emacs-next): Remove variable. (emacs-minimal, emacs-xwidgets): Use 'package/inherit'. [arguments]: Remove 'restore-emacs-pdmp' phase. (emacs-no-x): Use 'package/inherit'. [arguments]: Remove "--with-cairo" from configure-flags. Remove 'restore-emacs-pdmp' phase. [inputs]: Remove cairo, pango, and harfbuzz. (emacs-no-x-toolkit): Use 'package/inherit'. [arguments]: Remove 'restore-emacs-pdmp' phase. Remove superfluous quasiquote+unquote-splicing pair. (emacs-wide-int): Use 'package/inherit'. (guile-emacs): Use 'package/inherit'. [arguments]: Remove "--with-cairo" from configure-flags. Remove 'restore-emacs-pdmp' phase. * gnu/packages/patches/emacs-ignore-empty-xim-styles.patch, gnu/packages/patches/emacs-source-date-epoch.patch: Adapt to apply cleanly to emacs-27.1. * gnu/packages/patches/emacs-exec-path.patch: Replace with the previous contents of 'emacs27-exec-path.patch', but remove the superfluous comment about it being "like emacs-exec-path.patch, but for Emacs 27". * gnu/packages/patches/emacs27-exec-path.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove 'emacs27-exec-path.patch'. Mark H Weaver
2020-08-03gnu: emacs: Ignore empty XIM styles....As of libx11 version 1.6.10, xim may be NULL, which causes a segmentation fault in the execution of ARRAYELTS. As a cautionary measure, we short-circuit this logic. * gnu/packages/patches/emacs-ignore-empty-xim-styles.patch: New file. * gnu/packages/emacs.scm (emacs emacs-next)[patches]: Use it. * gnu/local.mk: Register it. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Leo Prikler