/* Generated by genlibgcc_compat.py */

#define   COMPAT_FUNCTIONS_LIST \
    XX(__adddf3) \
    XX(__addsf3) \
    XX(__aeabi_cdcmpeq) \
    XX(__aeabi_cdcmple) \
    XX(__aeabi_cdrcmple) \
    XX(__aeabi_d2f) \
    XX(__aeabi_d2iz) \
    XX(__aeabi_dadd) \
    XX(__aeabi_dcmpeq) \
    XX(__aeabi_dcmpge) \
    XX(__aeabi_dcmpgt) \
    XX(__aeabi_dcmple) \
    XX(__aeabi_dcmplt) \
    XX(__aeabi_dcmpun) \
    XX(__aeabi_ddiv) \
    XX(__aeabi_dmul) \
    XX(__aeabi_drsub) \
    XX(__aeabi_dsub) \
    XX(__aeabi_f2d) \
    XX(__aeabi_f2iz) \
    XX(__aeabi_f2uiz) \
    XX(__aeabi_fadd) \
    XX(__aeabi_fcmpun) \
    XX(__aeabi_fdiv) \
    XX(__aeabi_fmul) \
    XX(__aeabi_frsub) \
    XX(__aeabi_fsub) \
    XX(__aeabi_i2d) \
    XX(__aeabi_i2f) \
    XX(__aeabi_idiv) \
    XX(__aeabi_idivmod) \
    XX(__aeabi_l2d) \
    XX(__aeabi_l2f) \
    XX(__aeabi_lasr) \
    XX(__aeabi_ldivmod) \
    XX(__aeabi_llsl) \
    XX(__aeabi_llsr) \
    XX(__aeabi_lmul) \
    XX(__aeabi_ui2d) \
    XX(__aeabi_ui2f) \
    XX(__aeabi_uidiv) \
    XX(__aeabi_uidivmod) \
    XX(__aeabi_ul2d) \
    XX(__aeabi_ul2f) \
    XX(__aeabi_uldivmod) \
    XX(__aeabi_unwind_cpp_pr0) \
    XX(__aeabi_unwind_cpp_pr1) \
    XX(__cmpdf2) \
    XX(__divdf3) \
    XX(__divsf3) \
    XX(__eqdf2) \
    XX(__extendsfdf2) \
    XX(__fixdfsi) \
    XX(__fixsfsi) \
    XX(__floatdidf) \
    XX(__floatdisf) \
    XX(__floatsidf) \
    XX(__floatsisf) \
    XX(__floatundidf) \
    XX(__floatundisf) \
    XX(__floatunsidf) \
    XX(__floatunsisf) \
    XX(__gedf2) \
    XX(__gtdf2) \
    XX(__ledf2) \
    XX(__ltdf2) \
    XX(__muldf3) \
    XX(__muldi3) \
    XX(__mulsf3) \
    XX(__nedf2) \
    XX(__popcount_tab) \
    XX(__popcountsi2) \
    XX(__subdf3) \
    XX(__subsf3) \
    XX(__truncdfsf2) \
    XX(__unorddf2) \
    XX(__unordsf2) \


#define  XX(f)    extern void f(void);
COMPAT_FUNCTIONS_LIST
#undef XX

void __bionic_libgcc_compat_hooks(void) {
#define XX(f)    f();
COMPAT_FUNCTIONS_LIST
#undef XX
}
