-
-extern rtx extendsfdf2_libfunc;
-extern rtx extendsfxf2_libfunc;
-extern rtx extendsftf2_libfunc;
-extern rtx extenddfxf2_libfunc;
-extern rtx extenddftf2_libfunc;
-
-extern rtx truncdfsf2_libfunc;
-extern rtx truncxfsf2_libfunc;
-extern rtx trunctfsf2_libfunc;
-extern rtx truncxfdf2_libfunc;
-extern rtx trunctfdf2_libfunc;
-
-extern rtx memcpy_libfunc;
-extern rtx bcopy_libfunc;
-extern rtx memcmp_libfunc;
-extern rtx bcmp_libfunc;
-extern rtx memset_libfunc;
-extern rtx bzero_libfunc;
-
-extern rtx eqsf2_libfunc;
-extern rtx nesf2_libfunc;
-extern rtx gtsf2_libfunc;
-extern rtx gesf2_libfunc;
-extern rtx ltsf2_libfunc;
-extern rtx lesf2_libfunc;
-
-extern rtx eqdf2_libfunc;
-extern rtx nedf2_libfunc;
-extern rtx gtdf2_libfunc;
-extern rtx gedf2_libfunc;
-extern rtx ltdf2_libfunc;
-extern rtx ledf2_libfunc;
-
-extern rtx eqxf2_libfunc;
-extern rtx nexf2_libfunc;
-extern rtx gtxf2_libfunc;
-extern rtx gexf2_libfunc;
-extern rtx ltxf2_libfunc;
-extern rtx lexf2_libfunc;
-
-extern rtx eqtf2_libfunc;
-extern rtx netf2_libfunc;
-extern rtx gttf2_libfunc;
-extern rtx getf2_libfunc;
-extern rtx lttf2_libfunc;
-extern rtx letf2_libfunc;
-
-extern rtx floatsisf_libfunc;
-extern rtx floatdisf_libfunc;
-extern rtx floattisf_libfunc;
-
-extern rtx floatsidf_libfunc;
-extern rtx floatdidf_libfunc;
-extern rtx floattidf_libfunc;
-
-extern rtx floatsixf_libfunc;
-extern rtx floatdixf_libfunc;
-extern rtx floattixf_libfunc;
-
-extern rtx floatsitf_libfunc;
-extern rtx floatditf_libfunc;
-extern rtx floattitf_libfunc;
-
-extern rtx fixsfsi_libfunc;
-extern rtx fixsfdi_libfunc;
-extern rtx fixsfti_libfunc;
-
-extern rtx fixdfsi_libfunc;
-extern rtx fixdfdi_libfunc;
-extern rtx fixdfti_libfunc;
-
-extern rtx fixxfsi_libfunc;
-extern rtx fixxfdi_libfunc;
-extern rtx fixxfti_libfunc;
-
-extern rtx fixtfsi_libfunc;
-extern rtx fixtfdi_libfunc;
-extern rtx fixtfti_libfunc;
-
-extern rtx fixunssfsi_libfunc;
-extern rtx fixunssfdi_libfunc;
-extern rtx fixunssfti_libfunc;
-
-extern rtx fixunsdfsi_libfunc;
-extern rtx fixunsdfdi_libfunc;
-extern rtx fixunsdfti_libfunc;
-
-extern rtx fixunsxfsi_libfunc;
-extern rtx fixunsxfdi_libfunc;
-extern rtx fixunsxfti_libfunc;
-
-extern rtx fixunstfsi_libfunc;
-extern rtx fixunstfdi_libfunc;
-extern rtx fixunstfti_libfunc;
+extern rtx libfunc_table[LTI_MAX];
+
+/* Accessor macros for libfunc_table. */
+#define extendsfdf2_libfunc (libfunc_table[LTI_extendsfdf2])
+#define extendsfxf2_libfunc (libfunc_table[LTI_extendsfxf2])
+#define extendsftf2_libfunc (libfunc_table[LTI_extendsftf2])
+#define extenddfxf2_libfunc (libfunc_table[LTI_extenddfxf2])
+#define extenddftf2_libfunc (libfunc_table[LTI_extenddftf2])
+
+#define truncdfsf2_libfunc (libfunc_table[LTI_truncdfsf2])
+#define truncxfsf2_libfunc (libfunc_table[LTI_truncxfsf2])
+#define trunctfsf2_libfunc (libfunc_table[LTI_trunctfsf2])
+#define truncxfdf2_libfunc (libfunc_table[LTI_truncxfdf2])
+#define trunctfdf2_libfunc (libfunc_table[LTI_trunctfdf2])
+
+#define memcpy_libfunc (libfunc_table[LTI_memcpy])
+#define bcopy_libfunc (libfunc_table[LTI_bcopy])
+#define memcmp_libfunc (libfunc_table[LTI_memcmp])
+#define bcmp_libfunc (libfunc_table[LTI_bcmp])
+#define memset_libfunc (libfunc_table[LTI_memset])
+#define bzero_libfunc (libfunc_table[LTI_bzero])
+
+#define throw_libfunc (libfunc_table[LTI_throw])
+#define rethrow_libfunc (libfunc_table[LTI_rethrow])
+#define sjthrow_libfunc (libfunc_table[LTI_sjthrow])
+#define sjpopnthrow_libfunc (libfunc_table[LTI_sjpopnthrow])
+#define terminate_libfunc (libfunc_table[LTI_terminate])
+#define setjmp_libfunc (libfunc_table[LTI_setjmp])
+#define longjmp_libfunc (libfunc_table[LTI_longjmp])
+#define eh_rtime_match_libfunc (libfunc_table[LTI_eh_rtime_match])
+
+#define eqhf2_libfunc (libfunc_table[LTI_eqhf2])
+#define nehf2_libfunc (libfunc_table[LTI_nehf2])
+#define gthf2_libfunc (libfunc_table[LTI_gthf2])
+#define gehf2_libfunc (libfunc_table[LTI_gehf2])
+#define lthf2_libfunc (libfunc_table[LTI_lthf2])
+#define lehf2_libfunc (libfunc_table[LTI_lehf2])
+#define unordhf2_libfunc (libfunc_table[LTI_unordhf2])
+
+#define eqsf2_libfunc (libfunc_table[LTI_eqsf2])
+#define nesf2_libfunc (libfunc_table[LTI_nesf2])
+#define gtsf2_libfunc (libfunc_table[LTI_gtsf2])
+#define gesf2_libfunc (libfunc_table[LTI_gesf2])
+#define ltsf2_libfunc (libfunc_table[LTI_ltsf2])
+#define lesf2_libfunc (libfunc_table[LTI_lesf2])
+#define unordsf2_libfunc (libfunc_table[LTI_unordsf2])
+
+#define eqdf2_libfunc (libfunc_table[LTI_eqdf2])
+#define nedf2_libfunc (libfunc_table[LTI_nedf2])
+#define gtdf2_libfunc (libfunc_table[LTI_gtdf2])
+#define gedf2_libfunc (libfunc_table[LTI_gedf2])
+#define ltdf2_libfunc (libfunc_table[LTI_ltdf2])
+#define ledf2_libfunc (libfunc_table[LTI_ledf2])
+#define unorddf2_libfunc (libfunc_table[LTI_unorddf2])
+
+#define eqxf2_libfunc (libfunc_table[LTI_eqxf2])
+#define nexf2_libfunc (libfunc_table[LTI_nexf2])
+#define gtxf2_libfunc (libfunc_table[LTI_gtxf2])
+#define gexf2_libfunc (libfunc_table[LTI_gexf2])
+#define ltxf2_libfunc (libfunc_table[LTI_ltxf2])
+#define lexf2_libfunc (libfunc_table[LTI_lexf2])
+#define unordxf2_libfunc (libfunc_table[LTI_unordxf2])
+
+#define eqtf2_libfunc (libfunc_table[LTI_eqtf2])
+#define netf2_libfunc (libfunc_table[LTI_netf2])
+#define gttf2_libfunc (libfunc_table[LTI_gttf2])
+#define getf2_libfunc (libfunc_table[LTI_getf2])
+#define lttf2_libfunc (libfunc_table[LTI_lttf2])
+#define letf2_libfunc (libfunc_table[LTI_letf2])
+#define unordtf2_libfunc (libfunc_table[LTI_unordtf2])
+
+#define floatsisf_libfunc (libfunc_table[LTI_floatsisf])
+#define floatdisf_libfunc (libfunc_table[LTI_floatdisf])
+#define floattisf_libfunc (libfunc_table[LTI_floattisf])
+
+#define floatsidf_libfunc (libfunc_table[LTI_floatsidf])
+#define floatdidf_libfunc (libfunc_table[LTI_floatdidf])
+#define floattidf_libfunc (libfunc_table[LTI_floattidf])
+
+#define floatsixf_libfunc (libfunc_table[LTI_floatsixf])
+#define floatdixf_libfunc (libfunc_table[LTI_floatdixf])
+#define floattixf_libfunc (libfunc_table[LTI_floattixf])
+
+#define floatsitf_libfunc (libfunc_table[LTI_floatsitf])
+#define floatditf_libfunc (libfunc_table[LTI_floatditf])
+#define floattitf_libfunc (libfunc_table[LTI_floattitf])
+
+#define fixsfsi_libfunc (libfunc_table[LTI_fixsfsi])
+#define fixsfdi_libfunc (libfunc_table[LTI_fixsfdi])
+#define fixsfti_libfunc (libfunc_table[LTI_fixsfti])
+
+#define fixdfsi_libfunc (libfunc_table[LTI_fixdfsi])
+#define fixdfdi_libfunc (libfunc_table[LTI_fixdfdi])
+#define fixdfti_libfunc (libfunc_table[LTI_fixdfti])
+
+#define fixxfsi_libfunc (libfunc_table[LTI_fixxfsi])
+#define fixxfdi_libfunc (libfunc_table[LTI_fixxfdi])
+#define fixxfti_libfunc (libfunc_table[LTI_fixxfti])
+
+#define fixtfsi_libfunc (libfunc_table[LTI_fixtfsi])
+#define fixtfdi_libfunc (libfunc_table[LTI_fixtfdi])
+#define fixtfti_libfunc (libfunc_table[LTI_fixtfti])
+
+#define fixunssfsi_libfunc (libfunc_table[LTI_fixunssfsi])
+#define fixunssfdi_libfunc (libfunc_table[LTI_fixunssfdi])
+#define fixunssfti_libfunc (libfunc_table[LTI_fixunssfti])
+
+#define fixunsdfsi_libfunc (libfunc_table[LTI_fixunsdfsi])
+#define fixunsdfdi_libfunc (libfunc_table[LTI_fixunsdfdi])
+#define fixunsdfti_libfunc (libfunc_table[LTI_fixunsdfti])
+
+#define fixunsxfsi_libfunc (libfunc_table[LTI_fixunsxfsi])
+#define fixunsxfdi_libfunc (libfunc_table[LTI_fixunsxfdi])
+#define fixunsxfti_libfunc (libfunc_table[LTI_fixunsxfti])
+
+#define fixunstfsi_libfunc (libfunc_table[LTI_fixunstfsi])
+#define fixunstfdi_libfunc (libfunc_table[LTI_fixunstfdi])
+#define fixunstfti_libfunc (libfunc_table[LTI_fixunstfti])
+
+#define chkr_check_addr_libfunc (libfunc_table[LTI_chkr_check_addr])
+#define chkr_set_right_libfunc (libfunc_table[LTI_chkr_set_right])
+#define chkr_copy_bitmap_libfunc (libfunc_table[LTI_chkr_copy_bitmap])
+#define chkr_check_exec_libfunc (libfunc_table[LTI_chkr_check_exec])
+#define chkr_check_str_libfunc (libfunc_table[LTI_chkr_check_str])
+
+#define profile_function_entry_libfunc (libfunc_table[LTI_profile_function_entry])
+#define profile_function_exit_libfunc (libfunc_table[LTI_profile_function_exit])