Issue Float point in ARM WARNING: "__aeabi_d2iz"
From: naveen yadav
Date: Mon Feb 03 2014 - 04:11:17 EST
Dear All,
We are using ARM SOC cortex A15. we are running 3.10.x kernel. I am
using gcc 4.6
I need floating point in kernel module. So when I build I got warning
WARNING: "__aeabi_d2iz" [/home/test/tt/hello.ko] undefined!
WARNING: "__aeabi_dmul" [/home/test/tt/hello.ko] undefined!
WARNING: "__aeabi_dsub" [/home/test/tt/hello.ko] undefined!
WARNING: "__aeabi_ddiv" [/home/test/tt/hello.ko] undefined!
WARNING: "__aeabi_f2d" [/home/test/tt/hello.ko] undefined!
static int __init hello_init(void)
{
float a=3.14;
float b=3.1222;
b=7.2/a ;
printk(KERN_INFO "Hello world! %f\n",a/b);
return 0; // Non-zero return means that the module couldn't be loaded.
}
static void __exit hello_cleanup(void)
{
printk(KERN_INFO "Cleaning up module.\n");
}
module_init(hello_init);
module_exit(hello_cleanup);
So I change in my Linux kernel make file.
arch/arm/Makefile
I remove -msoft-float .
-KBUILD_CFLAGS +=$(CFLAGS_ABI) $(CFLAGS_ISA) $(arch-y) $(tune-y)
$(call cc-option,-mshort-load-bytes,$(call
cc-option,-malignment-traps,)) -msoft-float -Uarm
-KBUILD_AFLAGS +=$(CFLAGS_ABI) $(AFLAGS_ISA) $(arch-y) $(tune-y)
-include asm/unified.h -msoft-float
+KBUILD_CFLAGS +=$(CFLAGS_ABI) $(CFLAGS_ISA) $(arch-y) $(tune-y)
$(call cc-option,-mshort-load-bytes,$(call
cc-option,-malignment-traps,)) -Uarm
+KBUILD_AFLAGS +=$(CFLAGS_ABI) $(AFLAGS_ISA) $(arch-y) $(tune-y)
-include asm/unified.h
I run my module and it work well.
So my question is .
1. Is it correct way ?
2. will it effect my performance in normal scenario ?
3. how can I check more stability?
Regards.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/