mirror of https://gitee.com/openkylin/linux.git
71a0a72456
Some GCC versions (e.g. 4.8.3) can incorrectly inline a function with MIPS32 instructions into another function with MIPS16 code [1], causing the assembler to genereate incorrect binary code or fail right away complaining about unrecognized opcode. In the case of __arch_swab{16,32}, when inlined by the compiler with flags `-mips32r2 -mips16 -Os', the assembler can fail with the following error. {standard input}:79: Error: unrecognized opcode `wsbh $2,$2' For performance concerns and to workaround the issue already existing in older compilers, just ignore these 2 functions when compiling with mips16 enabled. [1] Inlining nomips16 function into mips16 function can result in undefined builtins, https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55777 Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com> Cc: Maciej W. Rozycki <macro@linux-mips.org> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/11241/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org> |
||
---|---|---|
.. | ||
Kbuild | ||
bitfield.h | ||
bitsperlong.h | ||
break.h | ||
byteorder.h | ||
cachectl.h | ||
errno.h | ||
fcntl.h | ||
hwcap.h | ||
inst.h | ||
ioctl.h | ||
ioctls.h | ||
kvm.h | ||
kvm_para.h | ||
mman.h | ||
msgbuf.h | ||
param.h | ||
poll.h | ||
posix_types.h | ||
ptrace.h | ||
reg.h | ||
resource.h | ||
sembuf.h | ||
setup.h | ||
sgidefs.h | ||
shmbuf.h | ||
sigcontext.h | ||
siginfo.h | ||
signal.h | ||
socket.h | ||
sockios.h | ||
stat.h | ||
statfs.h | ||
swab.h | ||
sysmips.h | ||
termbits.h | ||
termios.h | ||
types.h | ||
ucontext.h | ||
unistd.h |