Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 12 Jun 2017 09:28:52 -0400
From: David Edelsohn <>
Subject: Re: [PATCH] s390x: Add single instruction math functions

On Mon, Jun 12, 2017 at 5:03 AM, Szabolcs Nagy <> wrote:
> * David Edelsohn <> [2017-06-11 22:46:09 -0400]:
>> On Sun, Jun 11, 2017 at 6:19 AM, Szabolcs Nagy <> wrote:
>> > * Rich Felker <> [2017-06-10 22:20:44 -0400]:
>> >> On Sat, Jun 10, 2017 at 05:48:05PM -0400, David Edelsohn wrote:
>> >> > When I worked with Bobby Bingham to create the s390x port of Musl, I
>> >> > said that he could assume newer processors.  Also, I don't believe
>> >> > that LLVM supports the earlier processors.  I believe that he assumed
>> >> > some more recent instructions in other parts of the code.
>> >>
>> >> That seems doubtful; the amount of asm in musl is minimal and unlikely
>> >> to benefit from later ISA levels; all the instructions I see look like
>> >> very basic stuff that would always have been available.
>> >>
>> >> Now, what likely is accurate is your claim that nobody is using musl
>> >> on lower ISA levels, so maybe it doesn't matter.
>> >
>> > well i am using s390x musl with lower isa level for compile tests
>> >
>> > and it seems gas rejects unrecognized opcodes so the new inline
>> > asm does not compile for me.
>> >
>> > i think either musl configure should make sure the cc targets
>> > the right isa level or the code should handle it with ifdefs
>> I have asked the IBM toolchain team how to distinguish the
>> architecture level at compile time, or at least distinguish support
>> for the FP rounding instruction.
>> Are you actually running s390x musl on a system earlier than z196
>> architecture level?  The public IBM LinuxONE Cloud is running on a z13
>> system, many generations newer than even z196.
> no, i only have a cross compiler, but since the toolchain build script
> uses default settings i get z900 arch, if that's not good then gcc
> config default should be fixed for musl.
>> The following IBM table of supported and tested systems
>> shows that RHEL 7 and SLES 12 require at least z196, and Ubuntu 16.04
>> requires at least zEC12.
>> I can't find any official hardware requirements description for Alpine
>> Linux. I tend to doubt that user would run it on older hardware,
>> especially hardware no longer supported by other, modern Linux
>> distributions.
>> Building musl libc on older hardware is a nice accomplishment, but
>> investing effort and complexity to maintain support probably isn't
>> useful to any musl libc user and probably isn't a productive use of
>> developer resources.
>> I will continue to inquire if there is a simple technique to accomplish this.

Apparently GCC 7.1 added architecture macros.

As Tuan referenced, Alpine Linux also requires z196 as the minimum
architecture level.  I believe that it would be better for s390-musl
to default to z196 ISA than musl to require GCC 7.1.

Thanks, David

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.