Issue Float point in ARM WARNING: "__aeabi_d2iz"

naveen yadav yad.naveen at gmail.com
Mon Feb 3 04:10:57 EST 2014


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.



More information about the Kernelnewbies mailing list