From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/3906 Path: news.gmane.org!not-for-mail From: Strake Newsgroups: gmane.linux.lib.musl.general Subject: Re: Build system adjustments for subarchs Date: Wed, 14 Aug 2013 19:55:25 -0500 Message-ID: References: <20130814010617.GA16011@brightrain.aerifal.cx> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1376528136 22435 80.91.229.3 (15 Aug 2013 00:55:36 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 15 Aug 2013 00:55:36 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-3910-gllmg-musl=m.gmane.org@lists.openwall.com Thu Aug 15 02:55:39 2013 Return-path: Envelope-to: gllmg-musl@plane.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by plane.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1V9lqk-0003dQ-6r for gllmg-musl@plane.gmane.org; Thu, 15 Aug 2013 02:55:38 +0200 Original-Received: (qmail 28574 invoked by uid 550); 15 Aug 2013 00:55:37 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Original-Received: (qmail 28566 invoked from network); 15 Aug 2013 00:55:36 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; bh=LDjUVVG+CZgzXGpF4ImQ1Rdkv/KENN6BhhK4S002qbk=; b=imYNFTgjWXigj92IIRuOwpVnzK+ONv82NNsa59tgQDzWR0cwvyRJ8v1aPEyrYjg6bZ hdbwfES9lHZEh9itgL+wQ/Ai1khD3E7YcIJ5sC0yeD2Kicx3u+HEda2OCPxaOiUvVYoI zVadVew6vVEqBj3GiaH7A90eZndFRszazYAZsmsWtlZfzDc66Jmq9s0gKWI2uFYPWMjL Z2nLXI5S8kBl3gtna0SzRMgZQANnowvLhqon5b2rVHQ+48sn490TJYG+ATxvd8Ct6ep6 T+FF4PI/5OTwCo+q+baQBd9xcrCnTa4OBL+/W6RM6VnEzDBiJgIBGB4f0K7hvTyUh80R dygw== X-Received: by 10.180.126.97 with SMTP id mx1mr253491wib.10.1376528125357; Wed, 14 Aug 2013 17:55:25 -0700 (PDT) In-Reply-To: <20130814010617.GA16011@brightrain.aerifal.cx> Xref: news.gmane.org gmane.linux.lib.musl.general:3906 Archived-At: On 13/08/2013, Rich Felker wrote: > The current system searches for arch-specific asm in this order: > > 1. $(ARCH)$(ASMSUBARCH)/%.s, where ASMSUBARCH for the default subarch > is not blank but rather a unique suffix (for plain arm, it's "el"). > This allows having asm that applies only to the default subarch but > not others. > > 2. $(ARCH)/%.s, for shared asm used by all subarchs. > > 3. %.c, the C fallback (which is empty for code that cannot be > implemented at all in C). Another option: Each arch has properties, which each take a value in a set; these sets are mutually exclusive, and all the values in each set have the same length. The properties have a well-defined order. The build system parses each directory name as an arch name and a list of properties, and chooses the most specific match; if no match, it uses the C code. > Unfortunately, this still provides no way to include asm that's used > by both soft and hardfloat little-endian, or both little- and > big-endian hardfloat, without having, for example: > > - armel/%.s and armhf/%.s as duplicate files or symlinked > - armhf/%.s and armebhf/%.s as duplicate files or symlinked Thus arm would have 2 properties: byte order =E2=88=88 { "eb", "el" } float hardness =E2=88=88 { "hf", "sf" } asm used by both soft- and hard-float little-endian: armel/%.s asm used by both little- and big-endian hard-float: armhf/%.s asm used by little-endian hard-float: armelhf/%.s