From patchwork Thu Jan 11 15:35:53 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Georg-Johann Lay X-Patchwork-Id: 1885686 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gjlay.de header.i=@gjlay.de header.a=rsa-sha256 header.s=strato-dkim-0002 header.b=X61X9ej3; dkim=pass header.d=gjlay.de header.i=@gjlay.de header.a=ed25519-sha256 header.s=strato-dkim-0003 header.b=WLJu8jvi; 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 4T9pfs5D9gz1yPm for ; Fri, 12 Jan 2024 02:36:21 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 5E8553865C21 for ; Thu, 11 Jan 2024 15:36:19 +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 [85.215.255.23]) by sourceware.org (Postfix) with ESMTPS id C59503857BB2 for ; Thu, 11 Jan 2024 15:35:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C59503857BB2 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 C59503857BB2 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=85.215.255.23 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1704987359; cv=pass; b=covG4gI4BGFRjm0FaBjFPbd9pwEh2aqcQjCJbbYgeX2CLOKLCKEWklaHR0vZOw3q8BrYz1Mz7WqJaYWLpAoUfXoUSQ1des6Uod64yhpI9s07ElZFcI4ylzpP9S8QjacHUsdZl8lQulNVu2lAcGvT8hTh0JxHMd39qlyD1f8Moos= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1704987359; c=relaxed/simple; bh=4gAtRINDgnqgwwr75/reX9ntwWnss14QI0dxh+A7cFQ=; h=DKIM-Signature:DKIM-Signature:Message-ID:Date:MIME-Version:From: To:Subject; b=ExFu1tlzc5PXGho/oUmnSc5veG5vUF2/KEeHwngaPO0xoODsSnvIkZQbr/HjEEH9uzq1imaPo6+vr4lKgAODWzm+6Ss8OQb0ypOj6Et7vLwsQiNfU7cCbW9i7RIcLkTPhGJaC6VRJM2IFo8TLSLm3qcjKYQIF5J/XuwVcXjxrEs= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; t=1704987354; cv=none; d=strato.com; s=strato-dkim-0002; b=PgeNM5gx6kTseYMlnfPh5ZX8kqEN0yb/HdtW0ZaENCDeKUM3ZGHAMpRQalbBrTmEK1 2gHlEC5yuWt1Nfiw4LLT46crAhPITF0QdAAzNGWiwKeqbpuRxS6TczfwZi22hep0LYxr mX5tWbDGF0pjYObBBxQl65YiREZZ89bkTV4mtglaiLmSSRyMoocP8/WRGsVcU8tkRnYe 9XYowNykh/yOzV74MfonS/ttein15XT0qGldO8d7aWEjD4A5c5h2Vde1tdwj+kDRuG0T 7rv09OB26eUzMuxJQ7Lem3fnxRzMkN8xK7Jo/MHXxO2LZeA3GE+4HKwZGG60imzprpZh 9mSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1704987354; s=strato-dkim-0002; d=strato.com; h=Subject:To:From:Date:Message-ID:Cc:Date:From:Subject:Sender; bh=uk6Cl/49m1D5y+Qa9lYbe3wl2OVkXjmsmhCexsDkXCo=; b=OcUIP1Ro7mmB4tnweW5vc4ylB7nsTo0trpBnRztmQwL9Vm+wY2yPgO6TDO45WKLKep j1h85eKaj54bXix45TC3sxeKG/PzQWmNOMaMcg3aqLDPnB0bgshoztY9ECGiaPWjE6Zh kkB00weJBpQ/BnT6nd4jE+wtHwOKgDCprCloh6LovWukXnGPxGiio0CONKQLvxxzHr5x 1m4Uufl6D9AxrQMewywSRGxTJ6AVvoEMqzlCtdt0uwWHpJ8CG/wVbl18v0U5DQ7F1HkS JiqBSX8FcWFpn04RRBTWzDHhMj+Qi5TuYStiNh8ApuM0JUoGmZtnWjPhKGvnSuSlC8At xzwg== 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=1704987354; s=strato-dkim-0002; d=gjlay.de; h=Subject:To:From:Date:Message-ID:Cc:Date:From:Subject:Sender; bh=uk6Cl/49m1D5y+Qa9lYbe3wl2OVkXjmsmhCexsDkXCo=; b=X61X9ej316ErVCIxgL4XyByAtGPdEdVQin96pkttqfll5qBQdQPXlBYNvYFgUnCjJ/ 0ydipN1I5H10DdZSq9AYwZTmlV4XUhEXws3h1tRon3uWmUzrXlWYPUu+d0vAXY8EOO+W +4K9wm+yZRdhNyP/weQUnQPJU3qi4qszttR8xRFTCngSCXAdrPFuzFy4rxxYrBl1WqSv rLyY/DVpxUeLWiYMupxYAXQdfIaFuHWuWLLUnRetn21CBeAEX/GI3LFKA8TmU/I4IFHy hR8jdxEXvdVOzspgSZh9BG2k3ZapJCJDUuQ8pr/SCksFQcAMe/y6j0lUyfSqy509yfr4 dsVw== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1704987354; s=strato-dkim-0003; d=gjlay.de; h=Subject:To:From:Date:Message-ID:Cc:Date:From:Subject:Sender; bh=uk6Cl/49m1D5y+Qa9lYbe3wl2OVkXjmsmhCexsDkXCo=; b=WLJu8jvia56NFQh+77ggf1cWXo1J2VZkQGsaaaYpMWnJvaaVBcP6/sbHjc1u9ZHkJR gvWWK09Jx4EigRltSXDA== X-RZG-AUTH: ":LXoWVUeid/7A29J/hMvvT3koxZnKT7Qq0xotTetVnKkSjsSjq3WhKPVxx3mY" Received: from [192.168.2.102] by smtp.strato.de (RZmta 49.10.2 DYNA|AUTH) with ESMTPSA id g5de8600BFZsKRR (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits)) (Client did not present a certificate) for ; Thu, 11 Jan 2024 16:35:54 +0100 (CET) Message-ID: <7d7e8719-4f1a-4432-af77-ecf87052685c@gjlay.de> Date: Thu, 11 Jan 2024 16:35:53 +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] invoke.texi: Move avr internal options to their own @subsubsection. X-Spam-Status: No, score=-10.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, 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 adds a new @subsubsection "AVR Internal Options" in "AVR Options". "Internal" options are options that are not supposed to be set by the user, but are solely required to ship information from device-specs to the compiler proper. (Without device-specs, non of these options would be needed because then all information would be available in the compiler proper.) Johann --- AVR: invoke.texi: Put internal options in their own @subsubsection. gcc/ * doc/invoke.texi (AVR Options): Move -mrmw, -mn-flash, -mshort-calls and -msp8 to... (AVR Internaƶ Options): ...this new @subsubsection. diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index c1d01d32c1d..c1bb54b4109 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -23695,11 +23695,6 @@ Do not save registers in @code{main}. The effect is the same like attaching attribute @ref{AVR Function Attributes,,@code{OS_task}} to @code{main}. It is activated per default if optimization is on. -@opindex mn-flash -@item -mn-flash=@var{num} -Assume that the flash memory has a size of -@var{num} times 64@tie{}KiB. - @opindex mno-interrupts @item -mno-interrupts Generated code is not compatible with hardware interrupts. @@ -23721,35 +23716,6 @@ differ from instructions in the assembler code. Relaxing must be turned on if linker stubs are needed, see the section on @code{EIND} and linker stubs below. -@opindex mrmw -@item -mrmw -Assume that the device supports the Read-Modify-Write -instructions @code{XCH}, @code{LAC}, @code{LAS} and @code{LAT}. - -@opindex mshort-calls -@item -mshort-calls - -Assume that @code{RJMP} and @code{RCALL} can target the whole -program memory. - -This option is used internally for multilib selection. It is -not an optimization option, and you don't need to set it by hand. - -@opindex msp8 -@item -msp8 -Treat the stack pointer register as an 8-bit register, -i.e.@: assume the high byte of the stack pointer is zero. -In general, you don't need to set this option by hand. - -This option is used internally by the compiler to select and -build multilibs for architectures @code{avr2} and @code{avr25}. -These architectures mix devices with and without @code{SPH}. -For any setting other than @option{-mmcu=avr2} or @option{-mmcu=avr25} -the compiler driver adds or removes this option from the compiler -proper's command line, because the compiler then knows if the device -or architecture has an 8-bit stack pointer and thus no @code{SPH} -register or not. - @opindex mstrict-X @item -mstrict-X Use address register @code{X} in a way proposed by the hardware. This means @@ -24179,6 +24145,45 @@ Reflects the @code{--with-libf7=@{libgcc|math|math-symbols@}} @end table +@subsubsection AVR Internal Options +The following options are used internally by the compiler and to communicate +between device specs files and the compiler proper. You don't need to set these +options by hand, in particular they are not optimization options. +Using these options in the wrong way may lead to sub-optimal or wrong code. +They are documented for completeness, and in order to get a better +understanding of +@w{@uref{https://gcc.gnu.org/wiki/avr-gcc#spec-files,device specs}} +files. + +@table @gcctabopt + +@opindex mn-flash +@item -mn-flash=@var{num} +Assume that the flash memory has a size of @var{num} times 64@tie{}KiB. +This determines which @code{__flash@var{N}} address spaces are available. + +@opindex mrmw +@item -mrmw +Assume that the device supports the Read-Modify-Write +instructions @code{XCH}, @code{LAC}, @code{LAS} and @code{LAT}. + +@opindex mshort-calls +@item -mshort-calls + +Assume that @code{RJMP} and @code{RCALL} can target the whole +program memory. This option is used for multilib generation and selection +for the devices from architecture @code{avrxmega3}. + +@opindex msp8 +@item -msp8 +Treat the stack pointer register as an 8-bit register, +i.e.@: assume the high byte of the stack pointer is zero. +This option is used by the compiler to select and +build multilibs for architectures @code{avr2} and @code{avr25}. +These architectures mix devices with and without @code{SPH}. + +@end table + @node Blackfin Options @subsection Blackfin Options @cindex Blackfin Options