When emitting a debug_frame section, we can see that it contains a named symbol.
echo "void foo(void) {}" | clang -arch arm64 -ffreestanding -g -c -o /tmp/test.o -x c - nm /tmp/test.o -s __DWARF __debug_frame 0000000000000200 s ltmp1
There are no such symbols emitted in any of the other DWARF sections, this is because when the __debug_frame section is created, it doesn't get a BeginSymName and so it creates a named symbol, such as ltmp1 and emits it when we switch to the section in MCDwarf.cpp
This patch fixes the above issue
Nit: you could trim this path a little.