[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