1
0
mirror of https://git.openwrt.org/openwrt/openwrt.git synced 2024-10-18 21:48:23 +02:00
openwrt/package/utils/busybox
Chuanhong Guo 118f26e6cb 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>
2024-09-17 21:46:20 +08:00
..
config
files
patches
Config-defaults.in failsafe: fix console failsafe shell 2024-08-19 18:55:00 +02:00
Config.in
convert_defaults.pl
convert_menuconfig.pl
Makefile package: busybox: disable mips16 on hard-float 2024-09-17 21:46:20 +08:00
selinux.config