diff --git a/.cargo/config.toml b/.cargo/config.toml new file mode 100644 index 00000000..188308db --- /dev/null +++ b/.cargo/config.toml @@ -0,0 +1,2 @@ +[target.x86_64-unknown-linux-gnu] +rustflags = ["-C", "link-arg=-fuse-ld=lld"] diff --git a/flake.nix b/flake.nix index a20e1f12..a48ff69b 100644 --- a/flake.nix +++ b/flake.nix @@ -41,7 +41,7 @@ lockFile = ./Cargo.lock; }; passthru.cargoLock = cargoLock; - nativeBuildInputs = [ pkgs.python3 (pkgs.wrapClangMulti pkgs.llvmPackages_14.clang) llvm-tools-irrt pkgs.llvmPackages_14.llvm.out llvm-nac3 ]; + nativeBuildInputs = [ pkgs.python3 (pkgs.wrapClangMulti pkgs.llvmPackages_14.clang) llvm-tools-irrt pkgs.llvmPackages_14.llvm.out pkgs.llvmPackages_14.bintools llvm-nac3 ]; buildInputs = [ pkgs.python3 llvm-nac3 ]; checkInputs = [ (pkgs.python3.withPackages(ps: [ ps.numpy ps.scipy ])) ]; checkPhase = @@ -120,6 +120,7 @@ buildInputs = [ (python3-mimalloc.withPackages(ps: [ ps.numpy ps.scipy ps.jsonschema ps.lmdb ps.platformdirs nac3artiq-instrumented ])) pkgs.llvmPackages_14.llvm.out + pkgs.llvmPackages_14.bintools ]; phases = [ "buildPhase" "installPhase" ]; buildPhase = @@ -168,7 +169,7 @@ buildInputs = with pkgs; [ # build dependencies packages.x86_64-linux.llvm-nac3 - (pkgs.wrapClangMulti llvmPackages_14.clang) llvmPackages_14.llvm.out # for running nac3standalone demos + (pkgs.wrapClangMulti llvmPackages_14.clang) llvmPackages_14.llvm.out llvmPackages_14.bintools # for running nac3standalone demos packages.x86_64-linux.llvm-tools-irrt cargo rustc diff --git a/nac3standalone/demo/run_demo.sh b/nac3standalone/demo/run_demo.sh index bec2eb6e..78e32dd2 100755 --- a/nac3standalone/demo/run_demo.sh +++ b/nac3standalone/demo/run_demo.sh @@ -58,7 +58,7 @@ rm -f ./*.o ./*.bc demo if [ -z "$i686" ]; then $nac3standalone "${nac3args[@]}" clang -c -std=gnu11 -Wall -Wextra -O3 -o demo.o demo.c - clang -o demo module.o demo.o $DEMO_LINALG_STUB -lm -Wl,--no-warn-search-mismatch + clang -o demo module.o demo.o $DEMO_LINALG_STUB -fuse-ld=lld -lm else $nac3standalone --triple i686-unknown-linux-gnu --target-features +sse2 "${nac3args[@]}" clang -m32 -c -std=gnu11 -Wall -Wextra -O3 -msse2 -o demo.o demo.c