[Lazarus] Help needed for issue #20311: IDE always tailors "Target processor" options for Intel CPUs
Mark Morgan Lloyd
markMLl.lazarus at telemetry.co.uk
Fri Sep 13 21:35:01 CEST 2013
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]
More information about the Lazarus
mailing list