diff options
-rw-r--r-- | src/arch/riscv/linux/linux.hh | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/arch/riscv/linux/linux.hh b/src/arch/riscv/linux/linux.hh index 23b4fd562..441550a50 100644 --- a/src/arch/riscv/linux/linux.hh +++ b/src/arch/riscv/linux/linux.hh @@ -196,6 +196,8 @@ class RiscvLinux64 : public Linux uint64_t stack, uint64_t tls) { RiscvISA::copyRegs(ptc, ctc); + if (flags & TGT_CLONE_SETTLS) + ctc->setIntReg(RiscvISA::ThreadPointerReg, tls); if (stack) ctc->setIntReg(RiscvISA::StackPointerReg, stack); } |