From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E5007C61DCB for ; Thu, 27 Aug 2026 05:11:20 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wzSNv-0002eM-GA; Thu, 27 Aug 2026 01:10:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzSNu-0002dQ-6h for qemu-arm@nongnu.org; Thu, 27 Aug 2026 01:10:42 -0400 Received: from mail-pj1-x102a.google.com ([2607:f8b0:4864:20::102a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wzSNs-00044r-LV for qemu-arm@nongnu.org; Thu, 27 Aug 2026 01:10:41 -0400 Received: by mail-pj1-x102a.google.com with SMTP id 98e67ed59e1d1-38e58034d05so308438a91.2 for ; Wed, 26 Aug 2026 22:10:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787807439; x=1788412239; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to:content-type; bh=NK/DHlEW6EIk2cf6PmuhEA3oo9/juwtu7TT1AMLm/g0=; b=MN+PJrckJmToPiqCxsohwOw3lBpS5sIcJky5xGhi/Mpb9R3X/U3TBHdRVJjbB6+wLf zkQTLfdW38KjMbv86kEsaC8YvWoCDxBiKvfT4BFSRXUDzGhQP8L/NpjZmEoJOi11YCJl fV9kq4VK0Rq5c52LELAsTnFac8MXjXWHgn/e7rROyecQBySLecYiTIZm0Oqd6f81iFkC BaPOc6LHr5ejW2hZl5pbTKtM5xKFAW0f7Q0SA71guWyJIZqGrASchGhGyt1xRERphaE8 btwB/EGm6uaL7L654ZTr1MA/vJt5Z3oRZvEVg2UCF2G29KdLSqkT9+pIuwPg4ALvYcUh XHjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787807439; x=1788412239; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=NK/DHlEW6EIk2cf6PmuhEA3oo9/juwtu7TT1AMLm/g0=; b=ArKRVc5OxE05KgPiNid7trkzy9RKQnwhg8YTxWdv6AqvAY/giez9RlK84s5emy7Swe gML/11+3cgKZLa+6+YNRthajA0wPwyrX3eY3yAPr3TLAEQ+ZpyS0AumDRZe7f7GHMptm mma+fPM1hcNQMU8dVznKZ2DrTjDfX5zWoRrbmbIylaAcpm9BjNOxe8+ZDJdnNfJDI/Jf eWyQnUnkia07kPI6sMZHGByahXcafcog+VDyHo17GMMCETGj2OQjSy0Zvg+m6N7D/L/F Wl32qmnghQiWs8GCJPKbGHdSc1mRnI1lpOElK6/EtotWeEy9yHEKVDhzwibJN5O71uy5 Z0Zg== X-Forwarded-Encrypted: i=1; AHgh+RrfsJ0UGbO6bqa+JL/DQv76Jf3HIVztPdjRnAC9Jw1TXGacLo6MYds8p16yAF0YvLljy+VWLPGZIw==@nongnu.org X-Gm-Message-State: AFuF++kXEdAUHffMps2TmjZ38Gd+rJbJO89mq0NoQOq5YkjVl4L9dZCm enI8u3AmiBWIOGJOoztfhnkhmnYXtOqgN4Rk2rvqpQ+z2m80FoC0pFoM X-Gm-Gg: AR+sD12wDOLWH6B+S7cdsO/bNWaOX5JXqvueNCCWasWql8DSvMImn1oIi64j+H/glCY 627YwZzkXLVBfE94Uy3QgqJeLObk6o9apoTDtX1P//F2CbMFpjGlchfFsPyrA9ZuYbXYjpsjhV/ ncupXX76uMjEDks498ArPtU7W2bVKsfzbv54AalsvasDRtWiffL4lG1pjcxUX7mGqeqFD+yJ5lv c0lHP4Tfie5lZps0wEzE9oYLr+W0oZhzm0lyvDnm14TUrJv11VkQiwg0Sxclijv5KDAWSktZPkd fFVoqlBS704AfwjjvUH5TH4ubjfs+puDZehC3COqpc1zlDQxody8P2AdorGcKBFm4rdL3L+KOjr nuhFYC/v1x+Vq8zn3kMKTnNje++5fcaHsawrAi+CpbgOioN4oLQ3ChjmLw9ftzxdW87sBrMWeT/ xOjvcok8WIhItRVikQyjDljnYq1I/tcCRu85WdNpBLGuiRK933LOhmnIloBmpk60DrXhjvwnvsO /42OVWihs1ilsNe24Ed+uphw9hSIryr4R/ZdXQFendui1V8CtbKg5Fqf9BWH7OPafWdz3iEgjzJ vM3cTYwDD6I8aRjdnobm X-Received: by 2002:a17:90b:3b4b:b0:381:11eb:d78e with SMTP id 98e67ed59e1d1-3966d8b6295mr25121340a91.14.1787807439137; Wed, 26 Aug 2026 22:10:39 -0700 (PDT) Received: from donnager-debian.. ([180.150.112.50]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39670599275sm2210473a91.0.2026.08.26.22.10.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 22:10:38 -0700 (PDT) From: Joel Stanley To: Alistair Francis , Daniel Henrique Barboza , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini Cc: Peter Maydell , Weiwei Li , Liu Zhiwei , Chao Liu , Nicholas Piggin , Anirudh Srinivasan , Michael Ellerman , Portia Stephens , qemu-riscv@nongnu.org, qemu-devel@nongnu.org, qemu-arm@nongnu.org Subject: [PATCH 04/12] tests/tcg/riscv64: Update semihosting linker script Date: Thu, 27 Aug 2026 14:39:43 +0930 Message-ID: <20260827050953.67184-5-joel@jms.id.au> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260827050953.67184-1-joel@jms.id.au> References: <20260827050953.67184-1-joel@jms.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=2607:f8b0:4864:20::102a; envelope-from=joel.stan@gmail.com; helo=mail-pj1-x102a.google.com X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-arm@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-arm-bounces+qemu-arm=archiver.kernel.org@nongnu.org Sender: qemu-arm-bounces+qemu-arm=archiver.kernel.org@nongnu.org Keep the tests at the start of RAM but bound them with a MEMORY region, and use this to define __stack_top, which the multiarch system test boot code will use. Add more sections generated by the test binaries so they are placed explicitly. Split text and data into separate rx/rw regions, instead of one rwx region to avoid binutils warnings. A -kernel boot jumps to the lowest loaded address rather than the ELF entry point, so _start must be first in .text. Use a .text._start input section to make that explicit. Signed-off-by: Joel Stanley --- tests/tcg/riscv64/semihost.ld | 47 +++++++++++++++++++++++++++-------- 1 file changed, 36 insertions(+), 11 deletions(-) diff --git a/tests/tcg/riscv64/semihost.ld b/tests/tcg/riscv64/semihost.ld index a59cc56b289a..eff3701e4a19 100644 --- a/tests/tcg/riscv64/semihost.ld +++ b/tests/tcg/riscv64/semihost.ld @@ -1,21 +1,46 @@ +/* + * Linker script for the RISC-V system tests + * SPDX-License-Identifier: GPL-2.0-or-later + */ + ENTRY(_start) +MEMORY +{ + /* + * Virt machine, RAM starts at 2GB + * + * Separate sections for executable and writable data to avoid linker + * warnings. + */ + TXT (rx) : ORIGIN = 0x80000000, LENGTH = 2M + DAT (rw) : ORIGIN = 0x80000000 + 2M, LENGTH = 2M +} + SECTIONS { - /* virt machine, RAM starts at 2gb */ - . = 0x80000000; .text : { + *(.text._start) *(.text) - } + } > TXT + .rodata : { - *(.rodata) - } - /* align r/w section to next 2mb */ - . = ALIGN(1 << 21); + *(.rodata .rodata.*) + *(.eh_frame) + } > TXT + + .got : { + *(.got .got.plt) + } > DAT + .data : { - *(.data) - } + *(.data .data.* .sdata .sdata.*) + } > DAT + .bss : { - *(.bss) - } + *(.bss .bss.* .sbss .sbss.*) + } > DAT + + /* Stack grows down from the end of the data region */ + __stack_top = ORIGIN(DAT) + LENGTH(DAT); } -- 2.47.3