From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on starla X-Spam-Level: X-Spam-Status: No, score=-0.9 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 Received: from server2.sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 26BB01F44D for ; Sat, 23 Mar 2024 17:38:27 +0000 (UTC) Authentication-Results: dcvr.yhbt.net; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20230601 header.b=fZHV3N7V; dkim-atps=neutral Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 75D34385840A for ; Sat, 23 Mar 2024 17:38:26 +0000 (GMT) Received: from mail-lf1-x135.google.com (mail-lf1-x135.google.com [IPv6:2a00:1450:4864:20::135]) by sourceware.org (Postfix) with ESMTPS id 37B943858410 for ; Sat, 23 Mar 2024 17:35:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 37B943858410 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 37B943858410 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::135 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1711215324; cv=none; b=YTvp3Wu+/7LqFlIG+mG2avzjJRzs1aWfOQJayhVCjydqchOfGzsoSA1b1NNQJxos/q1UX8+UARTHWIZ9jtN5zQTxdU389mw0eQKo2xL/ZagkenhY2g6JeShdCS8M9HvhU/FwrhkIHuW1WK6mBho9zUlU+eQoHg/GUNBAvWgGwwk= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1711215324; c=relaxed/simple; bh=3yp3AdMUx3nTucKqAVMdTqfRf2Cl1wggHFa4lJ61VfU=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=px+Y9OgFeFJ6m2swD0+k1UFSkESB6S9f1bLrwcae9Rjd+FO3oKUCq/gnmUMMLw07cpUdm0TwGyP2vrSk1L9ljfyo/JiZ/VqVWeCx26EE+ha7JovPkmqu6CrJhmto+zjY3bzIkJjfmGVGWhDvjHsIORMibFgGHCeTnD6CQS8/WZA= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-lf1-x135.google.com with SMTP id 2adb3069b0e04-513dd2d2415so3271965e87.3 for ; Sat, 23 Mar 2024 10:35:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1711215320; x=1711820120; darn=sourceware.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=wPclyPtXpvqzHSKt9M4gR0hzT78BA2LoGluGYFuRJ7k=; b=fZHV3N7VvcDOnSI/CmSKdfljUfhX3zxEcdbPlSi22T1d2D949rUvU6zJjgCDFk6a+P OHTQwNsn1PPclWe3IOqB6UnotL4zcKdCk24QC+IBUc+v6avrS3FuMrwyB8fHTyUMzWHc e+DxdDldHUUwhPE4Y0AQ6NqIecMd2ojerJOSp2RK9nED/r8dWQfZZrzfYfg634K38DTR 9efF8Xq2lFW/I4fbi+G46Y++MdMy+nC48jZmSlo5XHOOvOJEvPQm+cXxG0x2l7gzJt2o gVm7KEaNHjLZd1I+/NUeXigX4q5iOumgYLPsQgor9gsgZMmWpTEFGzUcXxGqY22UIUQe oIFw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711215320; x=1711820120; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=wPclyPtXpvqzHSKt9M4gR0hzT78BA2LoGluGYFuRJ7k=; b=ZZi+f7FyvyuWTcvo7DfiBUh3XTsL3qI96YJ4yQ0iI585D9L6G8dFSbYCPp2xaTRYxN NLXvmU6pyznG6aRiEK1C8fRjGk05tYHfCy9xwNyxdLsJXDWyW36iSk4TyzX7ycydUZ2p NjPOZ5P2FuWbxvtnWBL+Hoj5/Fr44/+NQcwTUuLkn4DbUeu3pAALWdBj6qqMU+BlXRsc IKPsxVDoYbwAFFtro6wfezNxylYjFVQuQITof28Q2j6/mvHeF9R60jXy0XC0/LvD20fR k7qaIRnvnAkHU2MClL8Wg/m48CPW4hyy48uSWyeGo4KlnuXr6Qrr754fkak84lgRo4vr hejQ== X-Gm-Message-State: AOJu0Yxjw2WSeNibonenXONm5RN0u1Rr4keJfTAxkTYXnVDLCiDi+hVE 4wmMbg4xXfIf8zSjV8SLokPFxIALCUMOMZ+5a2d6hzYXCWDvH/T/yLdRyKYu X-Google-Smtp-Source: AGHT+IG8SE12m0RndiYq2WWqxLW7qbaaPZOtYR5AbjwVTHoSUZyiTwVojJjWWRY5cGTiETqFrrTF0g== X-Received: by 2002:a05:6512:48cc:b0:515:9f17:35e3 with SMTP id er12-20020a05651248cc00b005159f1735e3mr1719661lfb.23.1711215320297; Sat, 23 Mar 2024 10:35:20 -0700 (PDT) Received: from surface-pro-6.. (79-139-171-253.dynamic.spd-mgts.ru. [79.139.171.253]) by smtp.gmail.com with ESMTPSA id g20-20020ac25394000000b00513973dee6fsm361290lfh.150.2024.03.23.10.35.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 23 Mar 2024 10:35:19 -0700 (PDT) From: Sergey Bugaev To: libc-alpha@sourceware.org, bug-hurd@gnu.org Cc: Maxim Kuvyrkov , Luca Subject: [PATCH v2 09/20] aarch64: Move saving user entry into _dl_start_user Date: Sat, 23 Mar 2024 20:32:50 +0300 Message-ID: <20240323173301.151066-10-bugaevc@gmail.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240323173301.151066-1-bugaevc@gmail.com> References: <20240323173301.151066-1-bugaevc@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces+e=80x24.org@sourceware.org In the Hurd ports, _dl_start () does not return the normal way; instead, _dl_sysdep_start () jumps to _dl_start_user directly using the RETURN_TO macro. Unlike in the i386 and x86_64 ports, the instruction that was saving the returned user entry into a different register (to avoid it getting clobbered by the _dl_init () call) was not marked as a part of _dl_start_user, causing it to be skipped when jumping to _dl_start_user using RETURN_TO, and control subsequently getting transferred to a random address left in x21. This should not make any difference for Linux ports, other than the _dl_start_user label pointing to an earlier instruction. Signed-off-by: Sergey Bugaev --- sysdeps/aarch64/dl-start.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sysdeps/aarch64/dl-start.S b/sysdeps/aarch64/dl-start.S index d645484e..e35431ca 100644 --- a/sysdeps/aarch64/dl-start.S +++ b/sysdeps/aarch64/dl-start.S @@ -29,10 +29,10 @@ ENTRY (_start) PTR_ARG (0) bl _dl_start /* Returns user entry point in x0. */ - mov PTR_REG (21), PTR_REG (0) .globl _dl_start_user .type _dl_start_user, %function _dl_start_user: + mov PTR_REG (21), PTR_REG (0) /* Get argc. */ ldr PTR_REG (1), [sp] /* Get argv. */ -- 2.44.0