From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from [87.239.111.99] (localhost [127.0.0.1]) by dev.tarantool.org (Postfix) with ESMTP id 8768D16DE357; Thu, 12 Mar 2026 11:51:21 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 8768D16DE357 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1773305481; bh=GFfoLnMOSzoZ0huDAv/UUf89HDbotXwjJZRqU5hTLUs=; h=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=w93vHOfZfoei+2PL0rL8EZxcnWFsWqiS1V3KTAlp+vjj9fIenuIxnE70CBoOaXuOU BmCCDR4shbjqf9Xe6eZuOIqWASczvY+gwGPwJJmZN27ZtYUPuYB61sAMcZRvFYxifA JAcFmd62ADBpaog7pVuWZiDXanrX2jcslV2R4G0E= Received: from mail-lf1-f54.google.com (mail-lf1-f54.google.com [209.85.167.54]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 151E616DE35E for ; Thu, 12 Mar 2026 11:51:20 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 151E616DE35E Received: by mail-lf1-f54.google.com with SMTP id 2adb3069b0e04-5a10d130b37so694045e87.0 for ; Thu, 12 Mar 2026 01:51:20 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773305479; x=1773910279; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=xzeUoAywL8InNuWwPb8KmtxasaLsJPPdE/U8ruOc/+w=; b=dHWtiyXTTlxjdo3eJI2DP1dI8AEcCr5bduPlkHsJ/0QqsGyqW6hcojOSJ21FKruqGv dW+RpWXfqhj9aXnnQWfmOzNxFNUYPg/ttfAuJQSqMv29aTh22CfqOgDupA6NEuNmyWwf jDZePKj54pxZVs5PugZidRKpvXngHcE4fC6pV4KB7OCvFjtEwRn6j7HbBYWfI+tGwFIz mdaWYraEXsg7mnhtnLJOv813DQd9k2kRx0eWuBifdOVYaafVQcBy1fAJm4cZm1CY15VM jvterH18RzzQoRWNCivOz98knvKL0PGQ4XzimClhgRwMVVm1xt8HcNeFV1fUdn/cXZwv eHNQ== X-Gm-Message-State: AOJu0Yy52aYBMh6awqLeTsUTXod+b/1Vp/cLsI/ghTRYcFkdmX6Df45M Gqb6JJ7Dg8vqmKDSxPSk3OY3VcUdHlsXjznziRh/qcf8whYpVhPg3fepioaOrw== X-Gm-Gg: ATEYQzxBfBHiB96YCh+aYIi9yWrhK0PoSRJhfme1M3lNKpMc85JDsNLKdS8GPC/q9zA ambJuTQv9zuvUMmRtng7SCkYni1jQTYT5NdoTbzgguzC6/HU6bPUk+xZysylJU3ZMQCVWuAhLWS AJtOWkxSRHYT71TeG7cmUvWlxj115dVyQXcSTwt9S7hRky/SZULwjbi9zxsEOpRbpahpjQeETt/ sL1tz20//8fYkgEumQ6z1PBjId+JypwAKQMGR9ZaVvRTWfKJYr3G2odeZDGaH+isBPW5ob9HP4t w/xrmb0YIRv3mjNEJ9lP18n0H4GMPGgMwkhgIQ7y1FfZlEvTrFNb4niGYFcuTtM1XN5vNdVsb0T UHMkEveRo7zw1kLKTXIF0VfI5Lb7Q0Y5fbj2jFK1c8BP94TfBtCSnxXaXCaSWNEw1py6J3bFTMP il/58fHzJ3VEpjYSTS850+Tvm7Mw== X-Received: by 2002:a05:6512:1c2:b0:5a1:2fa6:b022 with SMTP id 2adb3069b0e04-5a15a2a64aamr601085e87.11.1773305478595; Thu, 12 Mar 2026 01:51:18 -0700 (PDT) Received: from localhost ([79.164.223.111]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-38a67e7dea4sm7310791fa.46.2026.03.12.01.51.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Mar 2026 01:51:17 -0700 (PDT) X-Google-Original-From: Sergey Bronnikov To: tarantool-patches@dev.tarantool.org, Sergey Kaplun Date: Thu, 12 Mar 2026 11:49:54 +0300 Message-ID: <21ba90afd501808796831b7ab01c024d4ec8fed8.1773300611.git.sergeyb@tarantool.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [Tarantool-patches] [PATCH luajit 1/3][v3] MIPS64: Fix xpcall() error case. X-BeenThere: tarantool-patches@dev.tarantool.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Sergey Bronnikov via Tarantool-patches Reply-To: Sergey Bronnikov Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" From: Mike Pall Thanks to François Perrad and Stefan Pejic. (cherry picked from commit ea7071d3c30b6432bfe6f8a9d263e0285cec25e3) The patch fixes `xpcall()` segfaults on MIPS64 architecture. The similar patch for ARM64 has been backported (with the test) previously, see the commit af889e4608e6eca495dd85e6161d8bcd7d3628e6 ("ARM64: Fix xpcall() error case (really)."). Sergey Bronnikov: * added the description Part of tarantool/tarantool#12134 --- src/vm_mips64.dasc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/vm_mips64.dasc b/src/vm_mips64.dasc index 44fba36c..da187a7a 100644 --- a/src/vm_mips64.dasc +++ b/src/vm_mips64.dasc @@ -1440,15 +1440,16 @@ static void build_subroutines(BuildCtx *ctx) |. nop | |.ffunc xpcall - | daddiu NARGS8:RC, NARGS8:RC, -16 + | daddiu NARGS8:TMP0, NARGS8:RC, -16 | ld CARG1, 0(BASE) | ld CARG2, 8(BASE) - | bltz NARGS8:RC, ->fff_fallback + | bltz NARGS8:TMP0, ->fff_fallback |. lbu TMP1, DISPATCH_GL(hookmask)(DISPATCH) | gettp AT, CARG2 | daddiu AT, AT, -LJ_TFUNC | bnez AT, ->fff_fallback // Traceback must be a function. |. move TMP2, BASE + | move NARGS8:RC, NARGS8:TMP0 | daddiu BASE, BASE, 24 | // Remember active hook before pcall. | srl TMP3, TMP3, HOOK_ACTIVE_SHIFT -- 2.43.0