Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.1/patches/2230235/?format=api
{ "id": 2230235, "url": "http://patchwork.ozlabs.org/api/1.1/patches/2230235/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/ydda4ulamtr.fsf@CeBiTec.Uni-Bielefeld.DE/", "project": { "id": 17, "url": "http://patchwork.ozlabs.org/api/1.1/projects/17/?format=api", "name": "GNU Compiler Collection", "link_name": "gcc", "list_id": "gcc-patches.gcc.gnu.org", "list_email": "gcc-patches@gcc.gnu.org", "web_url": null, "scm_url": null, "webscm_url": null }, "msgid": "<ydda4ulamtr.fsf@CeBiTec.Uni-Bielefeld.DE>", "date": "2026-04-29T14:00:16", "name": "[1/6] Remove HAVE_GNU_AS", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "242156fac5d962fa72be70b58656add1d6e77eb3", "submitter": { "id": 4362, "url": "http://patchwork.ozlabs.org/api/1.1/people/4362/?format=api", "name": "Rainer Orth", "email": "ro@CeBiTec.Uni-Bielefeld.DE" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/gcc/patch/ydda4ulamtr.fsf@CeBiTec.Uni-Bielefeld.DE/mbox/", "series": [ { "id": 502070, "url": "http://patchwork.ozlabs.org/api/1.1/series/502070/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=502070", "date": "2026-04-29T13:59:25", "name": "Remove HAVE_GNU_{AS,LD} etc.", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/502070/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2230235/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2230235/checks/", "tags": {}, "headers": { "Return-Path": "<gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "gcc-patches@gcc.gnu.org" ], "Delivered-To": [ "patchwork-incoming@legolas.ozlabs.org", "gcc-patches@gcc.gnu.org" ], "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=cebitec.uni-bielefeld.de header.i=@cebitec.uni-bielefeld.de\n header.a=rsa-sha256 header.s=20200306 header.b=gJsRp4JM;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=2620:52:6:3111::32; helo=vm01.sourceware.org;\n envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org;\n receiver=patchwork.ozlabs.org)", "sourceware.org;\n\tdkim=pass (2048-bit key,\n unprotected) header.d=cebitec.uni-bielefeld.de header.i=@cebitec.uni-bielefeld.de\n header.a=rsa-sha256 header.s=20200306 header.b=gJsRp4JM", "sourceware.org; dmarc=none (p=none dis=none)\n header.from=CeBiTec.Uni-Bielefeld.DE", "sourceware.org;\n spf=pass smtp.mailfrom=cebitec.uni-bielefeld.de", "server2.sourceware.org;\n arc=none smtp.remote-ip=129.70.160.84" ], "Received": [ "from vm01.sourceware.org (vm01.sourceware.org\n [IPv6:2620:52:6:3111::32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g5JqW1qpRz1yHZ\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 30 Apr 2026 00:00:55 +1000 (AEST)", "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 366024BABF2D\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 29 Apr 2026 14:00:53 +0000 (GMT)", "from smtp.CeBiTec.Uni-Bielefeld.DE (smtp.CeBiTec.Uni-Bielefeld.DE\n [129.70.160.84])\n by sourceware.org (Postfix) with ESMTPS id 7153A4BB3BEF\n for <gcc-patches@gcc.gnu.org>; Wed, 29 Apr 2026 14:00:19 +0000 (GMT)", "from localhost (localhost.CeBiTec.Uni-Bielefeld.DE [127.0.0.1])\n by smtp.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTP id 97EC4C1FDB;\n Wed, 29 Apr 2026 16:00:18 +0200 (CEST)", "from smtp.CeBiTec.Uni-Bielefeld.DE ([127.0.0.1])\n by localhost (smtp.cebitec.uni-bielefeld.de [127.0.0.1]) (amavisd-new,\n port 10026)\n with ESMTP id lmjhqE-3S1Xu; Wed, 29 Apr 2026 16:00:17 +0200 (CEST)", "from manam.CeBiTec.Uni-Bielefeld.DE (p508551ea.dip0.t-ipconnect.de\n [80.133.81.234]) (Authenticated sender: ro)\n by smtp.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTPSA id 48AC7C1FDA;\n Wed, 29 Apr 2026 16:00:17 +0200 (CEST)" ], "DKIM-Filter": [ "OpenDKIM Filter v2.11.0 sourceware.org 366024BABF2D", "OpenDKIM Filter v2.11.0 sourceware.org 7153A4BB3BEF" ], "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org 7153A4BB3BEF", "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org 7153A4BB3BEF", "ARC-Seal": "i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1777471219; cv=none;\n b=tSOhjw/vG1PLjhgzn5Meu6WmU9ZDZM9Ygbg4IGh/VBY0wUUba14JypQ+s6hR4iID9qOtHEae4LlXXM8+acj171PY0PQDb7nwahTzXESx/jcZC/SlAxLl+BjoC2m/uCP8GSQhRi+vLKi+8QKAEB7mlAbCQm7tfEbBTJEG9o03Ens=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1777471219; c=relaxed/simple;\n bh=A+NAljBst0dukU7UoJUtE29X7L0h0hq1GU0PsUVNDU4=;\n h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version;\n b=mqR4Y+V9NGdJsd0lFlGUCwxbocNlpTnvo74PG1SVWGJUgwtPxd+epIMLOp0jFqbyPHkaalVhK1CkzkL009IDsF8udw7pV9Zeo2dCMsN/W1Nk7qYo0J69Y/BBNzK6mY4wk1KeJx20kdaXNuEaaHkUgjr75W5CablBpGAzFTuBSEE=", "ARC-Authentication-Results": "i=1; server2.sourceware.org", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=\n cebitec.uni-bielefeld.de; h=content-type:content-type\n :mime-version:user-agent:message-id:date:date:subject:subject\n :from:from:received:received; s=20200306; t=1777471217; bh=A+NAl\n jBst0dukU7UoJUtE29X7L0h0hq1GU0PsUVNDU4=; b=gJsRp4JMjjnpBl0YrrwLe\n s24BdVwZH48UOMw09GixkSoOz5JiaSOZxeWtlAEvmQmNKjAOOjZUCSVpqZuqjsxb\n kwxkjN28NSNC7vXoTlpLTV65o6nbMxpTVsKoCEIyWKrNBBDeVTbOjMkNy4qqzKfK\n O6p2EiWTrDI8POzR1Ks3IS0yJtmWSizxyWtzt8r2soCZu8bEcsiV/ab/kOsnVJGL\n gDLh/sW8lV1FMSQ/+v9pCyWGRiCKkmrWD9asQzDk/6PxPMNQJyem/CqdO7yDeg3u\n 46KxrEx9r1ozrmeQLqFOYmEl8ZEF6iUjawiPMHVRYUCLz0sEcwfhvRvDEqO6xEPy\n A==", "X-Virus-Scanned": "amavisd-new at cebitec.uni-bielefeld.de", "From": "Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>", "To": "gcc-patches@gcc.gnu.org", "Cc": "Iain Sandoe <iain@sandoe.co.uk>, John David Anglin\n <dave.anglin@bell.net>, Thomas Schwinge <tschwinge@baylibre.com>, David\n Edelsohn <dje.gcc@gmail.com>", "Subject": "[PATCH 1/6] Remove HAVE_GNU_AS", "Date": "Wed, 29 Apr 2026 16:00:16 +0200", "Message-ID": "<ydda4ulamtr.fsf@CeBiTec.Uni-Bielefeld.DE>", "User-Agent": "Gnus/5.13 (Gnus v5.13)", "MIME-Version": "1.0", "Content-Type": "multipart/mixed; boundary=\"=-=-=\"", "X-BeenThere": "gcc-patches@gcc.gnu.org", "X-Mailman-Version": "2.1.30", "Precedence": "list", "List-Id": "Gcc-patches mailing list <gcc-patches.gcc.gnu.org>", "List-Unsubscribe": "<https://gcc.gnu.org/mailman/options/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe>", "List-Archive": "<https://gcc.gnu.org/pipermail/gcc-patches/>", "List-Post": "<mailto:gcc-patches@gcc.gnu.org>", "List-Help": "<mailto:gcc-patches-request@gcc.gnu.org?subject=help>", "List-Subscribe": "<https://gcc.gnu.org/mailman/listinfo/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe>", "Errors-To": "gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org" }, "content": "This patch removes or replaces the remaining uses of HAVE_GNU_AS:\n\n* gcc.cc (asm_options) has a sub-spec to map the gcc -v/-w/-I options to\n their assembler equivalents. It is replaced by ASM_V_SPEC, defaulting\n to the gas version. Non-gas configurations define their own versions.\n\n* Darwin has ASM_OPTIONS which is identical to the default ASM_V_SPEC\n and can just be removed.\n\n* sol2.h currently handles -v in ASM_SPEC_BASE. I'll fully handle this\n via ASM_V_SPEC in a follow-up patch.\n\n* ia64/hpux.h guards AS_NEEDS_DASH_FOR_PIPED_INPUT with !HAVE_GNU_AS,\n but according to install.texi ia64-*-hpux* requires gas so this can\n just go.\n\n* nvptx/nvptx.h handles the mapping in ASM_SPEC. This is done in\n ASM_V_SPEC now. The nvptx as has no equivalents of -w and -I.\n\n* AIX as only supports -v and -W, so rs6000/aix.h gets a matching\n ASM_V_SPEC.\n\nOk for trunk?\n\n\tRainer", "diff": "# HG changeset patch\n# Parent 57fdbd314570a43cd237cc88aa77d09908bac9a0\nRemove HAVE_GNU_AS\n\ndiff --git a/gcc/config.in b/gcc/config.in\n--- a/gcc/config.in\n+++ b/gcc/config.in\n@@ -1610,12 +1610,6 @@\n #endif\n \n \n-/* Define to 1 if using GNU as. */\n-#ifndef USED_FOR_TARGET\n-#undef HAVE_GNU_AS\n-#endif\n-\n-\n /* Define if your system supports gnu indirect functions. */\n #ifndef USED_FOR_TARGET\n #undef HAVE_GNU_INDIRECT_FUNCTION\ndiff --git a/gcc/config/darwin.h b/gcc/config/darwin.h\n--- a/gcc/config/darwin.h\n+++ b/gcc/config/darwin.h\n@@ -663,21 +663,12 @@ extern GTY(()) int darwin_ms_struct;\n #define ASM_MMACOSX_VERSION_MIN_SPEC \" %<asm_macosx_version_min=* \"\n #endif\n \n-#if HAVE_GNU_AS\n-/* The options are added in gcc.cc for this case. */\n-#define ASM_OPTIONS \"\"\n-#else\n-/* When we detect that we're cctools or llvm as, we need to insert the right\n- additional options. Actually, currently these are the same as GAS. */\n-#define ASM_OPTIONS \"%{v} %{w:-W} %{I*}\"\n-#endif\n-\n #define AS_NEEDS_DASH_FOR_PIPED_INPUT\n \n /* Default Darwin ASM_SPEC, very simple. */\n #define ASM_SPEC \\\n \"%{static} -arch %(darwin_arch) \" \\\n-ASM_OPTIONS ASM_MMACOSX_VERSION_MIN_SPEC\n+ASM_MMACOSX_VERSION_MIN_SPEC\n \n #define ASM_DEBUG_SPEC \"\"\n #undef ASM_DEBUG_OPTION_SPEC\ndiff --git a/gcc/config/i386/darwin.h b/gcc/config/i386/darwin.h\n--- a/gcc/config/i386/darwin.h\n+++ b/gcc/config/i386/darwin.h\n@@ -105,7 +105,7 @@ along with GCC; see the file COPYING3. \n #undef ASM_SPEC\n #define ASM_SPEC \\\n \"%{static} -arch %(darwin_arch) \" \\\n- ASM_OPTIONS ASM_MMACOSX_VERSION_MIN_SPEC EXTRA_ASM_OPTS \\\n+ ASM_MMACOSX_VERSION_MIN_SPEC EXTRA_ASM_OPTS \\\n \"%{!force_cpusubtype_ALL:-force_cpusubtype_ALL} \"\n \n #undef ENDFILE_SPEC\ndiff --git a/gcc/config/ia64/hpux.h b/gcc/config/ia64/hpux.h\n--- a/gcc/config/ia64/hpux.h\n+++ b/gcc/config/ia64/hpux.h\n@@ -62,10 +62,6 @@ do {\t\t\t\t\t\t\t\\\n #undef ASM_EXTRA_SPEC\n #define ASM_EXTRA_SPEC \"%{milp32:-milp32} %{mlp64:-mlp64}\"\n \n-#ifndef HAVE_GNU_AS\n-#define AS_NEEDS_DASH_FOR_PIPED_INPUT\n-#endif\n-\n #ifndef CROSS_DIRECTORY_STRUCTURE\n #undef MD_EXEC_PREFIX\n #define MD_EXEC_PREFIX \"/usr/ccs/bin/\"\ndiff --git a/gcc/config/nvptx/nvptx.h b/gcc/config/nvptx/nvptx.h\n--- a/gcc/config/nvptx/nvptx.h\n+++ b/gcc/config/nvptx/nvptx.h\n@@ -31,9 +31,8 @@\n #define OPTION_DEFAULT_SPECS \\\n { \"arch\", \"%{!misa=*:-misa=%(VALUE)}\" }, \\\n \n-/* Assembler supports '-v' option; handle similar to\n- '../../gcc.cc:asm_options', 'HAVE_GNU_AS'. */\n-#define ASM_SPEC \"%{v}\"\n+/* Assembler only supports '-v' option. */\n+#define ASM_V_SPEC \"%{v}\"\n \n #define STARTFILE_SPEC \"%{mmainkernel:crt0.o%s}\"\n \ndiff --git a/gcc/config/rs6000/aix.h b/gcc/config/rs6000/aix.h\n--- a/gcc/config/rs6000/aix.h\n+++ b/gcc/config/rs6000/aix.h\n@@ -177,6 +177,8 @@\n #undef ASM_DEFAULT_SPEC\n #define ASM_DEFAULT_SPEC \"\"\n \n+#define ASM_V_SPEC \"%{v} %{w:-W}\"\n+\n /* Tell the assembler to assume that all undefined names are external.\n \n Don't do this until the fixed IBM assembler is more generally available.\ndiff --git a/gcc/config/sol2.h b/gcc/config/sol2.h\n--- a/gcc/config/sol2.h\n+++ b/gcc/config/sol2.h\n@@ -447,9 +447,12 @@ along with GCC; see the file COPYING3. \n #undef TARGET_ASM_ASSEMBLE_VISIBILITY\n #define TARGET_ASM_ASSEMBLE_VISIBILITY solaris_assemble_visibility\n \n-#define AS_NEEDS_DASH_FOR_PIPED_INPUT\n+/* Handled in ASM_SPEC_BASE. */\n+#define ASM_V_SPEC \"\"\n \n+#define AS_NEEDS_DASH_FOR_PIPED_INPUT\n #endif\n+\n /* Solaris has an implementation of __enable_execute_stack. */\n #define HAVE_ENABLE_EXECUTE_STACK\n \ndiff --git a/gcc/configure b/gcc/configure\n--- a/gcc/configure\n+++ b/gcc/configure\n@@ -13126,13 +13126,6 @@ cat >>confdefs.h <<_ACEOF\n _ACEOF\n \n \n-gnu_as_bool=`if test x\"$gas\" = x\"yes\"; then echo 1; else echo 0; fi`\n-\n-cat >>confdefs.h <<_ACEOF\n-#define HAVE_GNU_AS $gnu_as_bool\n-_ACEOF\n-\n-\n count=a\n for f in $host_xm_file; do\n \tcount=${count}x\ndiff --git a/gcc/configure.ac b/gcc/configure.ac\n--- a/gcc/configure.ac\n+++ b/gcc/configure.ac\n@@ -2035,9 +2035,6 @@ fi\n gnu_ld_bool=`if test x\"$gnu_ld\" = x\"yes\"; then echo 1; else echo 0; fi`\n AC_DEFINE_UNQUOTED(HAVE_GNU_LD, $gnu_ld_bool, [Define to 1 if using GNU ld.])\n \n-gnu_as_bool=`if test x\"$gas\" = x\"yes\"; then echo 1; else echo 0; fi`\n-AC_DEFINE_UNQUOTED(HAVE_GNU_AS, $gnu_as_bool, [Define to 1 if using GNU as.])\n-\n count=a\n for f in $host_xm_file; do\n \tcount=${count}x\ndiff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi\n--- a/gcc/doc/tm.texi\n+++ b/gcc/doc/tm.texi\n@@ -232,6 +232,15 @@ See the file @file{sun3.h} for an exampl\n Do not define this macro if it does not need to do anything.\n @end defmac\n \n+@defmac ASM_V_SPEC\n+A C string constant that tells the GCC driver how to translate the\n+@option{-v}, @option{-w}, and @option{-I} options into their assembler\n+equivalents.\n+\n+Only define this macro if the default, which matches GNU as, isn't\n+appropriate.\n+@end defmac\n+\n @defmac ASM_FINAL_SPEC\n A C string constant that tells the GCC driver program how to\n run any programs which cleanup after the normal assembler.\ndiff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in\n--- a/gcc/doc/tm.texi.in\n+++ b/gcc/doc/tm.texi.in\n@@ -232,6 +232,15 @@ See the file @file{sun3.h} for an exampl\n Do not define this macro if it does not need to do anything.\n @end defmac\n \n+@defmac ASM_V_SPEC\n+A C string constant that tells the GCC driver how to translate the\n+@option{-v}, @option{-w}, and @option{-I} options into their assembler\n+equivalents.\n+\n+Only define this macro if the default, which matches GNU as, isn't\n+appropriate.\n+@end defmac\n+\n @defmac ASM_FINAL_SPEC\n A C string constant that tells the GCC driver program how to\n run any programs which cleanup after the normal assembler.\ndiff --git a/gcc/gcc.cc b/gcc/gcc.cc\n--- a/gcc/gcc.cc\n+++ b/gcc/gcc.cc\n@@ -709,6 +709,12 @@ proper position among the other output f\n #define ASM_SPEC \"\"\n #endif\n \n+/* config.h can define ASM_V_SPEC to pass equivalents of -v, -w (no warnings),\n+ and -I to the assembler. */\n+#ifndef ASM_V_SPEC\n+#define ASM_V_SPEC \"%{v} %{w:-W} %{I*}\"\n+#endif\n+\n /* config.h can define ASM_FINAL_SPEC to run a post processor after\n the assembler has run. */\n #ifndef ASM_FINAL_SPEC\n@@ -1327,12 +1333,8 @@ static const char *cc1_options =\n \n static const char *asm_options =\n \"%{-target-help:%:print-asm-header()} \"\n-#if HAVE_GNU_AS\n-/* If GNU AS is used, then convert -w (no warnings), -I, and -v\n- to the assembler equivalents. */\n-\"%{v} %{w:-W} %{I*} \"\n-#endif\n-\"%(asm_debug_option)\"\n+ASM_V_SPEC\n+\" %(asm_debug_option)\"\n ASM_COMPRESS_DEBUG_SPEC\n \"%a %Y %{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}\";\n \n", "prefixes": [ "1/6" ] }