Re: [fpc-devel] targetandroid - can't build for armv7, hangs on pooledmm.pp

2012-08-03 Thread Dennis Spreen
 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

2012-08-02 Thread Dennis Spreen
 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

2012-08-02 Thread Thomas Schatzl
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

2012-08-01 Thread Dennis Spreen
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

2012-08-01 Thread Thomas Schatzl
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

2012-08-01 Thread peter green

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