From patchwork Tue May 21 09:56:44 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yuriy Kolerov X-Patchwork-Id: 90561 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 824A3384AB77 for ; Tue, 21 May 2024 09:58:38 +0000 (GMT) X-Original-To: newlib@sourceware.org Delivered-To: newlib@sourceware.org Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com [IPv6:2a00:1450:4864:20::330]) by sourceware.org (Postfix) with ESMTPS id 17EEA385F014 for ; Tue, 21 May 2024 09:58:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 17EEA385F014 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 17EEA385F014 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::330 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1716285491; cv=none; b=pFyemEl4hbVbserv67VSWRLERnhRsvAoL5BVuei0pUVJLnqJVOmvZ+YEZ0gPPpQ15KTxR/5G/jUV4VART6bi4fulxSPy12FjG82Xlv1Ouaw84tL0WYIb1T/psmUU6E2G79aN7BSjK5QfrN3KYDaUDzuV9LNKmfMc2btolibyOfQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1716285491; c=relaxed/simple; bh=q5nNc+3hRWB8DYvuZq+LQ4mHILxoVZ/NsPv0AYijVa0=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=s4ab8og/WQqDai9sR3aqMY3EoVQoEcVz1Rn24jP7a5TieKEbtLotKb+v3JJOpytT64POEv1k7hdIMqZFuW4PkApEAPFzvsNupZfpGsxaV3MsphjJrW1WXYbeaZQ6UdcM5i8gF4D0YTOMGnJPW0j7NbiYeBI0iqYRO+QLAtu+7i4= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-42017f8de7aso29290435e9.1 for ; Tue, 21 May 2024 02:58:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1716285486; x=1716890286; 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=eK6Lk7nAIC3dNelzjF0pA9Poga1dfZGgR6MTqsSVLho=; b=M0WCFVCENztWRLivh7ypZZMICT4cvbiFYo2Z/1pVD31WwPmZkGDaJ96InYISOmP1JC gqWPdqmNg1b+vJvxO+BY2odlAHgZX9CRJU95l4hJHFNiOXHUJFJ0Z2y7QddbtDp8sCtd ZTbp55N+KoJqe2/m0/RMQ0L+ffnAnjrCPLT97p3/rhDAyfluqsoJgdgNwFmV90BYMEbj N3YBVklvp1ZMec2BO8AoV7g8K7sAeWepr1CwH1UNSGUzVnxZ5gDP/fyQHB6XlI4nM6R9 7+hHPj15HKjJotdBuVP2ujE+d+99WW0034hOmI/xUiTzF2yFlMj0ira/2F1pKDM1P/7e eE7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1716285486; x=1716890286; 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=eK6Lk7nAIC3dNelzjF0pA9Poga1dfZGgR6MTqsSVLho=; b=lnFuwLcgkrwCQip54vi/La2MlCHhhb6zuQb9CPO/UX4vuakgEYwpy9hD4dG6ozxJuF GCa5MVvKJigrlmEnirctBd7ovmCW9JYTk0gQQ4B9m53HDAau1Czk8V+Aa4TyGKlTEmxs bvZ1dbxuToqGb4ydb2nw+HJ7KOsaHGOxnbs0EZHheTpguuaXglk92B4wUrgT4IWiAjQN 0AxTT3GsK4IFCD9L/siOvIEFljmt6BWg07GbVtu0PyRAm7bxZ9XGJd6x82tjez2HX2gn BYAVATX64kufhM2i0gJvXXzd4qK7uMLZuRGjBQpKOFBhpCW1RfbGNMOCbQz9DNiaKfd3 wbJw== X-Gm-Message-State: AOJu0YyfDfr6iR2yHingjNmSSTEj0yQCzpBf5FMOdko4vh7mcIWTk6dj lj0X3pAGV2SB3J0tSj7D9PfC9JuhQRD23AMYvaU/VdyrAbUFp1Q1FUuf30G0 X-Google-Smtp-Source: AGHT+IGkvN7f5dprQxJ/XPF7NER0TO2tDZH2GfQm6YKbj9uzcPTJ7fiNvCpLiJXVPUW7SW0GLjhnlg== X-Received: by 2002:a05:600c:511f:b0:41d:d406:9416 with SMTP id 5b1f17b1804b1-41fead6d15bmr220767275e9.34.1716285486175; Tue, 21 May 2024 02:58:06 -0700 (PDT) Received: from localhost.localdomain ([2a00:a041:e626:f00:a285:867a:5e98:7729]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-41f87b2653bsm490773635e9.4.2024.05.21.02.58.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 May 2024 02:58:05 -0700 (PDT) From: kolerov93@gmail.com To: newlib@sourceware.org Cc: shahab@synopsys.com, claziss@gmail.com Subject: [PATCH 01/15] arc: libgloss: Use long calls attribute for exit_halt Date: Tue, 21 May 2024 10:56:44 +0100 Message-Id: <20240521095658.10311-2-kolerov93@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240521095658.10311-1-kolerov93@gmail.com> References: <20240521095658.10311-1-kolerov93@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-11.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, 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 X-BeenThere: newlib@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Newlib mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: newlib-bounces+patchwork=sourceware.org@sourceware.org From: Claudiu Zissulescu According to GCC documentation for ARC, a function marked with the long_call attribute is always called using register-indirect jump-and-link instructions, thereby enabling the called function to be placed anywhere within the 32-bit address space. exit_halt function is provided by crt0.S and it's used in nsim-syscalls.c. Thus, we want to ensure that a linkage issue will not arise. Signed-off-by: Claudiu Zissulescu --- libgloss/arc/nsim-syscalls.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libgloss/arc/nsim-syscalls.c b/libgloss/arc/nsim-syscalls.c index 7dd0af10f..d299f8cdc 100644 --- a/libgloss/arc/nsim-syscalls.c +++ b/libgloss/arc/nsim-syscalls.c @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Synopsys, Inc. All rights reserved. + Copyright (c) 2015-2024, Synopsys, Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: @@ -100,7 +100,7 @@ _open (const char * pathname, int flags, int mode) } /* Should be provided by crt0.S. */ -extern void __attribute__((noreturn)) _exit_halt (); +extern void __attribute__((noreturn, long_call)) _exit_halt (); void __attribute__((noreturn))