Change:
Steps to reproduce the behavior: Add any other context about the problem here. <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --No maintainers, pinging from . Please run and paste the result. Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
has:
need to edit to unpin gccStdenv will get past configure but fails at link step for a different reason
Looks like clang doesn't understand the assembly syntax kexec-tools uses which appears to be the GNU/GCC style. I see pixman has had a similar problem before which the solution for them is to disable assembly. We don't have that luxury here. We have two solutions but both requires patches: the assembly files to use a syntax clang accepts a different assembler With the first one, it sounds like ARM has something called UAL (Unified Assembly Language) so we might be able to use that. With the second one, it looks like kexec-tools just uses the CC for the assembler so we would have to patch the Makefiles. Personally, I think the 2nd option is the best here but it looks like this is a part of the Linux kernel git server I think inquiring upstream to look into this is not a bad idea.
on x64 linux with removed i get a link error: though exists not sure why it is trying to use if it is trying to statically link.
Yeah, I see that error as well but on aarch64-linux. Not sure why it failed to link things right.
I was able to use and run the failed command with :
I have discovered that adding makes the command work.
i guess the clang linker is not happy. i can build fine using which uses gnu binutils ld i believe.
Doesn't work for me. I still get the same error during the build phase.
?
Oh no, I'm doing: . Using the non-LLVM package set works but this issue is with .
I made a patch for one of the Makefiles and applying the , works with . Will PR it now.
seems like an lld problem. it is searching for '.so' files when building a relocatable image but should be searching for files. this patch fixes it. error is coming from: filed also, i'm not sure that linking with unconditionally is correct but i'm a bit foggy on when unwind is required

Discussion:
url = "https://github.com/horms/kexec-tools/commit/328de8e00e298f00d7ba6b25dc3950147e9642e6.patch"; hash = "sha256-wVQI4oV+hBLq3kGIp2+F5J3f6s/TypDu3Xq583KYc3U="; }) <del> ]; </del> <ins> ] ++ lib.optional (stdenv.hostPlatform.useLLVM or false) ./fix-purgatory-llvm-libunwind.patch; </ins> hardeningDisable = [ "format" "pic" "relro" "pie" ];

<ins> --- a/purgatory/Makefile	2024-06-06 23:59:33.089005832 -0700 +++ b/purgatory/Makefile	2024-06-06 23:59:56.761169892 -0700 @@ -62,7 +62,7 @@ $(PURGATORY): LDFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS) -Wl,--no-undefined -nostartfiles -nostdlib  -nodefaultlibs -e purgatory_start -r  -			-Wl,-Map=$(PURGATORY_MAP) +			-Wl,-Map=$(PURGATORY_MAP) -static $(PURGATORY): $(PURGATORY_OBJS) $(MKDIR) -p $(@D) </ins>

kestrel = callPackage ../tools/security/kestrel { }; <del> kexec-tools = callPackage ../os-specific/linux/kexec-tools { # clangStdenv fails with # purgatory/arch/i386/entry32-16.S:23:2: error: unknown directive #  .arch i386 #  ^ # purgatory/arch/i386/entry32-16.S:115:11: error: unknown token in expression #  ljmp %cs:*(realdest - entry16) #           ^ # make: *** [Makefile:128: purgatory/arch/i386/entry32-16.o] Error 1 stdenv = gccStdenv; }; </del> <ins> kexec-tools = callPackage ../os-specific/linux/kexec-tools { }; </ins> keepkey-agent = with python3Packages; toPythonApplication keepkey-agent;