From 6ef6d01185c423643a23d6b02acbac104f0795fd Mon Sep 17 00:00:00 2001 From: chn Date: Thu, 25 Sep 2025 08:30:18 +0800 Subject: [PATCH] lib.buildNixpkgsConfig: fix xen build --- flake/lib/buildNixpkgsConfig/default.nix | 1 + flake/lib/buildNixpkgsConfig/xen.patch | 15 +++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 flake/lib/buildNixpkgsConfig/xen.patch diff --git a/flake/lib/buildNixpkgsConfig/default.nix b/flake/lib/buildNixpkgsConfig/default.nix index 3d0d08be..9594bbaf 100644 --- a/flake/lib/buildNixpkgsConfig/default.nix +++ b/flake/lib/buildNixpkgsConfig/default.nix @@ -115,6 +115,7 @@ in platformConfig // assimp = prev.assimp.override { stdenv = final.genericPackages.stdenv; }; redis = prev.redis.overrideAttrs (prev: { doCheck = false; }); wannier90 = prev.wannier90.overrideAttrs { buildFlags = [ "dynlib" ]; }; + xen = prev.xen.overrideAttrs (prev: { patches = prev.patches or [] ++ [ ./xen.patch ]; }); # libinsane = prev.libinsane.overrideAttrs (prev: # { nativeCheckInputs = builtins.filter (p: p.pname != "valgrind") prev.nativeCheckInputs; }); lib2geom = prev.lib2geom.overrideAttrs (prev: { doCheck = false; }); diff --git a/flake/lib/buildNixpkgsConfig/xen.patch b/flake/lib/buildNixpkgsConfig/xen.patch new file mode 100644 index 00000000..0b1a3aa3 --- /dev/null +++ b/flake/lib/buildNixpkgsConfig/xen.patch @@ -0,0 +1,15 @@ +diff --git a/xen/arch/x86/boot/Makefile b/xen/arch/x86/boot/Makefile +index d45787665907..80c32163fbbd 100644 +--- a/xen/arch/x86/boot/Makefile ++++ b/xen/arch/x86/boot/Makefile +@@ -40,8 +40,8 @@ LD32 := $(LD) $(subst x86_64,i386,$(LDFLAGS_DIRECT)) + # are affected by both text_diff and text_gap. Ensure the sum of gap and diff + # is greater than 2^16 so that any 16bit relocations if present in the object + # file turns into a build-time error. +-text_gap := 0x010200 +-text_diff := 0x408020 ++text_gap := 0x010240 ++text_diff := 0x608040 + + $(obj)/build32.base.lds: AFLAGS-y += -DGAP=$(text_gap) -DTEXT_DIFF=$(text_diff) + $(obj)/build32.offset.lds: AFLAGS-y += -DGAP=$(text_gap) -DTEXT_DIFF=$(text_diff) -DAPPLY_OFFSET