[ARM/FDPIC,v3,01/21,ARM] FDPIC: Add -mfdpic option support

Message ID 20181011133518.17258-2-christophe.lyon@st.com
State New
Headers show
Series
  • FDPIC ABI for ARM
Related show

Commit Message

Christophe Lyon Oct. 11, 2018, 1:34 p.m.
2018-XX-XX  Christophe Lyon  <christophe.lyon@st.com>
	Mickaël Guêné  <mickael.guene@st.com>

	gcc/
	* config/arm/arm.opt: Add -mfdpic option.
	* doc/invoke.texi: Add documentation for -mfdpic.

-- 
2.6.3

Comments

Richard Earnshaw (lists) Oct. 12, 2018, 9:52 a.m. | #1
On 11/10/18 14:34, Christophe Lyon wrote:
> 2018-XX-XX  Christophe Lyon  <christophe.lyon@st.com>

> 	Mickaël Guêné  <mickael.guene@st.com>

> 

> 	gcc/

> 	* config/arm/arm.opt: Add -mfdpic option.

> 	* doc/invoke.texi: Add documentation for -mfdpic.


This is OK (once the rest of the series is approved).

R.

> 

> diff --git a/gcc/config/arm/arm.opt b/gcc/config/arm/arm.opt

> index a1286a4..231c1cb 100644

> --- a/gcc/config/arm/arm.opt

> +++ b/gcc/config/arm/arm.opt

> @@ -302,3 +302,7 @@ When linking for big-endian targets, generate a legacy BE32 format image.

>  mbranch-cost=

>  Target RejectNegative Joined UInteger Var(arm_branch_cost) Init(-1)

>  Cost to assume for a branch insn.

> +

> +mfdpic

> +Target Report Mask(FDPIC)

> +Enable Function Descriptor PIC mode.

> diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi

> index 5c95f67..3e33e60 100644

> --- a/gcc/doc/invoke.texi

> +++ b/gcc/doc/invoke.texi

> @@ -684,7 +684,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

> @@ -17059,6 +17060,13 @@ 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

> +@opindex mfdpic

> +Select the FDPIC ABI, which uses function descriptors to represent

> +pointers to functions.  Without any PIC/PIE-related options, it

> +implies @option{-fPIE}.

> +

>  @end table

>  

>  @node AVR Options

>
Sandra Loosemore Oct. 17, 2018, 3:05 a.m. | #2
On 10/12/2018 03:52 AM, Richard Earnshaw (lists) wrote:
> On 11/10/18 14:34, Christophe Lyon wrote:

>> 2018-XX-XX  Christophe Lyon  <christophe.lyon@st.com>

>> 	Mickaël Guêné  <mickael.guene@st.com>

>>

>> 	gcc/

>> 	* config/arm/arm.opt: Add -mfdpic option.

>> 	* doc/invoke.texi: Add documentation for -mfdpic.

> 

> This is OK (once the rest of the series is approved).


The documentation looks fine to me too.

-Sandra

Patch

diff --git a/gcc/config/arm/arm.opt b/gcc/config/arm/arm.opt
index a1286a4..231c1cb 100644
--- a/gcc/config/arm/arm.opt
+++ b/gcc/config/arm/arm.opt
@@ -302,3 +302,7 @@  When linking for big-endian targets, generate a legacy BE32 format image.
 mbranch-cost=
 Target RejectNegative Joined UInteger Var(arm_branch_cost) Init(-1)
 Cost to assume for a branch insn.
+
+mfdpic
+Target Report Mask(FDPIC)
+Enable Function Descriptor PIC mode.
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 5c95f67..3e33e60 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -684,7 +684,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
@@ -17059,6 +17060,13 @@  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
+@opindex mfdpic
+Select the FDPIC ABI, which uses function descriptors to represent
+pointers to functions.  Without any PIC/PIE-related options, it
+implies @option{-fPIE}.
+
 @end table
 
 @node AVR Options