Apple Clang hangs when compiling large assembly files with debug info

This appears to be a performance regression.

I have a non-standard compiler generating a large assembly file (60-70 MB). Some automated tools (cmake) will append the -g flag by default.

With apple LLVM 10.0 (cc --version says Apple LLVM version 10.0.0 (clang-1000.10.44.4)) the following compiles fine:

Code Block bash
time cc -c -g -o file.o file.s
real 0m24.527s
user 0m20.760s
sys 0m2.497s


With apple LLVM 11.0.3 (cc --version says Apple clang version 11.0.3 (clang-1103.0.32.62)) and 12.0 (Apple clang version 12.0.0 (clang-1200.0.32.28)) the process hangs (the build process times out after 90 minutes in this case). The workaround is to remove the -g flag.

Part of the problem is that the -g flag may be inserted by automated tools (cmake in particular).

Tested on MacOS High Sierra and Catalina
Apple Clang hangs when compiling large assembly files with debug info
 
 
Q