Sign in Join
Wiki copytemporary

ARM compiler options

Overview

The FPC compiler lets you create (cross)compilers for various ARM instruction sets, floating point units etc.

Current (FPC 2.6.x/2.7.x) compilers (and RTL PPUs etc) are built for just one ABI and cannot output other ABIs once built - e.g. adding -dFPC_ARMHF when compiling a program will not change anything: http://lists.freepascal.org/lists/fpc-devel/2013-May/032093.html

The options below are passed in OPTS= when building FPC. When building a cross compiler, some of them can/should be passed in CROSSOPT as well.

ABI

ABIs are selected using the -Ca switch.

Note: Normally, specifying an ABI is not needed. Source: http://www.mail-archive.com/fpc-pascal@lists.freepascal.org/msg35496.html

Instruction sets

Instructions sets are selected using the -Cp switch. Possible instruction sets (note many sets are backward compatible):

Floating point support

Floating point support coprocessor (FPU) options are selected with the -Cf switch Possible FPU support options:

...

Interactions

Below adapted from: 1

From an ABI point of view softfp and vfpv2 are compatible. However, vfpv2 executables will crash if run on a processor not having vfpv2 hardware.

Other relevant options

See also


From the Free Pascal wiki, page "ARM compiler options", as it stood on 2014-07-11 after a change by BigChimp, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Revision 3, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.