diff --git a/flake.lock b/flake.lock index 4d80290..bcef6ac 100644 --- a/flake.lock +++ b/flake.lock @@ -2,18 +2,16 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1608384842, - "narHash": "sha256-yxv4xAdHIKHgg9v/4zQwlnd20tmY/dMezJJ1cpYA7Vo=", - "owner": "ehmry", + "lastModified": 1611784459, + "narHash": "sha256-f5ZAW9dK/m2W2F+Gsb9nVuGTcVbnhkUezfaqWYaXAF8=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "b820868db27a90f48dd109265efaab257ffc2dbd", + "rev": "5547b2f67042994ec0155cef24296681dc7fba5a", "type": "github" }, "original": { - "owner": "ehmry", - "ref": "genodepkgs", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "type": "indirect" } }, "root": { diff --git a/flake.nix b/flake.nix index 29b051e..bcdd768 100644 --- a/flake.nix +++ b/flake.nix @@ -1,7 +1,6 @@ { description = "Genode packages"; - inputs.nixpkgs.url = "github:ehmry/nixpkgs/genodepkgs"; outputs = { self, nixpkgs }: let diff --git a/overlay/binutils/support-genode.patch b/overlay/binutils/support-genode.patch index a15f2fc..0a58795 100644 --- a/overlay/binutils/support-genode.patch +++ b/overlay/binutils/support-genode.patch @@ -1,11 +1,16 @@ -commit 848a25e8c97075ddead404beff15f122fd0fd624 -Author: Emery Hemingway -Date: Tue Jun 2 11:37:03 2020 +0530 +From 3ad56b9d46401577a02f06338049654cc5ef7039 Mon Sep 17 00:00:00 2001 +From: Emery Hemingway +Date: Tue, 12 Jan 2021 15:24:52 +0100 +Subject: [PATCH] Add Genode target support - Genode support +--- + bfd/config.bfd | 6 +++--- + gas/configure.tgt | 4 +++- + ld/configure.tgt | 8 ++++---- + 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/bfd/config.bfd b/bfd/config.bfd -index 6391f35684..fba459d066 100644 +index 14523caf0c..9b3e2a5e3f 100644 --- a/bfd/config.bfd +++ b/bfd/config.bfd @@ -229,7 +229,7 @@ case "${targ}" in @@ -17,7 +22,7 @@ index 6391f35684..fba459d066 100644 targ_defvec=aarch64_elf64_le_vec targ_selvecs="aarch64_elf64_be_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_le_vec arm_elf32_be_vec" want64=true -@@ -554,7 +554,7 @@ case "${targ}" in +@@ -555,7 +555,7 @@ case "${targ}" in targ_selvecs=hppa_elf32_vec ;; @@ -26,7 +31,7 @@ index 6391f35684..fba459d066 100644 targ_defvec=i386_elf32_vec targ_selvecs="iamcu_elf32_vec i386_coff_vec" ;; -@@ -662,7 +662,7 @@ case "${targ}" in +@@ -653,7 +653,7 @@ case "${targ}" in targ_selvecs="i386_elf32_vec iamcu_elf32_vec l1om_elf64_vec k1om_elf64_vec" want64=true ;; @@ -35,21 +40,8 @@ index 6391f35684..fba459d066 100644 targ_defvec=x86_64_elf64_vec targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec l1om_elf64_vec k1om_elf64_vec" case "${targ}" in -diff --git a/config.sub b/config.sub -index c95acc681d..388c305636 100755 ---- a/config.sub -+++ b/config.sub -@@ -1376,7 +1376,7 @@ case $os in - | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \ - | skyos* | haiku* | rdos* | toppers* | drops* | es* \ - | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ -- | midnightbsd*) -+ | midnightbsd* | genode*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - qnx*) diff --git a/gas/configure.tgt b/gas/configure.tgt -index 3d0415c1aa..177a82876f 100644 +index 337249597c..0030a40d7d 100644 --- a/gas/configure.tgt +++ b/gas/configure.tgt @@ -123,6 +123,7 @@ generic_target=${cpu_type}-$vendor-$os @@ -60,56 +52,63 @@ index 3d0415c1aa..177a82876f 100644 aarch64*-*-linux*) fmt=elf em=linux case ${cpu}-${os} in aarch64*-linux-gnu_ilp32) arch=aarch64:32 ;; -@@ -139,7 +140,8 @@ case ${generic_target} in +@@ -139,7 +140,7 @@ case ${generic_target} in arm-*-phoenix*) fmt=elf ;; arm-*-elf) fmt=elf ;; - arm-*-eabi* | arm-*-rtems*) fmt=elf em=armeabi ;; -+ arm-*-eabi* | arm-*-rtems* | arm-*-genode*) -+ fmt=elf em=armeabi ;; ++ arm-*-eabi* | arm-*-rtems* | arm-*-genode*) fmt=elf em=armeabi ;; arm-*-symbianelf*) fmt=elf em=symbian ;; arm-*-kaos*) fmt=elf ;; arm-*-conix*) fmt=elf ;; -@@ -213,6 +215,7 @@ case ${generic_target} in +@@ -219,6 +220,7 @@ case ${generic_target} in i386-*-elfiamcu) fmt=elf arch=iamcu ;; i386-*-elf*) fmt=elf ;; i386-*-fuchsia*) fmt=elf ;; + i386-*-genode*) fmt=elf ;; - i386-*-kaos*) fmt=elf ;; i386-*-bsd*) fmt=aout em=386bsd ;; - i386-*-nacl*) fmt=elf em=nacl + i386-*-netbsdpe*) fmt=coff em=pe ;; + i386-*-netbsd*-gnu* | \ diff --git a/ld/configure.tgt b/ld/configure.tgt -index fad8b2e5c8..7179dbff3a 100644 +index 87c7d9a4ca..dafcc4812c 100644 --- a/ld/configure.tgt +++ b/ld/configure.tgt -@@ -47,7 +47,7 @@ targ64_extra_libpath= - case "${targ}" in +@@ -46,7 +46,7 @@ case "${targ}" in aarch64_be-*-elf) targ_emul=aarch64elfb - targ_extra_emuls="aarch64elf aarch64elf32 aarch64elf32b armelfb armelf" ;; + targ_extra_emuls="aarch64elf aarch64elf32 aarch64elf32b armelfb armelf" + ;; -aarch64-*-elf | aarch64-*-rtems*) -+aarch64-*-elf | aarch64-*-rtems* | aarch64-*-genode*) +++aarch64-*-elf | aarch64-*-rtems* | aarch64-*-genode*) targ_emul=aarch64elf - targ_extra_emuls="aarch64elf32 aarch64elf32b aarch64elfb armelf armelfb" ;; - aarch64-*-cloudabi*) targ_emul=aarch64cloudabi -@@ -115,7 +115,7 @@ arm-*-nto*) targ_emul=armnto ;; - arm-*-phoenix*) targ_emul=armelf ;; + targ_extra_emuls="aarch64elf32 aarch64elf32b aarch64elfb armelf armelfb" + ;; +@@ -148,7 +148,7 @@ arm-*-phoenix*) targ_emul=armelf armeb-*-elf | armeb-*-eabi*) - targ_emul=armelfb ;; + targ_emul=armelfb + ;; -arm-*-elf | arm*-*-eabi* | arm-*-rtems*) +arm-*-elf | arm*-*-eabi* | arm-*-rtems* | arm-*-genode*) - targ_emul=armelf ;; + targ_emul=armelf + ;; arm*-*-symbianelf*) targ_emul=armsymbian;; - arm-*-kaos*) targ_emul=armelf ;; -@@ -302,10 +302,10 @@ x86_64-*-netbsd*) targ_emul=elf_x86_64 - esac ;; +@@ -354,7 +354,7 @@ i[3-7]86-*-netbsdpe*) targ_emul=i386pe i[3-7]86-*-elfiamcu) targ_emul=elf_iamcu - targ_extra_emuls=elf_i386 ;; + targ_extra_emuls=elf_i386 + ;; -i[3-7]86-*-elf* | i[3-7]86-*-rtems*) +i[3-7]86-*-elf* | i[3-7]86-*-rtems* | i[3-7]86-*-genode*) targ_emul=elf_i386 - targ_extra_emuls=elf_iamcu ;; + targ_extra_emuls=elf_iamcu + ;; +@@ -954,7 +954,7 @@ x86_64-*-netbsd* | x86_64-*-openbsd*) + sed -e 's/netbsd/netbsdelf/'`;; + esac + ;; -x86_64-*-elf* | x86_64-*-rtems* | x86_64-*-fuchsia*) +x86_64-*-elf* | x86_64-*-rtems* | x86_64-*-fuchsia* | x86_64-*-genode*) targ_emul=elf_x86_64 targ_extra_emuls="elf_i386 elf_iamcu elf32_x86_64 elf_l1om elf_k1om" targ_extra_libpath="elf_i386 elf_iamcu elf32_x86_64 elf_l1om elf_k1om" +-- +2.29.2 + diff --git a/overlay/default.nix b/overlay/default.nix index fbc7e59..d7d3e90 100644 --- a/overlay/default.nix +++ b/overlay/default.nix @@ -47,7 +47,8 @@ in nullPkgs // { binutils-unwrapped = overrideAttrsTarget (attrs: { patches = attrs.patches ++ [ ./binutils/support-genode.patch ]; - nativeBuildInputs = [ final.updateAutotoolsGnuConfigScriptsHook ]; + nativeBuildInputs = attrs.nativeBuildInputs + ++ [ final.updateAutotoolsGnuConfigScriptsHook ]; }) binutils-unwrapped; cmake = overrideAttrsTarget (attrs: { diff --git a/overlay/llvm-11/clang/default.nix b/overlay/llvm-11/clang/default.nix index df9cc1a..675a789 100644 --- a/overlay/llvm-11/clang/default.nix +++ b/overlay/llvm-11/clang/default.nix @@ -112,6 +112,7 @@ let doCheck = false; + requiredSystemFeatures = [ "big-parallel" ]; meta.description = "man page for Clang ${version}"; }); in self