From patchwork Thu Feb 8 10:41:01 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Georg-Johann Lay X-Patchwork-Id: 1896538 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gjlay.de header.i=@gjlay.de header.a=rsa-sha256 header.s=strato-dkim-0002 header.b=C8jhDFwm; dkim=fail reason="signature verification failed" header.d=gjlay.de header.i=@gjlay.de header.a=ed25519-sha256 header.s=strato-dkim-0003 header.b=aapDPe97; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=8.43.85.97; helo=server2.sourceware.org; envelope-from=gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=patchwork.ozlabs.org) Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4TVtpH39S2z23g7 for ; Thu, 8 Feb 2024 21:41:59 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 6E9443858291 for ; Thu, 8 Feb 2024 10:41:56 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mo4-p00-ob.smtp.rzone.de (mo4-p00-ob.smtp.rzone.de [81.169.146.217]) by sourceware.org (Postfix) with ESMTPS id 4E7883858C35 for ; Thu, 8 Feb 2024 10:41:04 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4E7883858C35 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=gjlay.de Authentication-Results: sourceware.org; spf=none smtp.mailfrom=gjlay.de ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 4E7883858C35 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=81.169.146.217 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1707388869; cv=pass; b=FmibuxYCItv8MeWhnsB8zzcs9avhqRWme3/ILVEvN2ZKfgpSpQU81HHbOydbtWVGf3W8x2JESAB1Wbhdaa7YU0A1IFHT5eDn2wZPWcsuZtnSuI/LTmtaZ8aB8YnGcg3q8OJzb7qv0oHlCPHsP4XMuI/zUI+Jthrs23qcLohvfgo= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1707388869; c=relaxed/simple; bh=FmfAlIR1muZk80hJMyl3vntC5QVjamW2LR+GjNOMW8c=; h=DKIM-Signature:DKIM-Signature:Message-ID:Date:MIME-Version:From: To:Subject; b=Br72yfJFq3q+9arJbSBGD5KZMUa7+jdBl48U4f/JlIwBIbfnZNOsiyYU7SuxfCjuVpQxqIsjXBL/TUnx7/nR7YF0Sc2zrQnFI0FM8yRiy8zMoyADwhPEVIplNbpKcGV0xZXuSAECzdsd+JeHx0XaCom57TbEQNrtJJfap3v/RNY= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; t=1707388862; cv=none; d=strato.com; s=strato-dkim-0002; b=WrdRl1rmXA4Df5NARzrxJzKhEhbLOlPLkLLl4mnyO6PY48i0W7rEezzQkj7vJW6bXQ bJQmKzhYt6zLop/3Yz72x2EXZ2jn3Gpl84cz9LM+ah3Edqn6Siv7Cmh2nNvq3fnd9L5s N/i3jOwGcqRdYwkVyAzipQ8TyYR2YzJo8MN7erjvF76nVUyNH6DtWvu/Rqu5ZaS9UrgZ EBbE2+H+auPDQwY7wUPFPo42BGHZYTmfrZBgRHiF2i7qLfKrsanSro+joK0MTala9a2W Ylr2626kh9QTZJujc4A3pRvJm736szjI3L208wi1ggL3YXQyLxpsEUPZKiBr/+8ttEzs bgJg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1707388862; s=strato-dkim-0002; d=strato.com; h=Subject:To:From:Date:Message-ID:Cc:Date:From:Subject:Sender; bh=8IfU7tFh7O3wwbfWZ+tpa47mR+/kQHVJVSOHv1uLAYw=; b=cqxwHIPAKgWv8xHrrYBN5lFt2DNy9SsBiTnWlvAvBD1cteEkPyigK1AYun2bSkS64q O2u57/2LB9F2WimVQOCPrn5BpOl3LlrsJeh9GN3EBqq3vFGynnLa5EnrO6EjY35ZBh4o 2WZqsdMPB/duBYfvXGszB65djN3RadUeN/WXktTgI8+bj9x1oHIe1Q4Jm2v9pNhpWyRL PXakUEB/s9RnZk1J6lnx/AyTnC9H/wIkmO9Dlkvu1NZWw3lONjO83pmWa88Bwx3RG/KD IbJm2fQ3pfekyxcpRYI3lVyPuLeeLwWLCLsRe2tiuJTuv52WqtYzucOyKuC8CQrwFQ5D 8mAg== ARC-Authentication-Results: i=1; strato.com; arc=none; dkim=none X-RZG-CLASS-ID: mo00 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1707388862; s=strato-dkim-0002; d=gjlay.de; h=Subject:To:From:Date:Message-ID:Cc:Date:From:Subject:Sender; bh=8IfU7tFh7O3wwbfWZ+tpa47mR+/kQHVJVSOHv1uLAYw=; b=C8jhDFwm7F5VZxsfQ2fL83tDLdBPosOvg2E/TXt3wqY3wXyFXWDoVhBD3MSzoPKWSV nDvaiPGViSfnbGaUMzwWpzmFuYwPNjksHLLJQDYFxh1sYh6qFMAkNN8Dgzi0ZSzMHJLS 1ZimnJY3engsBPw8z2g9CX2bcNYmMZDqzKZITAJVkZVlshi6QV1AO3t4A/rwxoBNGhRM bG3IoguHKKTAWNYCHfRtWMMa6kbGnWPhv3vbcJPfC8qNOxYniCmbKIgSG04HVNiETR8V KAN+tbl8XjmhvecQtIajmR9MlheQuv2k6UtG4Y1Kwy2UI53xz+pdgBPFYGTf3VQBqOBQ hrag== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1707388862; s=strato-dkim-0003; d=gjlay.de; h=Subject:To:From:Date:Message-ID:Cc:Date:From:Subject:Sender; bh=8IfU7tFh7O3wwbfWZ+tpa47mR+/kQHVJVSOHv1uLAYw=; b=aapDPe97IQ3o3YWpbTKF2qtY++pknmLvm9zoU4bmblU7H2S8TmCfxexUimZAyugskZ luAyM4hKjAK2dk5tOPBw== X-RZG-AUTH: ":LXoWVUeid/7A29J/hMvvT3koxZnKT7Qq0xotTetVnKkSgcSjpmy9KwoMJ/K0VA==" Received: from [192.168.2.102] by smtp.strato.de (RZmta 49.11.2 DYNA|AUTH) with ESMTPSA id Lb68c6018Af1SUM (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits)) (Client did not present a certificate) for ; Thu, 8 Feb 2024 11:41:01 +0100 (CET) Message-ID: <7c8f6d93-9e9a-4704-bb7e-1d9a8bac2216@gjlay.de> Date: Thu, 8 Feb 2024 11:41:01 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US From: Georg-Johann Lay To: gcc-patches@gcc.gnu.org Subject: [patch, avr, applied] Specs always define __AVR_PM_BASE_ADDRESS__ when the core has it X-Spam-Status: No, score=-10.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL, SPF_HELO_PASS, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE 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: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org This defines the spec always when the core has it, not only override it when it differs from the core's value. Johann --- AVR: Always define __AVR_PM_BASE_ADDRESS__ in specs provided the core has it. gcc/ * config/avr/gen-avr-mmcu-specs.cc (print_mcu) <*cpp_mcu>: Spec always defines __AVR_PM_BASE_ADDRESS__ if the core has it. diff --git a/gcc/config/avr/gen-avr-mmcu-specs.cc b/gcc/config/avr/gen-avr-mmcu-specs.cc index 06d9d3c8d7d..41ebfa82eb5 100644 --- a/gcc/config/avr/gen-avr-mmcu-specs.cc +++ b/gcc/config/avr/gen-avr-mmcu-specs.cc @@ -199,13 +199,21 @@ print_mcu (const avr_mcu_t *mcu) bool flmap = (mcu->dev_attribute & AVR_ISA_FLMAP); bool is_arch = mcu->macro == NULL; bool is_device = ! is_arch; - int flash_pm_offset = 0; + int rodata_pm_offset = 0; + int pm_base_address = 0; if (arch->flash_pm_offset && mcu->flash_pm_offset && mcu->flash_pm_offset != arch->flash_pm_offset) { - flash_pm_offset = mcu->flash_pm_offset; + rodata_pm_offset = mcu->flash_pm_offset; + } + + if (arch->flash_pm_offset) + { + pm_base_address = mcu->flash_pm_offset + ? mcu->flash_pm_offset + : arch->flash_pm_offset; } if (is_arch @@ -339,8 +347,8 @@ print_mcu (const avr_mcu_t *mcu) fprintf (f, "*link_arch:\n\t%s", link_arch_spec); if (is_device - && flash_pm_offset) - fprintf (f, " --defsym=__RODATA_PM_OFFSET__=0x%x", flash_pm_offset); + && rodata_pm_offset) + fprintf (f, " --defsym=__RODATA_PM_OFFSET__=0x%x", rodata_pm_offset); fprintf (f, "\n\n"); if (is_device) @@ -381,10 +389,10 @@ print_mcu (const avr_mcu_t *mcu) fprintf (f, "*cpp_mcu:\n"); fprintf (f, "\t-D%s", mcu->macro); - if (flash_pm_offset) + if (pm_base_address) { fprintf (f, " -U__AVR_PM_BASE_ADDRESS__"); - fprintf (f, " -D__AVR_PM_BASE_ADDRESS__=0x%x", flash_pm_offset); + fprintf (f, " -D__AVR_PM_BASE_ADDRESS__=0x%x", pm_base_address); } if (have_flmap) fprintf (f, " -D__AVR_HAVE_FLMAP__");