I use fpcup to build Lazarus+FPC for windows32 and for windows 64 bit
I have identical x86_64-linux binutils and indentical libs (from debian Jessie 64 bit)
My fpcup settings settings.ini
[windows32]
fpcdir=d:\developmentX32\fpc
fpcurl=http://svn.freepascal.org/svn/fpc/trunk
lazdir=d:\developmentX32\lazarus
lazurl=http://svn.freepascal.org/svn/lazarus/trunk/
primary-config-path=d:\developmentX32\configlazarus
binutilsdir=d:\developmentX32\fpcbootstrap
fpcbootstrapdir=d:\developmentX32\fpcbootstrap
noconfirm=true
keeplocalchanges=true
only=FPC,lazarus,lazbuild
[windows32_linux_x86_64]
fpcopt="-g -gl -O1"
lazopt="-g -gl -O1"
fpcdir=d:\developmentX32\fpc
fpcurl=http://svn.freepascal.org/svn/fpc/trunk
binutilsdir=d:\developmentX32\fpcbootstrap
fpcbootstrapdir=d:\developmentX32\fpcbootstrap
cputarget=x86_64
ostarget=linux
verbose=1
only=FPCCleanOnly,FPCBuildOnly
[windows64]
fpcdir=d:\developmentX64\fpc
fpcurl=http://svn.freepascal.org/svn/fpc/trunk
lazdir=d:\developmentX64\lazarus
lazurl=http://svn.freepascal.org/svn/lazarus/trunk/
primary-config-path=d:\developmentX64\configlazarus
binutilsdir=d:\developmentX64\fpcbootstrap
fpcbootstrapdir=d:\developmentX64\fpcbootstrap
noconfirm=true
keeplocalchanges=true
only=FPC,lazarus,lazbuild
[windows64_linux_x86_64]
fpcopt="-g -gl -O1"
lazopt="-g -gl -O1"
fpcdir=d:\developmentX64\fpc
fpcurl=http://svn.freepascal.org/svn/fpc/trunk
binutilsdir=d:\developmentX64\fpcbootstrap
fpcbootstrapdir=d:\developmentX64\fpcbootstrap
cputarget=x86_64
ostarget=linux
verbose=1
only=FPCCleanOnly,FPCBuildOnly
I created new application and compile it on win32 and win64 cross to linux_x86_64
In both lazarus version cross compilation works OK to linux_x86_64 .
But only from 32bits (win32) lazarus application works OK,
When I try run application created from (win64) lazarus
I see on linux console:
x@debian:~$ ./project2
[FORMS.PP] ExceptionOccurred
Sender=EInvalidOp
Exception=Invalid floating point operation
Stack trace:
$00000000005A1EF1 line 1043 of gtk2/gtk2widgetset.inc
$00000000004550F4 line 444 of include/application.inc
$000000000041E1A1 line 17 of project2.lpr
TApplication.HandleException Invalid floating point operation
Stack trace:
$00000000005A1EF1 line 1043 of gtk2/gtk2widgetset.inc
$00000000004550F4 line 444 of include/application.inc
$000000000041E1A1 line 17 of project2.lpr
Exception at 00000000005A1EF1: EInvalidOp:
Invalid floating point operation.
ldd return identical result for both files
readelf return identical result for both files
size is identical