forkfd/linux: add support for LoongArch

This architecture is not CLONE_BACKWARDS in any way.

Matching OpenDCDiag PR: https://github.com/opendcdiag/opendcdiag/pull/169

Change-Id: Ibceccfd20d270b30302a936885d12e4c55cdd833
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
(cherry picked from commit 0ab51dcc3c0cca0d84822f3871d98ffa46b6b2e4)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
WANG Xuerui 2022-10-25 12:14:07 +08:00 committed by Qt Cherry-pick Bot
parent e9c7d0c10a
commit c38000b3a6

View File

@ -84,7 +84,8 @@ static int sys_clone(unsigned long cloneflags, int *ptid)
return syscall(__NR_clone, cloneflags, child_stack, stack_size, ptid, newtls, ctid);
#elif defined(__arc__) || defined(__arm__) || defined(__aarch64__) || defined(__mips__) || \
defined(__nds32__) || defined(__hppa__) || defined(__powerpc__) || defined(__i386__) || \
defined(__x86_64__) || defined(__xtensa__) || defined(__alpha__) || defined(__riscv)
defined(__x86_64__) || defined(__xtensa__) || defined(__alpha__) || defined(__riscv) || \
defined(__loongarch__)
/* ctid and newtls are inverted on CONFIG_CLONE_BACKWARDS architectures,
* but since both values are 0, there's no harm. */
return syscall(__NR_clone, cloneflags, child_stack, ptid, ctid, newtls);