From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 44609 invoked by alias); 16 May 2019 23:39:04 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 44601 invoked by uid 89); 16 May 2019 23:39:04 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-2.9 required=5.0 tests=AWL,BAYES_00,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=no version=3.3.1 spammy=cascade, attitude, H*u:en-US, H*UA:en-US X-HELO: mail-oi1-f194.google.com Received: from mail-oi1-f194.google.com (HELO mail-oi1-f194.google.com) (209.85.167.194) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 16 May 2019 23:39:02 +0000 Received: by mail-oi1-f194.google.com with SMTP id 203so3842681oid.13 for ; Thu, 16 May 2019 16:39:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:date:from:reply-to:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-transfer-encoding; bh=fN3jvtz1BPV5MSB6G+gK/Qe8+Ri8OnSbM4YfQyCkhyg=; b=j+SyIzQpCVCwKXJzpEBLcGXyhtOrHDGqfPaFvI3CqaKp1YZlca1/ibI3FqxA6Wv5GE i1Xv2pMQMU5IUs8kH1PN/idsaJqRAQKbxZtCHZbpYw+9veWuqhN2rrl3n0yCN3jfvxRD XtPco97D0g4V5JMXmsPMXcZMVYd4jC10/mF8hiMrSjYFN8wjQpjhgaVFehHJKmK1pgwG QgCCSSYQXOrc+d8GBpHpiZAE3BLPZv+5WQgOEOVlyWqekOt6bwK11HlQl8gJLQqoMxhE o5vfo/BHcLmcqj58mQBH1QwL08rJPNl2eUKUwhtjPeEI7r0xNkFeAuJzGCtDxCyZPhGw RvGw== Return-Path: Received: from [192.168.2.42] (adsl-70-133-146-127.dsl.ablntx.sbcglobal.net. [70.133.146.127]) by smtp.gmail.com with ESMTPSA id 38sm2544238otv.3.2019.05.16.16.38.59 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 16 May 2019 16:39:00 -0700 (PDT) Message-ID: <5CDDF492.5010308@gmail.com> Date: Thu, 16 May 2019 23:39:00 -0000 From: Jacob Bachmeyer Reply-To: jcb62281@gmail.com User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.22) Gecko/20090807 MultiZilla/1.8.3.4e SeaMonkey/1.1.17 Mnenhy/0.7.6.0 MIME-Version: 1.0 To: "Maciej W. Rozycki" CC: "gcc-patches@gcc.gnu.org" , "dejagnu@gnu.org" , Pierre-Marie de Rodat , Arnaud Charlet , Eric Botcazou Subject: Re: [PATCH 3/3][DejaGNU] target: Wrap linker flags into `-largs'/`-margs' for Ada References: <5CDCA82D.8090204@gmail.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2019-05/txt/msg01019.txt.bz2 Maciej W. Rozycki wrote: > On Wed, 15 May 2019, Jacob Bachmeyer wrote: > >> This patch really exposes a significant deficiency in our current >> implementation of default_target_compile: the order of various flags >> can be significant, but we only have that order implicitly expressed in >> the code, which goes all the way back to (of course) the "Initial >> revision" that is probably from a time before Tcl had the features that >> will allow significant cleanup in here. >> > > I suspect the origins may be different, however as valuable as your > observation is functional problems have precedence over issues with code > structuring, so we need to fix the problem at hand first. I'm sure > DejaGNU maintainers will be happy to review your implementation of code > restructuring afterwards. > My concern is that your patch may only solve a small part of the problem -- enough to make your specific case work, yes, but then someone else will hit other parts of the problem later and we spiral towards "tissue of hacks" unmaintainability. The biggest hint to me that your patch is incomplete is that it only adds -largs/-margs to wrap LDFLAGS. I suspect that there are other -?args options that should be used also with other flag sets, but those do not appear in this patch. Do we know what the GNU Ada frontend actually expects? >> Some of these could probably be combined and I may have combined >> categories that should be separate in the above list. The GNU toolchain >> has always been a kind of "magic box that just works" (until it doesn't >> and the manual explains the problem) for me, so I am uncertain what the >> ordering rules for combining these categories should be. Anyone know >> the traditional rules and, perhaps more importantly, what systems need >> which rules? >> > > The ordering rules are system-specific I'm afraid and we have to be > careful not to break working systems out there. People may be forced to a > DejaGNU upgrate, due to a newer version of a program being tested having > such a requirement, and can legitimately expect their system to continue > working. > We can start by simply preserving the existing ordering until we know something should change, but the main goal of my previous message was to collect the requirements for a specification for default_target_compile so I can write regression tests (some of which will fail due to known bugs like broken Ada support in our current implementation) before embarking on extensive changes to that procedure. Improving "target.test" was already on my local TODO list. > NB I have been repeatedly observing cases where a forced upgrade of a > system component I neither care nor I am competent about, triggered by an > upgrade of a component I do care about, caused the system to malfunction > in a way that I find both unacceptable and extremely hard to debug. It > seems to have become more frequent in the recent years, and I find this > both very frustrating and have wasted lots of time trying to fix the > damage caused. I would therefore suggest to take all the measures > possible to save people from going through such an experience. > Yes, I have also noticed an attitude that can be summed up as "Who cares about backwards compatibility? New! Shiny!" usually from people who have no clue and no business being anywhere near a source editor. (Surprise! Their code has lots of bugs, usually severe, too.) The problem is not new -- jwz called it out as the "Cascade of Attention-Deficit Teenagers" model, noting that it seemed to particularly plague GNOME, long ago. Unfortunately, people with that particular attitude seem to have acquired outsize influence over the last few years. I would suspect an organized attack if I were more conspiracy-oriented, but Hanlon's razor strongly suggests that this is simply a consequence of lowering barriers to entry. -- Jacob