From patchwork Sun Dec 7 00:10:13 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sandra Loosemore X-Patchwork-Id: 126073 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 5A862442384B for ; Sun, 7 Dec 2025 00:16:15 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5A862442384B Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.a=rsa-sha256 header.s=20230601 header.b=YB3WMwmJ X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail-ot1-f67.google.com (mail-ot1-f67.google.com [209.85.210.67]) by sourceware.org (Postfix) with ESMTPS id A270A4143731 for ; Sun, 7 Dec 2025 00:10:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A270A4143731 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=baylibre.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org A270A4143731 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=209.85.210.67 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1765066246; cv=none; b=G9pgD/3B/foIRYzUnlly8o6dvVl0j+uZV5/K2tzVD6EUq8KeHJsBmicXDp+SbZYQXBLTAgcSHWOn32+7h/wNEYJVY9ATEn93G54TwjRNlQtHqf95MirUjc3YthK190O8HMMz2l/IDyE/i0i9/6EiUItXdkrb1uSTxTuPrG44rms= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1765066246; c=relaxed/simple; bh=V1CfEe732FisuUkoF7WBXvmhZOcCFskLVBSBHTSDkbI=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=ofFfyrnF98c3+k6Xn+vQ+JbNIzRIDtP6M3+dIYBCDYhnabgdw5lV2SSmEw8+oN1eqSQmTti4LmILFj8FJJcLxeCudPvgqdwumVS+IOf4caI/pVO6QegbmBeonWUvrrHArpG2pFvGgtvKgJGxoeUZaFr9OurAjLcNEo+njyHm+qk= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A270A4143731 Received: by mail-ot1-f67.google.com with SMTP id 46e09a7af769-7c6ce4f65f7so3201963a34.0 for ; Sat, 06 Dec 2025 16:10:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1765066246; x=1765671046; darn=gcc.gnu.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=LE+shXlJ4DXEjLLOeCtAqSvIWigJhZDdTwtaQwcZpVo=; b=YB3WMwmJwnXEO2k0yvVOsOQ2UeTBJj7cKqG+Gm1D33y8kMusRNgCRJRCIjskL7HwCH QBdS2hZOURJRrjaGyU9hX0KFf+dput6qu2vm4yQtvwycaFH6xyvmnSB02HZ3D+KEfrFU 9rsIYd27vnOq17C6UMbDUI10vsoYw2KE0N7mYhWMEqwEmwGqB0g5vZ/EUExJAVawhwse H6aIXm9cu8lYWlRBi2+J+l/JvhELuuEGUcBjyVrEKCw7jZgqGxjI26E6AEIdHOwDdzwB jalOrfjYbtACr7q0fUYz2/fPqc3oVfSLqWEA/PSYKOQ5ltvbJJfteI71uRmAORj6+2Ws loVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765066246; x=1765671046; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=LE+shXlJ4DXEjLLOeCtAqSvIWigJhZDdTwtaQwcZpVo=; b=pAPF4Eomk09nM+6XO7Kzn5eRtqqbklg8ro09vWjdygRJj8RU4QVTATT6Y0UqLFepOk q3KgxJScCS7rlYjB9hykN4x0cXik6ypKVMevmVldjAT6mKfWaSOSQa1TS5P+Vy57NetJ lS64PpYNn48QOmUXo6LmaRmaVe9sA4werYq7tXftIP7oQqHlsXGFGUIKfvzKV8nuHNfG u7QSTD+3oXt404ZFQB2z3aT1nZ7y8H6vnRWoCnKtSeNYocgKympuJpQ4dHkQcss4nys2 UQhtxm00T8Cy7paJvqZXzgDeLewn70Qo6QSVx1S3whiOePJAEBHnPAba3pkwwteSek1J 1wRw== X-Gm-Message-State: AOJu0Yw7ykcOsZFXUg7MQ5qgdaPvKyRPjs8GiirRiPne5KxC8vVZQp7t G6vfo8aU2hOzBtcB32Auhb2RITRc5dfJrDpDqtsTVlkY8YJqSNOmc5S7TVK07ru8QfkPRnTlOcT fRXtb6Aw= X-Gm-Gg: ASbGncsWFVzTOovFHW0tPg2VmcwiPNyoK3b2mUjQKEBNqW5MKzkhmTGKMWTc0pO/5t+ F00RV3EddvxmCbCDDTCHkt6Kh2jOkq0rb0iejJcEWkO8AkHFZSNBASMjZ9lxvO0llKmgG0SpAuh i6x3UnYw8/tnQiMy1sABqUj+N+xgnOOp1H0Uz60j8DGKjGgLqCkwWDrkvx1aeD8QIL/F9DYvNTt afyno6LhSg8zQXq7ptirRfewtVsKGYem0j0hW7+9h+A5ejyrWaGKoSmqYPav8RLSd5pKBaAE2TK gVORUAKfcABJgtPYRquWOyC5F1fNQoMTK3CZb8EM/SSzbfo8KbpRvyE168ondTtDzacqhXTmJTe Jw4NNrlYDfGBS1lVemmzYT3KpIRcDjiSSY6Nav/yI9vO3KJxYJPq5ahNwu5kzXPIKsnMYU5NZ6g Wa5Pgxy+E1ek8C28EabHeeQl8= X-Google-Smtp-Source: AGHT+IGEqyfVqEdXwcSleFsvX2l4Y11HwNa7pWCokGk6ywKjihJ/RIBZVvG/UvulqNImqna8RcLx8w== X-Received: by 2002:a05:6830:2e13:b0:7c7:6626:b595 with SMTP id 46e09a7af769-7c97076f85emr2274730a34.3.1765066245714; Sat, 06 Dec 2025 16:10:45 -0800 (PST) Received: from localhost.localdomain ([2601:281:d901:97c0::6b05]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7c95a8f8d0bsm7598391a34.5.2025.12.06.16.10.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 06 Dec 2025 16:10:45 -0800 (PST) From: Sandra Loosemore To: gcc-patches@gcc.gnu.org Cc: jeffreyalaw@gmail.com, dave.anglin@bell.net Subject: [PATCH 03/20] doc, pa: HPPA option documentation cleanup [PR122243] Date: Sat, 6 Dec 2025 17:10:13 -0700 Message-Id: <20251207001030.1024365-4-sloosemore@baylibre.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251207001030.1024365-1-sloosemore@baylibre.com> References: <20251207001030.1024365-1-sloosemore@baylibre.com> MIME-Version: 1.0 X-Spam-Status: No, score=-11.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED, SPF_HELO_NONE, SPF_PASS, TXREP, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on 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~patchwork=sourceware.org@gcc.gnu.org Note that the default for the -mlra option on HPPA was recently changed from 0 to 1. This option has never been documented for this target and reload is supposed to be going away entirely soon, so I see no reason to document it now. gcc/ChangeLog PR other/122243 * config/pa/pa.opt (mbig-switch): Mark obsolete option as "Undocumented". (mjump-in-delay): Likewise. (mlra): Likewise. (mnosnake, msnake): Likewise. * doc/invoke.texi (Option Summary) : Remove deliberately undocumented options from list. Remove redundant negative/positive forms from list. Fix formatting so there is uniformly two spaces between options on the same line. (HPPA Options): Remove documentation for obsolete options. Add @opindex for negative forms. Properly list -mwsio instead of just referring to it in the -msio docs. Light copy-editing to fix markup, jargon, etc. --- gcc/config/pa/pa.opt | 10 ++++---- gcc/doc/invoke.texi | 57 ++++++++++++++++++++++++-------------------- 2 files changed, 36 insertions(+), 31 deletions(-) diff --git a/gcc/config/pa/pa.opt b/gcc/config/pa/pa.opt index e90c4cacbd5..7efb01c8982 100644 --- a/gcc/config/pa/pa.opt +++ b/gcc/config/pa/pa.opt @@ -42,7 +42,7 @@ Target Var(TARGET_ATOMIC_LIBCALLS) Init(1) Generate libcalls for atomic loads and stores when sync libcalls are disabled. mbig-switch -Target Ignore +Target Ignore Undocumented Does nothing. Preserved for backward compatibility. mcaller-copies @@ -74,7 +74,7 @@ Target Mask(GAS) Assume code will be assembled by GAS. mjump-in-delay -Target Ignore +Target Ignore Undocumented Does nothing. Preserved for backward compatibility. ;; Not used by gcc @@ -87,7 +87,7 @@ Target Mask(LONG_CALLS) Always generate long calls. mlra -Target Var(pa_lra_p) Init(1) +Target Var(pa_lra_p) Init(1) Undocumented Use LRA instead of reload (transitional). mlong-load-store @@ -95,7 +95,7 @@ Target Mask(LONG_LOAD_STORE) Emit long load/store sequences. mnosnake -Target RejectNegative +Target RejectNegative Undocumented Generate PA1.0 code. mno-space-regs @@ -156,7 +156,7 @@ Target Mask(SOFT_MULT) Use software integer multiplication. msnake -Target RejectNegative +Target RejectNegative Undocumented Generate PA1.1 code. mspace-regs diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 0afdaad8eb5..4439683cbd5 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -1113,18 +1113,15 @@ Objective-C and Objective-C++ Dialects}. @emph{HPPA Options} (@ref{HPPA Options}) @gccoptlist{-march=@var{architecture-type} --matomic-libcalls -mbig-switch +-mno-atomic-libcalls -mcaller-copies -mdisable-fpregs -mdisable-indexing -mordered -mfast-indirect-calls -mgas -mgnu-ld -mhp-ld -mfixed-range=@var{register-range} --mcoherent-ldcw -mjump-in-delay -mlinker-opt -mlong-calls --mlong-load-store -mno-atomic-libcalls -mno-disable-fpregs --mno-disable-indexing -mno-fast-indirect-calls -mno-gas --mno-jump-in-delay -mno-long-load-store --mno-portable-runtime -mno-soft-float +-mcoherent-ldcw -mlinker-opt -mlong-calls +-mlong-load-store -mno-space-regs -msoft-float -mpa-risc-1-0 -mpa-risc-1-1 -mpa-risc-2-0 -mportable-runtime --mschedule=@var{cpu-type} -mspace-regs -msoft-mult -msio -mwsio +-mschedule=@var{cpu-type} -msoft-mult -msio -mwsio -munix=@var{unix-std} -nolibdld -static -threads} @emph{IA-64 Options} (@ref{IA-64 Options}) @@ -28066,11 +28063,13 @@ other way around. @item -mpa-risc-1-0 @itemx -mpa-risc-1-1 @itemx -mpa-risc-2-0 -Synonyms for @option{-march=1.0}, @option{-march=1.1}, and @option{-march=2.0} respectively. +Synonyms for @option{-march=1.0}, @option{-march=1.1}, and @option{-march=2.0}, +respectively. @opindex matomic-libcalls @opindex mno-atomic-libcalls @item -matomic-libcalls +@itemx -mno-atomic-libcalls Generate libcalls for atomic loads and stores when sync libcalls are disabled. This option is enabled by default. It only affects the generation of atomic libcalls by the HPPA backend. @@ -28091,11 +28090,8 @@ This option generates @code{__atomic_exchange} calls for atomic stores. It also provides special handling for atomic DImode accesses on 32-bit targets. -@opindex mbig-switch -@item -mbig-switch -Does nothing. Preserved for backward compatibility. - @opindex mcaller-copies +@opindex mno-caller-copies @item -mcaller-copies The caller copies function arguments passed by hidden reference. This option should be used with care as it is not compatible with the default @@ -28104,19 +28100,23 @@ passed by hidden reference and the option provides better compatibility with OpenMP. @opindex mcoherent-ldcw +@opindex mno-coherent-ldcw @item -mcoherent-ldcw Use ldcw/ldcd coherent cache-control hint. @opindex mdisable-fpregs +@opindex -mno-disable-fpregs @item -mdisable-fpregs -Disable floating-point registers. Equivalent to @code{-msoft-float}. +Disable floating-point registers. Equivalent to @option{-msoft-float}. @opindex mdisable-indexing +@opindex mno-disable-indexing @item -mdisable-indexing Prevent the compiler from using indexing address modes. This avoids some rather obscure problems when compiling MIG generated code under MACH@. @opindex mfast-indirect-calls +@opindex mno-fast-indirect-calls @item -mfast-indirect-calls Generate code that assumes calls never cross space boundaries. This allows GCC to emit code that performs faster indirect calls. @@ -28133,6 +28133,7 @@ two registers separated by a dash. Multiple register ranges can be specified separated by a comma. @opindex mgas +@opindex -mno-gas @item -mgas Enable the use of assembler directives only GAS understands. @@ -28179,7 +28180,7 @@ long calls only when the distance from the call site to the beginning of the function or translation unit, as the case may be, exceeds a predefined limit set by the branch type being used. The limits for normal calls are 7,600,000 and 240,000 bytes, respectively for the -PA 2.0 and PA 1.X architectures. Sibcalls are always limited at +PA 2.0 and PA 1.X architectures. Sibling calls are always limited at 240,000 bytes. Distances are measured from the beginning of functions when using the @@ -28193,21 +28194,18 @@ particularly when partial linking is used to build the application. The types of long calls used depends on the capabilities of the assembler and linker, and the type of code being generated. The -impact on systems that support long absolute calls, and long pic -symbol-difference or pc-relative calls should be relatively small. -However, an indirect call is used on 32-bit ELF systems in pic code +impact on systems that support long absolute calls, and long PIC +symbol-difference or PC-relative calls should be relatively small. +However, an indirect call is used on 32-bit ELF systems in PIC code and it is quite long. @opindex mlong-load-store +@opindex mno-long-load-store @item -mlong-load-store Generate 3-instruction load and store sequences as sometimes required by the HP-UX 10 linker. This is equivalent to the @samp{+k} option to the HP compilers. -@opindex mjump-in-delay -@item -mjump-in-delay -This option is ignored and provided for compatibility purposes only. - @opindex mno-space-regs @opindex mspace-regs @item -mno-space-regs @@ -28217,10 +28215,12 @@ GCC to generate faster indirect calls and use unscaled index address modes. Such code is suitable for level 0 PA systems and kernels. @opindex mordered +@opindex mno-ordered @item -mordered Assume memory references are ordered and barriers are not needed. @opindex mportable-runtime +@opindex mno-portable-runtime @item -mportable-runtime Use the portable calling conventions proposed by HP for ELF systems. @@ -28234,13 +28234,17 @@ proper scheduling option for your machine. The default scheduling is @samp{8000}. @opindex msio +@opindex mwsio @item -msio -Generate the predefine, @code{_SIO}, for server IO@. The default is +@itemx -mwsio +The @option{-msio} generates the predefine, @code{_SIO}, for server IO@. +The default is @option{-mwsio}. This generates the predefines, @code{__hp9000s700}, @code{__hp9000s700__} and @code{_WSIO}, for workstation IO@. These options are available under HP-UX and HI-UX@. @opindex msoft-float +@opindex mno-soft-float @item -msoft-float Generate output containing library calls for floating point. @strong{Warning:} the requisite libraries are not available for all HPPA @@ -28256,6 +28260,7 @@ library that comes with GCC, with @option{-msoft-float} in order for this to work. @opindex msoft-mult +@opindex mno-soft-mult @item -msoft-mult Use software integer multiplication. @@ -28289,18 +28294,18 @@ as appropriate. Most GNU software doesn't provide this capability. @opindex nolibdld @item -nolibdld -Suppress the generation of link options to search libdld.sl when the +Suppress the generation of link options to search @file{libdld.sl} when the @option{-static} option is specified on HP-UX 10 and later. @opindex static @item -static -The HP-UX implementation of setlocale in libc has a dependency on -libdld.sl. There isn't an archive version of libdld.sl. Thus, +The HP-UX C library implementation of @code{setlocale} has a dependency on +@file{libdld.sl}. There isn't an archive version of @file{libdld.sl}. Thus, when the @option{-static} option is specified, special link options are needed to resolve this dependency. On HP-UX 10 and later, the GCC driver adds the necessary options to -link with libdld.sl when the @option{-static} option is specified. +link with @file{libdld.sl} when the @option{-static} option is specified. This causes the resulting binary to be dynamic. On the 64-bit port, the linkers generate dynamic binaries by default in any case. The @option{-nolibdld} option can be used to prevent the GCC driver from