Some tests uses 'long double' to/from conversions and for some targets
they are provided by compiler runtime (either compiler-rt or libgcc).
However when building libcxx with linunwinder current test configuration
at target_info.py do not include the required libraries, as:
not llvm_unwinder: [-lgcc_s] [-lgcc] [...] [-lgcc_s] [-lgcc] llvm_unwinder [-lunwind] [-ldl]
This causes some tests build issues with missing symbols on aarch64,
for instance, where 'long double' is a binary float with 128-bits with
mostly of internal operations being provided by software routines.
This patch changes how to define the default linker flags by:
not llvm_unwinder: [-lgcc_s] [-lgcc] llvm_unwinder [-lunwind] [-ldl] [-lgcc_s] [-lgcc]
I checked and aarch64 and x86_64 with libcxx and libunwind (with and without
LIBCXXABI_USE_LLVM_UNWINDER).