Hi

 

i try to compile my own kernel module out-of-tree.

At compile time I get the warning: WARNING: "__aeabi_l2d" [my.ko] undefined.

And right I can’t load the module -> Unknown symbol __aeabi_d2lz (err 0)

 

User space programs or other kernel modules are already compile and works well.

 

Background:

I have a project that was compiled under ptxdist 2012.12.1 for x86 target.

Now i changed the target from x86 to i.mx6 so I had changed the toolchain from OSELAS.Toolchain-2012.12.1 i586-unknown-linux-gnu

to OSELAS.Toolchain-2012.12.1 arm-cortexa9-linux-gnueabi.

 

After this change I clean and recompile the project and all compiled binarys and modules are ok.  

Only this kernel module I can’t compile.

I used float operation in this module… -> eabi???

 

My question are:

Can I use float operation in k-modules under arm?

And what is going wrong?

 

And here the detailed information:

Compile step

arm-cortexa9-linux-gnueabi-gcc -Wp,-MD,/opt/g3DevelBase/g3Projects/SD3Xeno/usr/src/TargetWare/g3tShm/module/../internal/src/.shmModule.o.d  -nostdinc -isystem /opt/OSELAS.Toolchain-2012.12.1/arm-cortexa9-linux-gnueabi/gcc-4.7.3-glibc-2.16.0-binutils-2.22-kernel-3.6-sanitized/bin/../lib/gcc/arm-cortexa9-linux-gnueabi/4.7.3/include -I/opt/g3DevelBase/g3Toolchain/g3Bsp/sd3XenoArm.Bsp.V1/platform-SM_ARM/build-target/linux-3.14/arch/arm/include -Iarch/arm/include/generated  -Iinclude -I/opt/g3DevelBase/g3Toolchain/g3Bsp/sd3XenoArm.Bsp.V1/platform-SM_ARM/build-target/linux-3.14/arch/arm/include/uapi -Iarch/arm/include/generated/uapi -I/opt/g3DevelBase/g3Toolchain/g3Bsp/sd3XenoArm.Bsp.V1/platform-SM_ARM/build-target/linux-3.14/include/uapi -Iinclude/generated/uapi -include /opt/g3DevelBase/g3Toolchain/g3Bsp/sd3XenoArm.Bsp.V1/platform-SM_ARM/build-target/linux-3.14/include/linux/kconfig.h -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -fno-dwarf2-cfi-asm -fno-omit-frame-pointer -mapcs -mno-sched-prolog -mabi=aapcs-linux -mno-thumb-interwork -mfpu=vfp -marm -D__LINUX_ARM_ARCH__=7 -march=armv7-a -msoft-float -Uarm -Wframe-larger-than=1024 -fno-stack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -DCC_HAVE_ASM_GOTO -I. -I/opt/g3DevelBase/g3Toolchain/g3Bsp/sd3XenoArm.Bsp.V1/platform-SM_ARM/sysroot-target/usr/xenomai/include -D_FORTIFY_SOURCE=0 -ffast-math -DG3RTAPI_XENOMAI -DG3SHM_XENOMAI -I/opt/g3DevelBase/g3Projects/SD3Xeno/usr/src/TargetWare/g3tShm/module/../export -I/opt/g3DevelBase/g3Projects/SD3Xeno/usr/src/TargetWare/g3tShm/module/../internal/header -D"MODULE_VERSION_STR=KBUILD_STR(3.1.0)" -D"KERNEL_VERSION_U32=200192" -D"KERNEL_VERSION_STR=KBUILD_STR(3.14.0)" -I/opt/g3DevelBase/g3Projects/SD3Xeno/usr/src/TargetWare/g3tShm/module/../../../../include  -DMODULE  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(shmModule)"  -D"KBUILD_MODNAME=KBUILD_STR(../../../../../build/sd3XenoArm.V1/TargetWare/g3kshm/g3k_shm)" -c -o

 

The module needs 5 source files

arm-cortexa9-linux-gnueabi-gcc -Wp,-MD  /internal/src/.shmCore.o.d  (same options)

arm-cortexa9-linux-gnueabi-gcc -Wp,-MD, /internal/src/.shmAreaImpl.o.d (same options)

arm-cortexa9-linux-gnueabi-gcc -Wp,-MD, /internal/src/shmBlockImpl.o (same options)

arm-cortexa9-linux-gnueabi-gcc -Wp,-MD, /internal/src/shmRtapi_xenomai.o (same options)

 

link step to module

