From 66af70bfe060295559353efa9a225f877584da31 Mon Sep 17 00:00:00 2001 From: Sebastien Bourdeauducq Date: Fri, 5 Sep 2014 17:50:24 +0800 Subject: [PATCH] soc/runtime: resolve compiler_rt symbols in kernel --- soc/runtime/symbols.c | 45 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/soc/runtime/symbols.c b/soc/runtime/symbols.c index 5a794e955..224c98941 100644 --- a/soc/runtime/symbols.c +++ b/soc/runtime/symbols.c @@ -28,7 +28,52 @@ static long long int gcd64(long long int a, long long int b) return b; } +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wimplicit-int" +extern __divsi3, __modsi3, __ledf2, __gedf2, __unorddf2, __negsf2, __negdf2, + __addsf3, __subsf3, __mulsf3, __divsf3, __lshrdi3, __muldi3, __divdi3, + __ashldi3, __ashrdi3, __udivmoddi4, __floatsisf, __floatunsisf, __fixsfsi, + __fixunssfsi, __adddf3, __subdf3, __muldf3, __divdf3, __floatsidf, + __floatunsidf, __floatdidf, __fixdfsi, __fixunsdfsi, __clzsi2, __ctzsi2, + __udivdi3, __umoddi3, __moddi3; +#pragma GCC diagnostic pop + static const struct symbol arithmetic[] = { + {"__divsi3", &__divsi3}, + {"__modsi3", &__modsi3}, + {"__ledf2", &__ledf2}, + {"__gedf2", &__gedf2}, + {"__unorddf2", &__gedf2}, + {"__negsf2", &__negsf2}, + {"__negdf2", &__negdf2}, + {"__addsf3", &__addsf3}, + {"__subsf3", &__subsf3}, + {"__mulsf3", &__mulsf3}, + {"__divsf3", &__divsf3}, + {"__lshrdi3", &__lshrdi3}, + {"__muldi3", &__muldi3}, + {"__divdi3", &__divdi3}, + {"__ashldi3", &__ashldi3}, + {"__ashrdi3", &__ashrdi3}, + {"__udivmoddi4", &__udivmoddi4}, + {"__floatsisf", &__floatsisf}, + {"__floatunsisf", &__floatunsisf}, + {"__fixsfsi", &__fixsfsi}, + {"__fixunssfsi", &__fixunssfsi}, + {"__adddf3", &__adddf3}, + {"__subdf3", &__subdf3}, + {"__muldf3", &__muldf3}, + {"__divdf3", &__divdf3}, + {"__floatsidf", &__floatsidf}, + {"__floatunsidf", &__floatunsidf}, + {"__floatdidf", &__floatdidf}, + {"__fixdfsi", &__fixdfsi}, + {"__fixunsdfsi", &__fixunsdfsi}, + {"__clzsi2", &__clzsi2}, + {"__ctzsi2", &__ctzsi2}, + {"__udivdi3", &__udivdi3}, + {"__umoddi3", &__umoddi3}, + {"__moddi3", &__moddi3}, {"__gcd64", gcd64}, {NULL, NULL} };