From b79cbf32ea6cb223bebc5f731494565f7b880e36 Mon Sep 17 00:00:00 2001 From: Ryan Burns Date: Tue, 2 Jan 2024 20:29:57 -0800 Subject: [PATCH] freebsd.libc: fix build with LLVM 16+ --- pkgs/os-specific/bsd/freebsd/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/os-specific/bsd/freebsd/default.nix b/pkgs/os-specific/bsd/freebsd/default.nix index ff9f4d911f03..398b2ff6fa6d 100644 --- a/pkgs/os-specific/bsd/freebsd/default.nix +++ b/pkgs/os-specific/bsd/freebsd/default.nix @@ -717,6 +717,10 @@ in makeScopeWithSplicing' { buildInputs = with self; [ include csu ]; env.NIX_CFLAGS_COMPILE = "-B${self.csu}/lib"; + # Suppress lld >= 16 undefined version errors + # https://github.com/freebsd/freebsd-src/commit/2ba84b4bcdd6012e8cfbf8a0d060a4438623a638 + env.NIX_LDFLAGS = lib.optionalString (stdenv.targetPlatform.linker == "lld") "--undefined-version"; + makeFlags = [ "STRIP=-s" # flag to install, not command # lib/libc/gen/getgrent.c has sketchy cast from `void *` to enum