I check the musl git repo, found one commit: 

d1a2ead878c27ac4ec600740320f8b76e1f961e9
math: rewrite rounding functions (ceil, floor, trunc, round, rint)

The old version of ceil and floor functions are tests ok in arm mode.
Here the some old codes:

static const double huge = 1.0e300;

double ceil(double x)
{
int32_t i0,i1,j0;
uint32_t i,j;

EXTRACT_WORDS(i0, i1, x);
// FIXME signed shift
j0 = ((i0>>20)&0x7ff) - 0x3ff;
if (j0 < 20) {
if (j0 < 0) {
/* raise inexact if x != 0 */
if (huge+x > 0.0) {
if (i0 < 0) {
i0 = 0x80000000;
i1=0;
} else if ((i0|i1) != 0) {
i0=0x3ff00000;
i1=0;
}
}
} else {
i = 0x000fffff>>j0;
if (((i0&i)|i1) == 0) /* x is integral */
return x;
/* raise inexact flag */
if (huge+x > 0.0) {
if (i0 > 0)
i0 += 0x00100000>>j0;
i0 &= ~i;
i1 = 0;
}
}
} else if (j0 > 51) {
if (j0 == 0x400)  /* inf or NaN */
return x+x;
return x;         /* x is integral */
} else {
i = (uint32_t)0xffffffff>>(j0-20);
if ((i1&i) == 0)
return x; /* x is integral */
/* raise inexact flag */
if (huge+x > 0.0) {
if (i0 > 0) {
if (j0 == 20)
i0 += 1;
else {
j = i1 + (1<<(52-j0));
if (j < i1)  /* got a carry */
i0 += 1;
i1 = j;
}
}
i1 &= ~i;
}
}
INSERT_WORDS(x, i0, i1);
return x;
}

The old code test in x86 mode passed!

------------------
____________________________
蒋建军                            
深圳市九鼎创展科技有限公司
地址:深圳市宝安区西乡街道宝源路宝安互联网产业基地A区7栋301
邮编:518101
手机:18665386306
电邮:
8192542@qq.com
网站:http://www.9tripod.com
论坛:http://xboot.org
 
 


------------------ 原始邮件 ------------------
发件人: "8192542";<8192542@qq.com>;
发送时间: 2014年10月14日(星期二) 上午10:51
收件人: "musl"<musl@lists.openwall.com>;
抄送: "musl"<musl@lists.openwall.com>;
主题: 回复: [musl] [math] The math library have some bug forceil,floor,round functioin, in arm mode

Test it in qemu-system-arm, with soft fp, realview-pb-a8 platform

we porting musl to our project, and just write test functions to test cases, i don't kown, how to test musl in origin test cases.

------------------
____________________________
蒋建军                           
深圳市九鼎创展科技有限公司
地址:深圳市宝安区西乡街道宝源路宝安互联网产业基地A区7栋301
邮编:518101
手机:18665386306
电邮:
8192542@qq.com
网站:http://www.9tripod.com
论坛:http://xboot.org
 
 


------------------ 原始邮件 ------------------
发件人: "Rich Felker";<dalias@libc.org>;
发送时间: 2014年10月14日(星期二) 上午10:42
收件人: "bobodog"<8192542@qq.com>;
抄送: "musl"<musl@lists.openwall.com>;
主题: Re: [musl] [math] The math library have some bug forceil,floor,round functioin, in arm mode

On Tue, Oct 14, 2014 at 10:17:34AM +0800, bobodog wrote:
> HI,ALL
>          We use musl in arm process, but found some bugs about math library,  x86 process is ok!

I can't reproduce this issue. Are you using soft (arm) or hard (armhf)
float based target?

>         The test code:
> int test(int argc, char ** argv)
> {
> double n = 0.0;
> int i;
>
>
> for(i = 0; i < 20; i++)
> {
> n = n - 0.125;
> printf("ceil(%f) = %f, floor(%f) = %f, round(%f) = %f\n", n, ceil(n), n, floor(n), n, round(n));
> }
>
>
> return 0;
> }‍

Is this the whole test program? I don't see a main function or any
#include directives. Compiling it with gcc -Dtest=main results in:

foo.c:10:17: warning: incompatible implicit declaration of built-in function ‘printf’ [enabled by default]
foo.c:10:78: warning: incompatible implicit declaration of built-in function ‘ceil’ [enabled by default]
foo.c:10:90: warning: incompatible implicit declaration of built-in function ‘floor’ [enabled by default]
foo.c:10:103: warning: incompatible implicit declaration of built-in function ‘round’ [enabled by default]

These warnings should all be treated as errors; calling a function
with variadic arguments (printf) or a function that returns a floating
point type without a valid declaration/prototype is a serious error
and will not work.

Rich