diff --git a/gnu/packages/bdw-gc.scm b/gnu/packages/bdw-gc.scm index 8eed98d1fd..acd0033d1e 100644 --- a/gnu/packages/bdw-gc.scm +++ b/gnu/packages/bdw-gc.scm @@ -114,8 +114,14 @@ (define-public libgc/static-libs (arguments (substitute-keyword-arguments (package-arguments libgc) ((#:configure-flags flags #~'()) - #~(cons "--enable-static" #$flags)))) - + #~(cons "--enable-static" #$flags)) + ((#:make-flags flags #~'()) + (cond + ((target-aarch64?) + ;; This is a known workaround upstream. + ;; https://github.com/ivmai/bdwgc/issues/479 + #~(list "CFLAGS_EXTRA=-DNO_MPROTECT_VDB")) + (else flags))))) (properties '((hidden? . #t))))) (define-public libgc-7 diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index 63c84e93ef..0c513040d6 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -90,8 +90,11 @@ (define glibc-for-bootstrap ;; Make sure to build glibc with the same compiler version as the rest ;; of the bootstrap. Otherwise it fails to statically link on aarch64. (native-inputs - `(("gcc" ,gcc-7) - ,@(package-native-inputs base))) + (if (target-aarch64?) + (modify-inputs (package-native-inputs base) + (replace "gcc" gcc-7)) + `(("gcc" ,gcc-7) + ,@(package-native-inputs base)))) ;; Remove the 'debug' output to allow bit-reproducible builds (when the ;; 'debug' output is used, ELF files end up with a .gnu_debuglink, which