summaryrefslogtreecommitdiffstats
path: root/xpcom/reflect/xptcall/md/unix/xptcinvoke_loongarch64.cpp
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 01:14:29 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 01:14:29 +0000
commitfbaf0bb26397aa498eb9156f06d5a6fe34dd7dd8 (patch)
tree4c1ccaf5486d4f2009f9a338a98a83e886e29c97 /xpcom/reflect/xptcall/md/unix/xptcinvoke_loongarch64.cpp
parentReleasing progress-linux version 124.0.1-1~progress7.99u1. (diff)
downloadfirefox-fbaf0bb26397aa498eb9156f06d5a6fe34dd7dd8.tar.xz
firefox-fbaf0bb26397aa498eb9156f06d5a6fe34dd7dd8.zip
Merging upstream version 125.0.1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'xpcom/reflect/xptcall/md/unix/xptcinvoke_loongarch64.cpp')
-rw-r--r--xpcom/reflect/xptcall/md/unix/xptcinvoke_loongarch64.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/xpcom/reflect/xptcall/md/unix/xptcinvoke_loongarch64.cpp b/xpcom/reflect/xptcall/md/unix/xptcinvoke_loongarch64.cpp
index 61bb7b2efd..e73dd023cb 100644
--- a/xpcom/reflect/xptcall/md/unix/xptcinvoke_loongarch64.cpp
+++ b/xpcom/reflect/xptcall/md/unix/xptcinvoke_loongarch64.cpp
@@ -44,7 +44,9 @@ extern "C" void invoke_copy_to_stack(uint64_t* gpregs, double* fpregs,
value = s->val.u16;
break;
case nsXPTType::T_U32:
- value = s->val.u32;
+ // 32-bit values need to be sign-extended in 64-bit registers,
+ // so use the signed value here.
+ value = s->val.i32;
break;
case nsXPTType::T_U64:
value = s->val.u64;