[fpc-devel] 64 bit version problem

Miklos Cserzo cserzo at puskin.sote.hu
Tue Jan 29 17:16:10 CET 2008


Hi Folks,

here goes the summary of the story:

The task: compiling the same source in 32 and 64 bit environment using 
FPC ver. 2.2.0 and compare the results. In ideal case the results should 
be the same. I hit the several bugs during this test.

1) - the available 32-bit and 64-bit RPM distributions can not be 
installed in parallel from the web sites as they are called on the same 
name. So the package manager module of openSUSE 10.3 thinks they are the 
same and installation of the one will overwrite the other. A different 
package name should solve this problem easily.

2) - when the concurrent installation of the two versions of the 
complier is solved users can control the type of the generated binaries 
by the '-P' switch of the complier. This switch is not mentioned in the 
documentation at all.

3) - the internal assembler is broken in the 64-bit version and the 
'-Aas' switch should be applied (apparently this is a known problem but 
  undocumented on the official site).

4) - the 'random' library function is broken in the 64-bit variant. 
Accessing it in the 'random(i)' form is fine but the list returned by 
the 'random' form (i.e. list of real numbers) is incorrect. Both usage 
are correct under the 32-bit conditions.

5) - considering the two versions of a source that will not hit this bug 
the generated 32-bit executable runs much faster than its 64-bit 
equivalent. That indicates the general weakness of the 64-bit platform 
support.

That's it for now and thanks to Jonas for the hints, cheers,

miklos




More information about the fpc-devel mailing list