Index: lib/builtins/comparedf2.c =================================================================== --- lib/builtins/comparedf2.c +++ lib/builtins/comparedf2.c @@ -80,6 +80,9 @@ } } +// Alias for libgcc compatibility +FNALIAS(__cmpdf2, __ledf2); + enum GE_RESULT { GE_LESS = -1, GE_EQUAL = 0, Index: lib/builtins/comparesf2.c =================================================================== --- lib/builtins/comparesf2.c +++ lib/builtins/comparesf2.c @@ -80,6 +80,9 @@ } } +// Alias for libgcc compatibility +FNALIAS(__cmpsf2, __lesf2); + enum GE_RESULT { GE_LESS = -1, GE_EQUAL = 0, Index: lib/builtins/comparetf2.c =================================================================== --- lib/builtins/comparetf2.c +++ lib/builtins/comparetf2.c @@ -79,6 +79,9 @@ } } +// Alias for libgcc compatibility +FNALIAS(__cmptf2, __letf2); + enum GE_RESULT { GE_LESS = -1, GE_EQUAL = 0, Index: lib/builtins/int_lib.h =================================================================== --- lib/builtins/int_lib.h +++ lib/builtins/int_lib.h @@ -20,6 +20,9 @@ /* Assumption: Right shift of signed negative is arithmetic shift. */ /* Assumption: Endianness is little or big (not mixed). */ +#define FNALIAS(alias_name, original_name) \ + void alias_name() __attribute__((alias(#original_name))) + /* ABI macro definitions */ #if __ARM_EABI__