[lsb-discuss] appchk - command line processing

Robert Schweikert robert.schweikert at mathworks.com
Fri Jun 29 09:11:40 PDT 2007

Nick Stoughton wrote:
> On Thu, 2007-06-28 at 15:06 -0400, Robert Schweikert wrote:
>> <snip>
> To conform, your application must run with equivalent functionality on
> all 486 and up. It can contain SSE2 instructions, so long as there is a
> path for lesser processors to avoid those advanced instructions.
> The IA32 spec says, in 8.1.1, "Only the features of the Intel486
> processor instruction set may be assumed to be present. An application
> should determine if any additional instruction set features are
> available before using those additional features. If a feature is not
> present, then a conforming application shall not use it."
Ooops, big surprise on my part. Most people will not read this, I am 
prove of that. Thus we should test this somehow, yes this will be very 
difficult. Or we provide a different way (see below).

What this means is that LSB certification on x86 will most likely be out 
of the question for most HPC apps. The reason is that generating code 
for both 486 and P4 or better in the same binary generally bloats the 
object code to an unacceptable size.

I think the LSB should provide a mechanism for ISVs to restrict the 
instruction set, such as "Our app only runs on P4 and better" and still 
be LSB compliant. For HPC applications it simply makes no sense to 
generate a binary which runs on hopelessly out dated hardware. While 
some HPC apps will probably drop 32 bit support in the not too distant 
future others will continue support. In practice no user of these apps 
has a 486 machine either.


Robert Schweikert                       MAY THE SOURCE BE WITH YOU
(robert.schweikert at mathworks.com)                 LINUX
The MathWorks Inc.
Phone : 508-647-2042

More information about the lsb-discuss mailing list