裸版支持除法
报错:
: undefined reference to `__floatsidf'
lcd/s3c2440_lcd_controller.o(.text+0xd0): In function `s3c2440_lcd_controller_init':
: undefined reference to `__divdf3'
lcd/s3c2440_lcd_controller.o(.text+0xec): In function `s3c2440_lcd_controller_init':
: undefined reference to `__divdf3'
lcd/s3c2440_lcd_controller.o(.text+0x108): In function `s3c2440_lcd_controller_init':
: undefined reference to `__subdf3'
lcd/s3c2440_lcd_controller.o(.text+0x124): In function `s3c2440_lcd_controller_init':
: undefined reference to `__adddf3'
lcd/s3c2440_lcd_controller.o(.text+0x138): In function `s3c2440_lcd_controller_init':
: undefined reference to `__fixdfsi'
adc_tsc/adc_test.o(.text+0x30): In function `adc_test':
: undefined reference to `__floatsidf'
adc_tsc/adc_test.o(.text+0x4c): In function `adc_test':
: undefined reference to `__divdf3'
解决:
1,去uboot中查找
2, 去kernel中查找
3, 去lib库查找:
进入工具链目录grep “_floatsisf” * -nR
找到对应的静态库:libc.a libm.a libgcc.a
拷贝到编译目录,修改makefile,分别添加.a后编译.
发现只有libgcc.a可以编译通过,说明除法实现在libgcc中.