Fix Clang build break due to ENDFUNC macro and subsequent warnings
Recent MRs introduced a regression where the ENDFUNC macro was defined with a .purgem directive that failed to purge the correct symbol. As a result, the macro was redefined multiple times — valid under GNU AS but not under LLVM AS — leading to build errors with Clang.
This patch corrects the macro definition and aligns indentation with the file's formatting conventions and also fixes the warnings that arise from unreachable code on AArch64 platforms.