Sven Barth wrote:

Is there anything else that I could usefully grab at the same time, e.g. ABI types? In particular, noting that you've fixed http://bugs.freepascal.org/view.php?id=20310 but is there some variant of fpc -i etc. that lists applicable assembler styles?

The assembler styles are reported in the "-h" output at "-R". They are adjusted for each target. The FPU type for -Cf might also be interesting (especially for ARM). The output is available in fpc -i as well.

At least with the versions I've currently got available it looks as though -R and -Cf defer to -i. Specifically, I see something like this in all cases except x86:

  -A<x>  Output format:
      -Adefault  Use default assembler
      -Aas       Assemble using GNU AS

      -Cf<x>     Select fpu instruction set to use, see fpc -i for
possible values

  -R<x>  Assembler reading style:
      -Rdefault  Use default assembler for target

I think the -A output for SPARC Solaris might be different, but I can't easily test right now.

Output for -i from native 2.6.0 or 2.6.2, unless noted. Apologies if this is excessively noisy.

SPARC, Linux:
-------------
Compiler CPU Target: sparc

Supported targets:
  Solaris for SPARC (under development)
  Linux for SPARC

Supported CPU instruction sets:
  SPARC V7
  SPARC V8
  SPARC V9

Supported FPU instruction sets:
  SOFT
  HARD

Supported ABI targets:
  DEFAULT
  SYSV
  AIX
  EABI
  ARMEB

Supported Optimizations:
  REGVAR
  LOOPUNROLL
  TAILREC
  CSE

Supported Whole Program Optimizations:
  All
  DEVIRTCALLS
  OPTVMTS
  SYMBOLLIVENESS

Supported Microcontroller types:


ARMEL, Linux on Qemu:
---------------------
Compiler CPU Target: arm

Supported targets:
  Linux for ARMEL
  WinCE for ARM
  GameBoy Advance
  PalmOS
  Nintendo DS
  Embedded
  Symbian OS for ARM
  Darwin for ARM

Supported CPU instruction sets:
  ARMV3
  ARMV4
  ARMV5
  ARMV6
  ARMV7
  ARMV7M
  CORTEXM3

Supported FPU instruction sets:
  SOFT
  LIBGCC
  FPA
  FPA10
  FPA11
  VFPV2
  VFPV3

Supported ABI targets:
  DEFAULT
  SYSV
  AIX
  EABI
  ARMEB

Supported Optimizations:
  REGVAR
  STACKFRAME
  LOOPUNROLL
  TAILREC
  CSE

Supported Whole Program Optimizations:
  All
  DEVIRTCALLS
  OPTVMTS
  SYMBOLLIVENESS

Supported Microcontroller types:
  LPC2114
  LPC2124
  LPC2194
  AT91SAM7S256
  AT91SAM7SE256
  AT91SAM7X256
  AT91SAM7XC256
  STM32F103RE
  STELLARIS


MIPS, Linux on Qemu (2.7.1, r22655):
------------------------------------
Compiler CPU Target: mipseb

Supported targets:
  Linux for MIPSEB

Supported CPU instruction sets:
  mips2
  mips1
  mips2
  mips3
  mips4
  mips5
  mips32
  mips32r2

Supported FPU instruction sets:
  SOFT
  FPU_MIPS2
  FPU_MIPS3

Supported ABI targets:
  DEFAULT
  SYSV
  AIX
  EABI
  ARMEB
  EABIHF

Supported Optimizations:
  REGVAR
  LOOPUNROLL
  CSE
  ORDERFIELDS
  FASTMATH

Supported Whole Program Optimizations:
  All
  DEVIRTCALLS
  OPTVMTS
  SYMBOLLIVENESS

Supported Microcontroller types:


MIPSEL, Linux on Qemu (2.7.1, r22655):
--------------------------------------
Compiler CPU Target: mipsel

Supported targets:
  Linux for MIPSEL

Supported CPU instruction sets:
  mips2
  mips1
  mips2
  mips3
  mips4
  mips5
  mips32
  mips32r2

Supported FPU instruction sets:
  SOFT
  FPU_MIPS2
  FPU_MIPS3

Supported ABI targets:
  DEFAULT
  SYSV
  AIX
  EABI
  ARMEB
  EABIHF

Supported Optimizations:
  REGVAR
  LOOPUNROLL
  CSE
  ORDERFIELDS
  FASTMATH

Supported Whole Program Optimizations:
  All
  DEVIRTCALLS
  OPTVMTS
  SYMBOLLIVENESS

Supported Microcontroller types:


I've not been tracking ARM or MIPS(EL) on Linux closely over the last few months, and have never looked at them on e.g. Android.

I don't have a known-working x86-64 and am assuming that somebody (anybody!) else is better placed to check x86 on e.g. Windows. I can manage Linux and probably NT if necessary.

I can't conveniently test either SPARC or x86-64 Solaris at the moment. I can probably manage SPARC if necessary.

I can't test PPC on Linux at the moment due to hardware failure. Last time I investigated FPC didn't run on PPC Mac classic OS. I might be able to fix Linux.

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to