Hi there, thank you for doing such a wonderful feature for our good old rpi!
In the past I was using raspdif without a issue but that was quite a few rpi-firmware upgrades ago and probably on Debian Bullseye (maybe even x32). As I read through Issues, I've found that x64 is also supported but it's a experimental feature and it has been merged in may 2023 so I conclude using raspdif in x64 os should be a viable option.
But now, it's not working anymore. I've tried to compile latest version from this repo but unfortunately to no avail. My system info:
Debian clang version 14.0.6
Target: aarch64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 12 (bookworm)
Release: 12
Codename: bookworm
Linux rasp3 6.12.75+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.12.75-1+rpt1~bookworm (2026-03-11) aarch64 GNU/Linux
The compiling error is as follows:
user1@rasp3:~/dev/raspdif $ make
echo "#define GIT_VERSION \"Commit: 52d1a48-dirty\"" > include/git_version.h-new; \
cmp -s include/git_version.h include/git_version.h-new || cp include/git_version.h-new include/git_version.h; \
rm include/git_version.h-new
clang -v -I include -I include/bcm283x -I /opt/vc/include -MMD -Wall -Wno-missing-braces -c source/bcm283x/bcm283x_pcm.c -o build/source/bcm283x/bcm283x_pcm.c.o
Debian clang version 14.0.6
Target: aarch64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Found candidate GCC installation: /usr/bin/../lib/gcc/aarch64-linux-gnu/12
Selected GCC installation: /usr/bin/../lib/gcc/aarch64-linux-gnu/12
Candidate multilib: .;@m64
Selected multilib: .;@m64
(in-process)
"/usr/lib/llvm-14/bin/clang" -cc1 -triple aarch64-unknown-linux-gnu -emit-obj -mrelax-all --mrelax-relocations -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name bcm283x_pcm.c -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=non-leaf -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu generic -target-feature +neon -target-feature +v8a -target-abi aapcs -fallow-half-arguments-and-returns -mllvm -treat-scalable-fixed-error-as-warning -debugger-tuning=gdb -v -fcoverage-compilation-dir=/home/user1/dev/raspdif -resource-dir /usr/lib/llvm-14/lib/clang/14.0.6 -dependency-file build/source/bcm283x/bcm283x_pcm.c.d -MT build/source/bcm283x/bcm283x_pcm.c.o -I include -I include/bcm283x -I /opt/vc/include -internal-isystem /usr/lib/llvm-14/lib/clang/14.0.6/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include -internal-externc-isystem /usr/include/aarch64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wall -Wno-missing-braces -fdebug-compilation-dir=/home/user1/dev/raspdif -ferror-limit 19 -fno-signed-char -fgnuc-version=4.2.1 -fcolor-diagnostics -target-feature +outline-atomics -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o build/source/bcm283x/bcm283x_pcm.c.o -x c source/bcm283x/bcm283x_pcm.c
clang -cc1 version 14.0.6 based upon LLVM 14.0.6 default target aarch64-unknown-linux-gnu
ignoring nonexistent directory "/usr/bin/../lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include"
ignoring nonexistent directory "/include"
#include "..." search starts here:
#include <...> search starts here:
include
include/bcm283x
/opt/vc/include
/usr/lib/llvm-14/lib/clang/14.0.6/include
/usr/local/include
/usr/include/aarch64-linux-gnu
/usr/include
End of search list.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: clang -v -I include -I include/bcm283x -I /opt/vc/include -MMD -Wall -Wno-missing-braces -c source/bcm283x/bcm283x_pcm.c -o build/source/bcm283x/bcm283x_pcm.c.o
1. <eof> parser at end of file
2. Code generation
3. Running pass 'Function Pass Manager' on module 'source/bcm283x/bcm283x_pcm.c'.
4. Running pass 'AArch64 Assembly Printer' on function '@bcm283x_pcm_configure_dma'
#0 0x0000007f9806e4dc llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/lib/aarch64-linux-gnu/libLLVM-14.so.1+0xe9e4dc)
#1 0x0000007f9806c4b4 llvm::sys::RunSignalHandlers() (/lib/aarch64-linux-gnu/libLLVM-14.so.1+0xe9c4b4)
#2 0x0000007f97f9b1c0 (/lib/aarch64-linux-gnu/libLLVM-14.so.1+0xdcb1c0)
#3 0x0000007fa08f6820 (linux-vdso.so.1+0x820)
#4 0x0000007f984fa9f0 (/lib/aarch64-linux-gnu/libLLVM-14.so.1+0x132a9f0)
#5 0x0000007f9804b49c llvm::raw_ostream::write(char const*, unsigned long) (/lib/aarch64-linux-gnu/libLLVM-14.so.1+0xe7b49c)
#6 0x0000007f99401048 llvm::MCContext::createTempSymbol(llvm::Twine const&, bool) (/lib/aarch64-linux-gnu/libLLVM-14.so.1+0x2231048)
#7 0x0000007f994013f0 llvm::MCContext::createTempSymbol() (/lib/aarch64-linux-gnu/libLLVM-14.so.1+0x22313f0)
#8 0x0000007f99425c6c llvm::MCObjectStreamer::emitCFIEndProcImpl(llvm::MCDwarfFrameInfo&) (/lib/aarch64-linux-gnu/libLLVM-14.so.1+0x2255c6c)
#9 0x0000007f9882f4c0 (/lib/aarch64-linux-gnu/libLLVM-14.so.1+0x165f4c0)
#10 0x0000007f98810b6c llvm::AsmPrinter::emitFunctionBody() (/lib/aarch64-linux-gnu/libLLVM-14.so.1+0x1640b6c)
#11 0x0000007f99934ba4 (/lib/aarch64-linux-gnu/libLLVM-14.so.1+0x2764ba4)
#12 0x0000007f983c122c llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/lib/aarch64-linux-gnu/libLLVM-14.so.1+0x11f122c)
#13 0x0000007f981a4390 llvm::FPPassManager::runOnFunction(llvm::Function&) (/lib/aarch64-linux-gnu/libLLVM-14.so.1+0xfd4390)
#14 0x0000007f981aaf70 llvm::FPPassManager::runOnModule(llvm::Module&) (/lib/aarch64-linux-gnu/libLLVM-14.so.1+0xfdaf70)
#15 0x0000007f981a4d98 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/lib/aarch64-linux-gnu/libLLVM-14.so.1+0xfd4d98)
#16 0x0000007f9ecac680 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >) (/lib/aarch64-linux-gnu/libclang-cpp.so.14+0x184c680)
#17 0x0000007f9ef66f20 (/lib/aarch64-linux-gnu/libclang-cpp.so.14+0x1b06f20)
#18 0x0000007f9dea6f1c clang::ParseAST(clang::Sema&, bool, bool) (/lib/aarch64-linux-gnu/libclang-cpp.so.14+0xa46f1c)
#19 0x0000007f9f864444 clang::FrontendAction::Execute() (/lib/aarch64-linux-gnu/libclang-cpp.so.14+0x2404444)
#20 0x0000007f9f7d7d28 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/lib/aarch64-linux-gnu/libclang-cpp.so.14+0x2377d28)
#21 0x0000007f9f8d7d20 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/lib/aarch64-linux-gnu/libclang-cpp.so.14+0x2477d20)
#22 0x0000000000413608 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/lib/llvm-14/bin/clang+0x413608)
#23 0x0000000000411df4 (/usr/lib/llvm-14/bin/clang+0x411df4)
#24 0x0000007f9f4dc5fc (/lib/aarch64-linux-gnu/libclang-cpp.so.14+0x207c5fc)
#25 0x0000007f97f9ae94 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/lib/aarch64-linux-gnu/libLLVM-14.so.1+0xdcae94)
#26 0x0000007f9f4dc000 clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, bool*) const (/lib/aarch64-linux-gnu/libclang-cpp.so.14+0x207c000)
#27 0x0000007f9f4b0f50 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&) const (/lib/aarch64-linux-gnu/libclang-cpp.so.14+0x2050f50)
#28 0x0000007f9f4b118c clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) const (/lib/aarch64-linux-gnu/libclang-cpp.so.14+0x205118c)
#29 0x0000007f9f4c50c4 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) (/lib/aarch64-linux-gnu/libclang-cpp.so.14+0x20650c4)
#30 0x0000000000411648 main (/usr/lib/llvm-14/bin/clang+0x411648)
#31 0x0000007f96d37744 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3
#32 0x0000007f96d37818 call_init ./csu/../csu/libc-start.c:128:20
#33 0x0000007f96d37818 __libc_start_main ./csu/../csu/libc-start.c:347:5
#34 0x000000000040eef0 _start (/usr/lib/llvm-14/bin/clang+0x40eef0)
clang: error: clang frontend command failed with exit code 139 (use -v to see invocation)
Debian clang version 14.0.6
Target: aarch64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
clang: note: diagnostic msg:
********************
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /tmp/bcm283x_pcm-0a9fba.c
clang: note: diagnostic msg: /tmp/bcm283x_pcm-0a9fba.sh
clang: note: diagnostic msg:
********************
make: *** [Makefile:31: build/source/bcm283x/bcm283x_pcm.c.o] Error 139
The same happens when trying to manually compile other .c files. Could anyone tell me what is the problem here and is it possible to fix it?
Kind regards
Hi there, thank you for doing such a wonderful feature for our good old rpi!
In the past I was using raspdif without a issue but that was quite a few rpi-firmware upgrades ago and probably on Debian Bullseye (maybe even x32). As I read through Issues, I've found that x64 is also supported but it's a experimental feature and it has been merged in may 2023 so I conclude using raspdif in x64 os should be a viable option.
But now, it's not working anymore. I've tried to compile latest version from this repo but unfortunately to no avail. My system info:
The compiling error is as follows:
The same happens when trying to manually compile other .c files. Could anyone tell me what is the problem here and is it possible to fix it?
Kind regards