From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com [IPv6:2a00:1450:4864:20::631]) by sourceware.org (Postfix) with ESMTPS id 6B5EC3857C44 for ; Wed, 7 Jul 2021 09:58:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 6B5EC3857C44 Received: by mail-ej1-x631.google.com with SMTP id c17so2294035ejk.13 for ; Wed, 07 Jul 2021 02:58:27 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=V/6yX1Obny03w6GPtcxKZwHyTpj2qEBkXHVSvI8c/IM=; b=WA/4/pBbWi2Je1Pz/dzHGbPKv6wEt7BdfeYKCfRwHeq/8EfAmh9ICuQtZt+qAda/cy vgnN6nGaxASOTBtnnSSc2W1rHJcoFhYWo/qiOhSWrm1VksOujDpX8N0Am79Zwk1pEDHJ 1ld1UkwdqhNHPsv2W7ZzdhAdNbqnUNr29BM7AWPgPzCTTBKkOcehPZ2CX3fKWOgrqPJQ eHlEA8q4/n0uOHBt9ALZbtU80aJfn3VesvB777AV4eCH+GZwr+Ja4UMoxgdkagGJV0xV yK4jpQt+qdBq6QIYfNlbQF/dnrKqshtIiLIFrC5wMvN7NzZrfn2+W/wlXtmyTrwI5VRS DXbw== X-Gm-Message-State: AOAM532gYkZuG3i5Cz8r6ygGEiYOd0BjH1E2QpV5YVj8P96e/Kt7Tp/I kFt/oIy/tgwcrZGtFWpDBB8FmXgRaJtsbaZ+kf4= X-Google-Smtp-Source: ABdhPJxGq31tdFEwKI+hwWqT5dmRXZcEj2BoxKLgUctsXUn1iAPxLjb7Cy2IEgjb+TDxwFjCLYdsgUTTZmHPcH8Hk3k= X-Received: by 2002:a17:907:3f05:: with SMTP id hq5mr10291819ejc.235.1625651906519; Wed, 07 Jul 2021 02:58:26 -0700 (PDT) MIME-Version: 1.0 References: <875yxmbiu3.fsf@oldenburg.str.redhat.com> In-Reply-To: From: Richard Biener Date: Wed, 7 Jul 2021 11:58:15 +0200 Message-ID: Subject: Re: GCC arc port defaults to -fcommon To: Florian Weimer Cc: GCC Development , Joern Wolfgang Rennecke , Claudiu Zissulescu Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-8.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jul 2021 09:58:29 -0000 On Wed, Jul 7, 2021 at 11:56 AM Richard Biener wrote: > > On Wed, Jul 7, 2021 at 11:00 AM Florian Weimer via Gcc wrote: > > > > It seems to me that the arc port still defaults to -fcommon, presumably > > due to this in gcc/common/config/arc/arc-common.c: > > > > static void > > arc_option_init_struct (struct gcc_options *opts) > > { > > opts->x_flag_no_common = 255; /* Mark as not user-initialized. */ > > > > /* Which cpu we're compiling for (ARC600, ARC601, ARC700, ARCv2). */ > > arc_cpu = PROCESSOR_NONE; > > } > > > > Is that really necessary? Is -fno-common broken on arc? > > It seems arc has -fcommon dependent on !TARGET_NO_SDATA_SET > but it should use global_options_set.x_flag_no_common instead of > such magic value. So sth like this (untested): diff --git a/gcc/common/config/arc/arc-common.c b/gcc/common/config/arc/arc-common.c index 6a119029616..c8ac7471744 100644 --- a/gcc/common/config/arc/arc-common.c +++ b/gcc/common/config/arc/arc-common.c @@ -32,8 +32,6 @@ along with GCC; see the file COPYING3. If not see static void arc_option_init_struct (struct gcc_options *opts) { - opts->x_flag_no_common = 255; /* Mark as not user-initialized. */ - /* Which cpu we're compiling for (ARC600, ARC601, ARC700, ARCv2). */ arc_cpu = PROCESSOR_NONE; } diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c index 69f6ae464e1..b9097b11835 100644 --- a/gcc/config/arc/arc.c +++ b/gcc/config/arc/arc.c @@ -1440,7 +1440,7 @@ arc_override_options (void) if (flag_pic) target_flags |= MASK_NO_SDATA_SET; - if (flag_no_common == 255) + if (!global_options_set.x_flag_no_common) flag_no_common = !TARGET_NO_SDATA_SET; /* Check for small data option */ > > I plan to switch glibc to build with -fno-common unconditionally, for > > all GCC versions and architectures, and I wonder if that would be a > > blocker. > > > > Thanks, > > Florian > >