arm-cortexa9-linux-gnueabi-ld -EL  /opt/OSELAS.Toolchain-2012.12.1/arm-cortexa9-linux-gnueabi/gcc-4.7.3-glibc-2.16.0-binutils-2.22-kernel-3.6-sanitized/bin/../lib/gcc/arm-cortexa9-linux-gnueabi/4.7.3/libgcc.a   -r -o /opt/g3DevelBase/g3Projects/SD3Xeno/usr/src/TargetWare/g3tShm/module/../../../../../build/sd3XenoArm.V1/TargetWare/g3kshm/g3k_shm.o /opt/g3DevelBase/g3Projects/SD3Xeno/usr/src/TargetWare/g3tShm/module/../internal/src/shmModule.o /opt/g3DevelBase/g3Projects/SD3Xeno/usr/src/TargetWare/g3tShm/module/../internal/src/shmLibInit.o /opt/g3DevelBase/g3Projects/SD3Xeno/usr/src/TargetWare/g3tShm/module/../internal/src/shmCore.o /opt/g3DevelBase/g3Projects/SD3Xeno/usr/src/TargetWare/g3tShm/module/../internal/src/shmAreaImpl.o /opt/g3DevelBase/g3Projects/SD3Xeno/usr/src/TargetWare/g3tShm/module/../internal/src/shmBlockImpl.o /opt/g3DevelBase/g3Projects/SD3Xeno/usr/src/TargetWare/g3tShm/module/../internal/src/shmMu.o /opt/g3DevelBase/g3Projects/SD3Xeno/usr/src/TargetWare/g3tShm/module/../internal/src/shmRtapi_xenomai.o

(cat /dev/null;   echo kernel//opt/g3DevelBase/g3Projects/SD3Xeno/usr/src/TargetWare/g3tShm/module/../../../../../build/sd3XenoArm.V1/TargetWare/g3kshm/g3k_shm.ko;) > /opt/g3DevelBase/g3Projects/SD3Xeno/usr/src/TargetWare/g3tShm/module/modules.order

 

Install the module

make -f /opt/g3DevelBase/g3Toolchain/g3Bsp/sd3XenoArm.Bsp.V1/platform-SM_ARM/build-target/linux-3.14/scripts/Makefile.modpost

find /opt/g3DevelBase/g3Projects/SD3Xeno/usr/src/TargetWare/g3tShm/module/.tmp_versions -name '*.mod' | xargs -r grep -h '\.ko$' | sort -u | sed 's/\.ko$/.o/' | scripts/mod/modpost -m  -i /opt/g3DevelBase/g3Toolchain/g3Bsp/sd3XenoArm.Bsp.V1/platform-SM_ARM/build-target/linux-3.14/Module.symvers -I /opt/g3DevelBase/g3Projects/SD3Xeno/usr/src/TargetWare/g3tShm/module/Module.symvers  -o /opt/g3DevelBase/g3Projects/SD3Xeno/usr/src/TargetWare/g3tShm/module/Module.symvers -S -w  -s -T -

WARNING: "__aeabi_l2d" [/opt/g3DevelBase/g3Projects/SD3Xeno/usr/src/TargetWare/g3tShm/module/../../../../../build/sd3XenoArm.V1/TargetWare/g3kshm/g3k_shm.ko] undefined!

WARNING: "__aeabi_i2d" [/opt/g3DevelBase/g3Projects/SD3Xeno/usr/src/TargetWare/g3tShm/module/../../../../../build/sd3XenoArm.V1/TargetWare/g3kshm/g3k_shm.ko] undefined!

WARNING: "__aeabi_dcmpgt" [/opt/g3DevelBase/g3Projects/SD3Xeno/usr/src/TargetWare/g3tShm/module/../../../../../build/sd3XenoArm.V1/TargetWare/g3kshm/g3k_shm.ko] undefined!

WARNING: "__aeabi_dadd" [/opt/g3DevelBase/g3Projects/SD3Xeno/usr/src/TargetWare/g3tShm/module/../../../../../build/sd3XenoArm.V1/TargetWare/g3kshm/g3k_shm.ko] undefined!

WARNING: "__aeabi_dmul" [/opt/g3DevelBase/g3Projects/SD3Xeno/usr/src/TargetWare/g3tShm/module/../../../../../build/sd3XenoArm.V1/TargetWare/g3kshm/g3k_shm.ko] undefined!

WARNING: "__aeabi_dcmplt" [/opt/g3DevelBase/g3Projects/SD3Xeno/usr/src/TargetWare/g3tShm/module/../../../../../build/sd3XenoArm.V1/TargetWare/g3kshm/g3k_shm.ko] undefined!

WARNING: "__aeabi_d2lz" [/opt/g3DevelBase/g3Projects/SD3Xeno/usr/src/TargetWare/g3tShm/module/../../../../../build/sd3XenoArm.V1/TargetWare/g3kshm/g3k_shm.ko] undefined!

 

Best regards

Alexander