In my recent llvm-shim fix to enable dsymutil, I missed the case where /usr/bin gets checked for binaries before looking up binaries in lib/llvm/*/bin. So, it would find /usr/bin/nm which eventually symlinks to llvm-shim, thus execing the same thing over and over again. It manifests with a hung build during prefix bootstrap. The fix requires: - update two patches - release a new patch archive: dev.gentoo.org/~grobian/distfiles/binutils-apple-patches-11.3-r2.tar.bz2 - bump the ebuild to use the new patch archive: binutils-apple-11.3.1-r2.ebuild I will attach the two patches in a moment: - binutils-apple-11.3.1-llvm-prefix.patch - binutils-apple-11.3.1-llvm-shim.patch Essentially, these patches allow skipping anything that is a symlink to llvm-shim.
Created attachment 679934 [details, diff] modified llvm-prefix patch
Created attachment 679937 [details, diff] modified llvm-shim patch
Swearing comic book style: @#*^!! These patches removes the exec loop. But now it fails to find dsymutil again. Can someone else (more familiar with C than I am) take a look at this? Maybe I'm using realpath incorrectly or something. I will have very limited time to work on this for at least a few months.
Maybe look at reverting my llvm-shim patch, and instead change the llvm ebuild to install a symlink from llvm-dsymutil to dsymutil so that llvm-shim can find it without investigating symlinks.
I think a more productive approach would be to focus on 8.2.1-r101. I might at some point try and get the ld64 updated to the 11 variant there.