From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com [IPv6:2a00:1450:4864:20::32f]) by sourceware.org (Postfix) with ESMTPS id BC38A396DC04 for ; Sat, 17 Dec 2022 14:47:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org BC38A396DC04 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=develer.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=develer.com Received: by mail-wm1-x32f.google.com with SMTP id v7so3702303wmn.0 for ; Sat, 17 Dec 2022 06:47:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=develer.com; s=google; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=5aqyEzwuCqCJmiyNqILwQboBdmWfc9eC1eCLelncGTA=; b=BDe6py+0btu8CsmdleHw+MpSQoSvxhzu/lrzN/KJfNAa2NOiqvDOWZ14TNOv3o0GhZ UHFoOrTpsx9XrBtptpYj3SQtF2ZUUot8z8faEkjXrvHC6U928smGb/a+zkptsnHRZn2p JrJXfp8Mf0rwMfvUhY372GV1km27fS4jAucwnrkQ+ruH8gvjCkNTdk3SwfC7z93qa/LV NrYj/y5AzW8ASvVLa42LQ5imY2Rsw/QapyQCSMFh8v8MmjIQb9gfhXkosiLvKpuFlWdi f2D6L0g5Zw9Vy0GMTreRYcm9hxzmVRZ/F0D8rIc/I9fsmj+/b2CsI+z1vhkj8HT2Fq+x qwAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=5aqyEzwuCqCJmiyNqILwQboBdmWfc9eC1eCLelncGTA=; b=6M5dll2VXqJ/NT9fQE24vVXKiQMqZprrEcHjbHO4y4hk0RS5a9CZXwQb/YccMo81n2 IackRhs0ae0hY85+n6zY6aHqwyy+MyL85bUCB0VKhxJZJRDUiFVYxdD5W5PL9MPJgwVW BGMgNz3AnNGgTtdCTtGLdywGSrqNZa2Y3jtLQnvEMn8Ks8vhH1KfYrSuO8ZUuS4+nFL2 k0G9CpMC0NIgXNG6xADW8KhLKPI76Jlwh+iLdS3AYYdmv3VGQfHeTSRGvX4GRrRuRUic lqVJYAfOod7PCzYlvVAIxpe/9tGHJLWUjaDmRh6t0ykkcIKNber7aDfjtI1lYjmk9VX6 egYA== X-Gm-Message-State: ANoB5pmisfAE53T+vqX3UYCbaSsXYsQTi1V1WV8n74YD1kgXKT5zomhr wEygoFSwCXB3ezINN76hVRyoiNhwRXyDqFDwIzw= X-Google-Smtp-Source: AA0mqf4kvJ9Pp8JYGU7F9lVH83L+4j6+eLQ2rMTnlmg8mT5CzQSXNOQzwXP4nd4CfOn1QtcL7mOLWQ== X-Received: by 2002:a05:600c:1f09:b0:3d0:7d89:2256 with SMTP id bd9-20020a05600c1f0900b003d07d892256mr28810828wmb.13.1671288464779; Sat, 17 Dec 2022 06:47:44 -0800 (PST) Received: from localhost.localdomain ([145.224.104.70]) by smtp.gmail.com with ESMTPSA id bh16-20020a05600c3d1000b003cfd4e6400csm6234033wmb.19.2022.12.17.06.47.43 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 17 Dec 2022 06:47:43 -0800 (PST) From: Giovanni Bajo To: newlib@sourceware.org Cc: Giovanni Bajo Subject: [PATCH] Fix a bug in setjmp for MIPS o32/o64 FPXX/FP64 Date: Sat, 17 Dec 2022 15:47:23 +0100 Message-Id: <20221217144723.84653-1-rasky@develer.com> X-Mailer: git-send-email 2.37.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-13.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,KAM_NUMSUBJECT,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: It seems there is a swapped logic in one of the subcases of setjmp.S for MIPS: when the FPU registers are 64-bit within a 32-bit aligned jmp_buf, the code realigns the pointers before doing 64-bit writes, but the branch logic is swapped: we must avoid the address adjustement when bit 2 is zero (that is, the address is already 8-byte aligned). This always triggers an address error when run, as tested on a MIPS VR4300 with O64 ABI. --- newlib/libc/machine/mips/setjmp.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/newlib/libc/machine/mips/setjmp.S b/newlib/libc/machine/mips/setjmp.S index 9a8b31d09..cfc1d517a 100644 --- a/newlib/libc/machine/mips/setjmp.S +++ b/newlib/libc/machine/mips/setjmp.S @@ -68,7 +68,7 @@ #define FPR_LAYOUT \ and $8, $4, 4; \ - bne $8, $0, 1f; \ + beq $8, $0, 1f; \ GPR_OFFSET ($31, 22); \ addiu $4, $4, -4; \ 1: \ -- 2.37.0