On a 32-bit MIPS, the ld instruction does not exist. However, GAS has an ld
macro that expands to a pair of lw instructions which load to a pair of
registers (reg, and reg+1). This macro is not available in the Integrated
Assembler and its use causes -fintegrated-as builds to fail. Even if it were
available, the behaviour on 32-bit MIPS would be incorrect since the current
usage of ld causes the code to clobber $5 (which is supposed to hold
child_stack). It also clobbers $k0 which is reserved for kernel use.
Aside from enabling builds with the integrated assembler, there is no functional
change since internal_clone() is only used by StopTheWorld() which is only used
by 64-bit sanitizers.
It's not directly related to this patch but: The comment says 'store' but the instruction is a load from the compiler-generated stack frame.