On 15/03/2016 20:02, David Tiller wrote: > I might be off-base here, but shouldn't programs be compiled to match the > soft/hard floating point compilation options of the OS itself? That used to > be the case, anyway. That might explain why Pavel can use hard FP and you > can't. That's not quite correct David. The operating system probably doesn't use the FPU and certainly doesn't care if an individual process makes use of it or not. The issues are:
1) A generic program that is intended to be portable to all systems of a particular architecture including ones without a hardware FPU must be built with software floating point hardware emulations. 2) A program built for a specific ARM system that has an FPU using the GNU compiler tool chains may choose to use the so-called 'softfp' FP ABI that uses the same calling convention as the software FPU emulations, this allows the program to use libraries that are built generically i.e. with the software floating point hardware emulation. Alternatively they may be built with the hardware only FPU calling conventions which are most efficient but can only be used if all parts of the program including libraries are also using the hardware FPU calling convention. What you say is true if the libraries that a program uses are considered to be part of the operating system itself but with Linux that is not the case. The grey area is the Standard C/C++/Fortran libraries but these are usually cleverly coded to be compatible with programs with up to all three possible FP ABIs (See below). For Debian based ARM Linux systems there are two variants, 'armel' and 'armhf'. 'armel' which Clemens has only supports the 'soft' and 'softfp' ABIs for library calls of emulated hardware FPU and hardware FPU access respectively. The newer 'armhf' system builds support all three by adding support for the most efficient direct hardware FPU ABI i.e. the compiler emits direct calls to the FPU hardware. So summarizing, Clemens appears to have an 'armel' operating system build that does not support the 'hard' FP ABI library calls and Pavel probably has an 'armhf' system build that supports all three types of library calls, so long as all code in a program is compiled with the matching ABI option. The 'softfp' and 'hard' ABIs are not "link compatible" so all libraries and other program code must use the same FP ABI. The 'hard' FP ABI is only usable on 'armhf' Debian based system builds. 73 Bill G4WJS. ------------------------------------------------------------------------------ Transform Data into Opportunity. Accelerate data analysis in your applications with Intel Data Analytics Acceleration Library. Click to learn more. http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140 _______________________________________________ wsjt-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/wsjt-devel
