package: busybox: disable mips16 on hard-float
The busybox built with mips16 enabled has broken seq command. Disassembling shows that the call to hard-float strtod in mips16 code is generated without the __call_stub_fp: ``` 0x00406d6f <+118>: lw v0,32(sp) 0x00406d71 <+120>: sll s0,2 0x00406d73 <+122>: addu s0,v0,s0 0x00406d75 <+124>: lw a0,-4(s0) 0x00406d79 <+128>: jal 0x44ebc1 <strtod@mips16plt> 0x00406d7d <+132>: addiu a1,sp,84 0x00406d7f <+134>: sw v0,64(sp) 0x00406d81 <+136>: lw v0,0(s1) 0x00406d83 <+138>: sw v1,68(sp) ``` As a result, strtod returns the result in float point registers while the calling mips16 code expect the result in v0/v1. Disable mips16 on hard-float targets for now. The built .ipk goes from 213316 bytes to 251419 bytes. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
This commit is contained in:
parent
6d89aa2987
commit
118f26e6cb
|
@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
|
|||
|
||||
PKG_NAME:=busybox
|
||||
PKG_VERSION:=1.36.1
|
||||
PKG_RELEASE:=1
|
||||
PKG_RELEASE:=2
|
||||
PKG_FLAGS:=essential
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
|
@ -17,6 +17,10 @@ PKG_HASH:=b8cc24c9574d809e7279c3be349795c5d5ceb6fdf19ca709f80cde50e47de314
|
|||
PKG_BUILD_DEPENDS:=BUSYBOX_CONFIG_PAM:libpam
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_BUILD_FLAGS:=lto
|
||||
ifeq ($(CONFIG_SOFT_FLOAT),)
|
||||
PKG_BUILD_FLAGS+=no-mips16
|
||||
endif
|
||||
|
||||
PKG_CHECK_FORMAT_SECURITY:=0
|
||||
|
||||
PKG_LICENSE:=GPL-2.0
|
||||
|
|
Loading…
Reference in New Issue