|
Message-ID: <CAL3m8eCNKtvh9FGzp1AT_5bpDt37hh_fX3vw+WjktBmsb3nsiA@mail.gmail.com> Date: Wed, 14 Aug 2013 19:55:25 -0500 From: Strake <strake888@...il.com> To: musl@...ts.openwall.com Subject: Re: Build system adjustments for subarchs On 13/08/2013, Rich Felker <dalias@...ifal.cx> 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 ∈ { "eb", "el" } float hardness ∈ { "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
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.