The patch is backported from mips-next. In addition to minor reduction of code size and runtime memory use, the more apparent difference is that the delay slot emulation page will not be present for those targets with fpu emulation disabled (CONFIG_MIPS_FP_SUPPORT=n) Memory maps of busybox before and after this change root@OpenWrt:/# cat /proc/self/maps 00400000-00449000 r-xp 00000000 00:02 23 /bin/busybox 00458000-00459000 r-xp 00048000 00:02 23 /bin/busybox 00459000-0045a000 rwxp 00049000 00:02 23 /bin/busybox 77dc0000-77de2000 r-xp 00000000 00:02 273 /lib/libgcc_s.so.1 77de2000-77de3000 r-xp 00012000 00:02 273 /lib/libgcc_s.so.1 77de3000-77de4000 rwxp 00013000 00:02 273 /lib/libgcc_s.so.1 77de4000-77e7b000 r-xp 00000000 00:02 271 /lib/libc.so 77e8a000-77e8c000 rwxp 00096000 00:02 271 /lib/libc.so 77e8c000-77e8e000 rwxp 00000000 00:00 0 7fd86000-7fda7000 rw-p 00000000 00:00 0 [stack] 7fefd000-7fefe000 r-xp 00000000 00:00 0 7ffe6000-7ffe7000 r--p 00000000 00:00 0 [vvar] 7ffe7000-7ffe8000 r-xp 00000000 00:00 0 [vdso] root@OpenWrt:/# cat /proc/self/maps 00400000-00449000 r-xp 00000000 00:02 23 /bin/busybox 00458000-00459000 r-xp 00048000 00:02 23 /bin/busybox 00459000-0045a000 rwxp 00049000 00:02 23 /bin/busybox 77d55000-77d77000 r-xp 00000000 00:02 274 /lib/libgcc_s.so.1 77d77000-77d78000 r-xp 00012000 00:02 274 /lib/libgcc_s.so.1 77d78000-77d79000 rwxp 00013000 00:02 274 /lib/libgcc_s.so.1 77d79000-77e10000 r-xp 00000000 00:02 272 /lib/libc.so 77e1f000-77e21000 rwxp 00096000 00:02 272 /lib/libc.so 77e21000-77e23000 rwxp 00000000 00:00 0 7fe23000-7fe44000 rw-p 00000000 00:00 0 [stack] 7ff63000-7ff64000 r--p 00000000 00:00 0 [vvar] 7ff64000-7ff65000 r-xp 00000000 00:00 0 [vdso] Acked-by: Hauke Mehrtens <hauke@hauke-m.de> Acked-by: Rosen Penev <rosenp@gmail.com> Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>