Re: [fpc-devel] targetandroid - can't build for armv7, hangs on pooledmm.pp
At least after removing -mfloat-abi=hard it compiles through here. (make clean crosszipinstall OS_TARGET=android CPU_TARGET=arm CROSSOPT=-Cfvfpv3 -mfloat-abi=soft -Cparmv7 FPC=i386-linux-ppc386 BINUTILSPREFIX=arm-linux-androideabi-) Does not compile on windows, though. What are you using as the base compiler, 2.6.0 (in conjunction with targetandroid\fpcmake) or current trunk (2.7.1)? I'll try on linux then. For linux you can use -dFPC_ARMHF when building the compiler to select the armhf variant which defaults to armv7-a, vfpv3_d16 and hard float abi. I'll try that. Same question: 2.6.0 or 2.7.1 as base compiler? ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] targetandroid - can't build for armv7, hangs on pooledmm.pp
At least after removing -mfloat-abi=hard it compiles through here. (make clean crosszipinstall OS_TARGET=android CPU_TARGET=arm CROSSOPT=-Cfvfpv3 -mfloat-abi=soft -Cparmv7 FPC=i386-linux-ppc386 BINUTILSPREFIX=arm-linux-androideabi-) Does not compile on windows, though. What are you using as the base compiler, 2.6.0 (in conjunction with targetandroid\fpcmake) or current trunk (2.7.1)? I'll try on linux then. For linux you can use -dFPC_ARMHF when building the compiler to select the armhf variant which defaults to armv7-a, vfpv3_d16 and hard float abi. I'll try that. Same question: 2.6.0 or 2.7.1 as base compiler? ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] targetandroid - can't build for armv7, hangs on pooledmm.pp
Hi, On Thu, 2012-08-02 at 09:36 +0200, Dennis Spreen wrote: At least after removing -mfloat-abi=hard it compiles through here. (make clean crosszipinstall OS_TARGET=android CPU_TARGET=arm CROSSOPT=-Cfvfpv3 -mfloat-abi=soft -Cparmv7 FPC=i386-linux-ppc386 BINUTILSPREFIX=arm-linux-androideabi-) Does not compile on windows, though. What are you using as the base compiler, 2.6.0 (in conjunction with targetandroid\fpcmake) or current trunk (2.7.1)? I'll try on linux then. I'm starting from Linux i386 with a 2.6.0 release compiler as base compiler. Maybe you can pass FPMAKEOPT=-v (verbose mode) or FPMAKEOPT=-v -l (verbose + do not actually execute the command lines) to see where it hangs? The targetandroid branch fpc tools (fpcmake, ..) must be available because the regular release/trunk ones do not know the arm-android target. I.e. first compile the targetandroid branch with a regular zipinstall or whatever and copy over the resulting fpcmake etc. I can provide you with an i386-linux to arm-android crosscompiler (make crosszipinstall) with any options you want if really needed. I cannot create (and honestly never did) a Windows build due to lack of OS. For linux you can use -dFPC_ARMHF when building the compiler to select the armhf variant which defaults to armv7-a, vfpv3_d16 and hard float abi. I'll try that. Same question: 2.6.0 or 2.7.1 as base compiler? Note that this is about building an arm/linux compiler, not arm/android. So this maybe only works on trunk until latest changes are merged from trunk. You can try though. You should always use latest release (i.e. 2.6.0 currently) to start compilation and this is what's typically tested. Thomas ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] targetandroid - can't build for armv7, hangs on pooledmm.pp
I've tested the new targetandroid branch, and by using fpc 2.6.0 and making a new fpcmake (taken from the targetandroid branch), I'm able to compile for armv5: make crossinstall OS_TARGET=android CPU_TARGET=arm CROSSOPT=-CfSOFT -Cparmv5t -mfloat-abi=soft CROSSBINDIR=%ANDROID_BIN_ARM% BINUTILSPREFIX=arm-linux-androideabi- Works well. But if I'm using CROSSOPT=-CfVFPV3 -Cparmv7 -mfloat-abi=hard it hangs during compilation of fcl-base: start compiling package fcl-base for target arm-android. Compiling fcl-base\BuildUnit_fcl_base.pp Compiling .\fcl-base\src\ascii85.pp Compiling .\fcl-base\src\avl_tree.pp Compiling .\fcl-base\src\base64.pp Compiling .\fcl-base\src\blowfish.pp Compiling .\fcl-base\src\bufstream.pp Compiling .\fcl-base\src\cachecls.pp Compiling .\fcl-base\src\contnrs.pp Compiling .\fcl-base\src\custapp.pp Compiling .\fcl-base\src\eventlog.pp Compiling .\fcl-base\src\fptimer.pp Compiling .\fcl-base\src\gettext.pp Compiling .\fcl-base\src\idea.pp Compiling .\fcl-base\src\inifiles.pp Compiling .\fcl-base\src\inicol.pp Compiling .\fcl-base\src\iostream.pp Compiling .\fcl-base\src\libtar.pp Compiling .\fcl-base\src\maskutils.pp Compiling .\fcl-base\src\pooledmm.pp and now it hangs. Does not make any difference if targetandroid branch compiler used for the make crossinstall, or the current trunk\. Any clues what I've missed there? Regards, Dennis ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] targetandroid - can't build for armv7, hangs on pooledmm.pp
Hi, On Tue, 2012-07-31 at 14:20 +0200, Dennis Spreen wrote: I've tested the new targetandroid branch, and by using fpc 2.6.0 and making a new fpcmake (taken from the targetandroid branch), I'm able to compile for armv5: make crossinstall OS_TARGET=android CPU_TARGET=arm CROSSOPT=-CfSOFT -Cparmv5t -mfloat-abi=soft CROSSBINDIR=%ANDROID_BIN_ARM% BINUTILSPREFIX=arm-linux-androideabi- Works well. But if I'm using That's what's mostly been tested and works as you found out. CROSSOPT=-CfVFPV3 -Cparmv7 -mfloat-abi=hard Last time I tried compiling with -Cfvfpv2 or 3 the compiler did not cycle, so I could not test further. Has been some time, and this was native compilation. I think -mfloat-abi does nothing, but maybe that changed recently - there have been many, many changes to the ARM support recently. Further I am actually surprised that there is hardfp support for fpc. If so, it is probably in a somewhat experimental state too. Note that the second android fp ABI is still softfloat, although you can use the vfp registers. I.e. -Cvfpv3(d16) is the only switch you can use, in conjunction with -Cfsoft. (and add -Cparmv7). Note that the other android fp ABI is still softfloat, although you can use the vfp registers. I.e. -Cvfpv3(d16) is the only switch you should use as fp related options. it hangs during compilation of fcl-base: start compiling package fcl-base for target arm-android. Compiling fcl-base\BuildUnit_fcl_base.pp Compiling .\fcl-base\src\ascii85.pp Compiling .\fcl-base\src\avl_tree.pp Compiling .\fcl-base\src\base64.pp Compiling .\fcl-base\src\blowfish.pp Compiling .\fcl-base\src\bufstream.pp Compiling .\fcl-base\src\cachecls.pp Compiling .\fcl-base\src\contnrs.pp Compiling .\fcl-base\src\custapp.pp Compiling .\fcl-base\src\eventlog.pp Compiling .\fcl-base\src\fptimer.pp Compiling .\fcl-base\src\gettext.pp Compiling .\fcl-base\src\idea.pp Compiling .\fcl-base\src\inifiles.pp Compiling .\fcl-base\src\inicol.pp Compiling .\fcl-base\src\iostream.pp Compiling .\fcl-base\src\libtar.pp Compiling .\fcl-base\src\maskutils.pp Compiling .\fcl-base\src\pooledmm.pp and now it hangs. Does not make any difference if targetandroid branch compiler used for the make crossinstall, or the current trunk\. Any clues what I've missed there? At least after removing -mfloat-abi=hard it compiles through here. (make clean crosszipinstall OS_TARGET=android CPU_TARGET=arm CROSSOPT=-Cfvfpv3 -mfloat-abi=soft -Cparmv7 FPC=i386-linux-ppc386 BINUTILSPREFIX=arm-linux-androideabi-) There is another recent compiler switch to pass options to the assembler (you want -march=armv7a to avoid some warnings) to the assembler, but atm I do not remember. Maybe somebody else can help? Note that the targetandroid branch may not support these options yet. I will merge from trunk again soon'ish. Thomas ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] targetandroid - can't build for armv7, hangs on pooledmm.pp
Thomas Schatzl wrote: Last time I tried compiling with -Cfvfpv2 or 3 the compiler did not cycle, so I could not test further. Has been some time, and this was native compilation. Last I heard cycling goes fine but FPU options don't get passed down to other parts of the build process leading to failures if the selected fpu type does not match the default for the OS and variant in question. I imagine you would have similar problems setting the ABI manually (although I don't know if there is a trap to catch people who do that or if the compiler will carry on blindly doing the wrong thing) I think -mfloat-abi does nothing, but maybe that changed recently - there have been many, many changes to the ARM support recently. Further I am actually surprised that there is hardfp support for fpc. There is hardfloat support in freepascal trunk but unless something has changed recently I doubt a c style -mfloat-abi will activate it. IIRC the fpc option you need for the hardfloat ABI is -CaEABIHF. For linux you can use -dFPC_ARMHF when building the compiler to select the armhf variant which defaults to armv7-a, vfpv3_d16 and hard float abi. If so, it is probably in a somewhat experimental state too. well it works well enough to build the fpc and lazarus debian packages (I backported it to 2.6.0 for debian) and I also ran a fairly thourough test of passing parameters to C code to check they were being passed in the right places. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel