diff options
author | Christophe Lyon <christophe.lyon@st.com> | 2019-09-10 09:32:41 +0200 |
---|---|---|
committer | Christophe Lyon <clyon@gcc.gnu.org> | 2019-09-10 09:32:41 +0200 |
commit | 4563bc4dc63664a64cb9ce6c426c689619c209e4 (patch) | |
tree | 24b885eb15d5b3b265161be4b3813ad95b263e8e | |
parent | b30ee71a406f6d14265cf5b92b0c650d1d9b5696 (diff) | |
download | gcc-4563bc4dc63664a64cb9ce6c426c689619c209e4.zip gcc-4563bc4dc63664a64cb9ce6c426c689619c209e4.tar.gz gcc-4563bc4dc63664a64cb9ce6c426c689619c209e4.tar.bz2 |
[ARM/FDPIC 01/24] [ARM] FDPIC: Add -mfdpic option support
2019-09-10 Christophe Lyon <christophe.lyon@st.com>
Mickaël Guêné <mickael.guene@st.com>
* config/arm/arm.opt: Add -mfdpic option.
* doc/invoke.texi: Add documentation for -mfdpic.
Co-Authored-By: Mickaël Guêné <mickael.guene@st.com>
From-SVN: r275561
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/arm/arm.opt | 4 | ||||
-rw-r--r-- | gcc/doc/invoke.texi | 24 |
3 files changed, 33 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fcf052a..8fae4ec 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2019-09-10 Christophe Lyon <christophe.lyon@st.com> + Mickaël Guêné <mickael.guene@st.com> + + * config/arm/arm.opt: Add -mfdpic option. + * doc/invoke.texi: Add documentation for -mfdpic. + 2019-09-09 Bernd Edlinger <bernd.edlinger@hotmail.de> * expmed.c (extract_bit_field): Update function comment diff --git a/gcc/config/arm/arm.opt b/gcc/config/arm/arm.opt index 5ecc5e5..545ec49 100644 --- a/gcc/config/arm/arm.opt +++ b/gcc/config/arm/arm.opt @@ -306,3 +306,7 @@ Cost to assume for a branch insn. mgeneral-regs-only Target Report RejectNegative Mask(GENERAL_REGS_ONLY) Save Generate code which uses the core registers only (r0-r14). + +mfdpic +Target Report Mask(FDPIC) +Enable Function Descriptor PIC mode. diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index ef23a7d..234c1b7 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -710,7 +710,8 @@ Objective-C and Objective-C++ Dialects}. -mrestrict-it @gol -mverbose-cost-dump @gol -mpure-code @gol --mcmse} +-mcmse @gol +-mfdpic} @emph{AVR Options} @gccoptlist{-mmcu=@var{mcu} -mabsdata -maccumulate-args @gol @@ -18029,6 +18030,27 @@ MOVT instruction. Generate secure code as per the "ARMv8-M Security Extensions: Requirements on Development Tools Engineering Specification", which can be found on @url{http://infocenter.arm.com/help/topic/com.arm.doc.ecm0359818/ECM0359818_armv8m_security_extensions_reqs_on_dev_tools_1_0.pdf}. + +@item -mfdpic +@itemx -mno-fdpic +@opindex mfdpic +@opindex mno-fdpic +Select the FDPIC ABI, which uses 64-bit function descriptors to +represent pointers to functions. When the compiler is configured for +@code{arm-*-uclinuxfdpiceabi} targets, this option is on by default +and implies @option{-fPIE} if none of the PIC/PIE-related options is +provided. On other targets, it only enables the FDPIC-specific code +generation features, and the user should explicitly provide the +PIC/PIE-related options as needed. + +Note that static linking is not supported because it would still +involve the dynamic linker when the program self-relocates. If such +behavior is acceptable, use -static and -Wl,-dynamic-linker options. + +The opposite @option{-mno-fdpic} option is useful (and required) to +build the Linux kernel using the same (@code{arm-*-uclinuxfdpiceabi}) +toolchain as the one used to build the userland programs. + @end table @node AVR Options |