Despite what the docs say, here are the options the compiler says it supports:
Code:
C:\SHARE\kindle\K1>"C:\Program Files (x86)\CodeSourcery\Sourcery G++\bin\arm-none-linux-gnueabi-gcc.exe" --target-help
Target specific options:
-mno-cirrus-fix-invalid-insns Cirrus: Do not break up invalid instruction combinations with NOPs
-mcirrus-fix-invalid-insns Cirrus: Place NOPs to avoid invalid instruction combinations
-mcaller-super-interworking Thumb: Assume function pointers may go to non-Thumb aware code
-mcallee-super-interworking Thumb: Assume non-static functions may be called from ARM code
-mtpcs-leaf-frame Thumb: Generate (leaf) stack frames even if not needed
-mtpcs-frame Thumb: Generate (non-leaf) stack frames even if not needed
-mthumb Compile for the Thumb not the ARM
-mlong-calls Generate call insns as indirect calls, if necessary
-msingle-pic-base Do not load the PIC register in function prologues
-mno-sched-prolog Do not move instructions into a function's prologue
-mabort-on-noreturn Generate a call to abort if a noreturn function returns
-mthumb-interwork Support calls between Thumb and ARM instruction sets
-mwords-little-endian Assume big endian bytes, little endian words
-mlittle-endian Assume target CPU is configured as little endian
-mbig-endian Assume target CPU is configured as big endian
-mapcs-reentrant Generate re-entrant, PIC code
-mapcs-float Pass FP arguments in FP registers
-mpoke-function-name Store function names in object code
-mapcs-frame Generate APCS conformant stack frames
-mtp= Specify how to access the thread pointer
-mhard-float Alias for -mfloat-abi=hard
-msoft-float Alias for -mfloat-abi=soft
-mabi= Specify an ABI
-mpic-register= Specify the register to be used for PIC addressing
-mstructure-size-boundary= Specify the minimum bit alignment of structures
-mfloat-abi= Specify if floating point hardware should be used
-mfpu= Specify the name of the target floating point hardware/format
-march= Specify the name of the target architecture
-mcpu= Specify the name of the target CPU
ARM-specific assembler options:
-k generate PIC code
-mthumb assemble Thumb code
-mthumb-interwork support ARM/Thumb interworking
-mapcs-32 code uses 32-bit program counter
-mapcs-26 code uses 26-bit program counter
-mapcs-float floating point args are in fp regs
-mapcs-reentrant re-entrant code
-matpcs code is ATPCS conformant
-mbig-endian assemble for big-endian
-mlittle-endian assemble for little-endian
-mapcs-frame use frame pointer
-mapcs-stack-check use stack size checking
-mcpu=<cpu name> assemble for CPU <cpu name>
-march=<arch name> assemble for architecture <arch name>
-mfpu=<fpu name> assemble for FPU architecture <fpu name>
-mfloat-abi=<abi> assemble for floating point ABI <abi>
-meabi=<ver> assemble for eabi version <ver>
-EB assemble code for a big-endian cpu
-EL assemble code for a little-endian cpu
armelf_linux_eabi:
-Bgroup Selects group name lookup rules for DSO
--disable-new-dtags Disable new dynamic tags
--enable-new-dtags Enable new dynamic tags
--eh-frame-hdr Create .eh_frame_hdr section
-z combreloc Merge dynamic relocs into one section and sort
-z defs Report unresolved symbols in object files.
-z execstack Mark executable as requiring executable stack
-z initfirst Mark DSO to be initialized first at runtime
-z interpose Mark object to interpose all DSOs but executable
-z loadfltr Mark object requiring immediate process
-z muldefs Allow multiple definitions
-z nocombreloc Don't merge dynamic relocs into one section
-z nocopyreloc Don't create copy relocs
-z nodefaultlib Mark object not to use default search paths
-z nodelete Mark DSO non-deletable at runtime
-z nodlopen Mark DSO not available to dlopen
-z nodump Mark DSO not available to dldump
-z noexecstack Mark executable as not requiring executable stack
-z norelro Don't create RELRO program header
-z now Mark object non-lazy runtime binding
-z origin Mark object requiring immediate $ORIGIN processing
at runtime
-z relro Create RELRO program header
-z KEYWORD Ignored for Solaris compatibility
--thumb-entry=<sym> Set the entry point to be Thumb symbol <sym>
--be8 Oputput BE8 format image
--target1=rel Interpret R_ARM_TARGET1 as R_ARM_REL32
--target1=abs Interpret R_ARM_TARGET1 as R_ARM_ABS32
--target2=<type> Specify definition of R_ARM_TARGET2
--fix-v4bx Rewrite BX rn as MOV pc, rn for ARMv4
--use-blx Enable use of BLX instructions