-mlong-calls was set only in STATIC_CXXFLAGS, but there are some .c source files in LLVM which also need -mlong-calls.
Unfortunately this is not sufficient to fix linking lldb on arm:
/tank/emaste/obj/arm.armv6/tank/emaste/src/freebsd-staging/lib/clang/libllvm/libllvm.a(regexec.o): In function `llvm_regexec': /tank/emaste/src/freebsd-staging/contrib/llvm/lib/Support/regexec.c:(.text+0x260): relocation truncated to fit: R_ARM_CALL against symbol `__aeabi_read_tp@@FBSDprivate_1.0' defined in .plt section in /tank/emaste/obj/arm.armv6/tank/emaste/src/freebsd-staging/lib/clang/libllvm/libllvm.a(regexec.o)
because it seems compiler-inserted __aeabi_read_tp calls don't honour -mlong-calls (clang400 branch) - we get:
260: fe ff ff eb bl #-8 <llvm_regexec+0x260> 00000260: R_ARM_CALL __aeabi_read_tp
But this is part of the fix