From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 43660 invoked by alias); 25 Oct 2016 11:46:47 -0000 Mailing-List: contact gnu-gabi-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Post: List-Help: List-Subscribe: Sender: gnu-gabi-owner@sourceware.org Received: (qmail 43622 invoked by uid 89); 25 Oct 2016 11:46:46 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Checked: by ClamAV 0.99.2 on sourceware.org X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.2 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 spammy=Property, assess, consumed, recognised X-Spam-Status: No, score=-3.2 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on sourceware.org X-Spam-Level: X-HELO: mailapp01.imgtec.com Date: Fri, 01 Jan 2016 00:00:00 -0000 From: "Maciej W. Rozycki" To: "H.J. Lu" CC: Carlos O'Donell , , Nick Clifton Subject: Re: RFC: Program Properties In-Reply-To: Message-ID: References: <969fb6da-f13c-eb14-3e53-94a594384518@redhat.com> User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" X-Originating-IP: [10.20.78.214] X-SW-Source: 2016-q4/txt/msg00023.txt.bz2 On Mon, 17 Oct 2016, H.J. Lu wrote: > > 4. A reject flag: if such annotated the ABI flag requires explicit support > > (special handling beyond the three variants above) and linking fails if > > it is set in any input object and the linker does know this ABI flag. > > "reject" isn't very clear. Is "mandatory" better? Such property seen by the component addressed (be it the static linker, dynamic loader or OS kernel) would cause the binary to be rejected unless already explicitly recognised by the component. Or IOW unknown such properties would be rejected and known ones handled as required. Hence the name proposed. That written, having thought about it some more, I think we don't actually need such an explicit flag as I think we can reasonably set this semantics as the default. That is any unknown property *not* annotated with one of the known flags would be rejected, making an explicit "reject" flag redundant. > > Such annotation would of course have to be consistent across input files. > > > > Such ABI flag flags would allow ABIs to define new ABI flags processed > > automatically in static linking without the need to upgrade the linker > > each time a flag is added. > > > > Thoughts? > > Property values can be divided into ranges of different rules, including > rules which differ from above. I'm not sure defining fixed ranges has an advantage over using property annotation. I think it's hard to assess beforehand how many values we may need in each range and if we make a range allocated too narrow, then we risk running out of entries within, whereas if we make one too broad, then we risk running out of the allocation space. On the other hand by using explicit property annotation we will only have consumed as much of the allocation space as has actually been defined at any point in time. Have I missed anything? Maciej