diff options
author | Ricardo Wurmus <rekado@elephly.net> | 2017-04-26 13:03:48 +0200 |
---|---|---|
committer | Ricardo Wurmus <rekado@elephly.net> | 2017-04-29 23:31:35 +0200 |
commit | b2fd8f63679aa4f244c36fdca62f23c00b8eded9 (patch) | |
tree | 399d35304a4a9d9624e06897ecee53ae9ec6e653 /gnu/packages/base.scm | |
parent | e18e17ea4ea9172402e782d69477bf15c1c25776 (diff) | |
download | guix-b2fd8f63679aa4f244c36fdca62f23c00b8eded9.tar guix-b2fd8f63679aa4f244c36fdca62f23c00b8eded9.tar.gz |
gnu: glibc/linux: Fix runtime crashes on i686 systems.
* gnu/packages/patches/glibc-memchr-overflow-i686.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/commencement.scm (glibc-final-with-bootstrap-bash)[native-inputs]:
Add the patch conditionally for i686 systems.
* gnu/packages/base.scm (glibc/linux)[native-inputs]: Add the patch
conditionally for i686 systems.
[arguments]: Apply the patch conditionally on i686 systems.
Diffstat (limited to 'gnu/packages/base.scm')
-rw-r--r-- | gnu/packages/base.scm | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 9fcca45a54..6dc9e97c34 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -666,6 +666,16 @@ store.") ;; 4.7.1. ((" -lgcc_s") "")) + ;; Apply patch only on i686. + ;; TODO: Move the patch to 'patches' in the next update cycle. + ,@(if (string-prefix? "i686" (or (%current-target-system) + (%current-system))) + `(zero? (system* "patch" "-p1" "--force" + "--input" + (assoc-ref native-inputs + "glibc-memchr-overflow-i686.patch"))) + '()) + ;; Have `system' use that Bash. (substitute* "sysdeps/posix/system.c" (("#define[[:blank:]]+SHELL_PATH.*$") @@ -709,7 +719,15 @@ store.") ;; install the message catalogs, with 'msgfmt'. (native-inputs `(("texinfo" ,texinfo) ("perl" ,perl) - ("gettext" ,gettext-minimal))) + ("gettext" ,gettext-minimal) + + ;; Apply this patch only on i686 to avoid a full rebuild. + ;; TODO: Move to 'patches' in the next update cycle. + ,@(if (string-prefix? "i686" (or (%current-target-system) + (%current-system))) + `(("glibc-memchr-overflow-i686.patch" + ,(search-patch "glibc-memchr-overflow-i686.patch"))) + '()))) (native-search-paths ;; Search path for packages that provide locale data. This is useful |