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

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

Commit Message

Christophe Lyon July 13, 2018, 4:10 p.m.
From: Christophe Lyon <christophe.lyon@linaro.org>


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.

Change-Id: Ie5c4ed7434488933de6133186da09cd3ea1291a7

-- 
2.6.3

Comments

Kyrill Tkachov Aug. 29, 2018, 10:46 a.m. | #1
Hi Christophe,

On 13/07/18 17:10, christophe.lyon@st.com wrote:
> From: Christophe Lyon <christophe.lyon@linaro.org>

>

> 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.

>

> Change-Id: Ie5c4ed7434488933de6133186da09cd3ea1291a7

>

> 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.


So since this is an ABI, why isn't it just adding a new -mabi value?
In any case, command-line option changes need documentation in invoke.texi.

Thanks,
Kyrill


> -- 

> 2.6.3

>
Christophe Lyon Aug. 31, 2018, 2:09 p.m. | #2
On Wed, 29 Aug 2018 at 12:46, Kyrill Tkachov
<kyrylo.tkachov@foss.arm.com> wrote:
>

> Hi Christophe,

>

> On 13/07/18 17:10, christophe.lyon@st.com wrote:

> > From: Christophe Lyon <christophe.lyon@linaro.org>

> >

> > 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.

> >

> > Change-Id: Ie5c4ed7434488933de6133186da09cd3ea1291a7

> >

> > 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.

>

> So since this is an ABI, why isn't it just adding a new -mabi value?


I think it's just an oversight, because we always talk about "FDPIC
mode". I can change it, it's meant to be mostly hidden and toggled by
the target name.

> In any case, command-line option changes need documentation in invoke.texi.

I keep forgetting this, sorry.

> Thanks,

> Kyrill

>

>

> > --

> > 2.6.3

> >

>
Christophe Lyon Sept. 21, 2018, 3:37 p.m. | #3
On Fri, 31 Aug 2018 at 16:09, Christophe Lyon
<christophe.lyon@linaro.org> wrote:
>

> On Wed, 29 Aug 2018 at 12:46, Kyrill Tkachov

> <kyrylo.tkachov@foss.arm.com> wrote:

> >

> > Hi Christophe,

> >

> > On 13/07/18 17:10, christophe.lyon@st.com wrote:

> > > From: Christophe Lyon <christophe.lyon@linaro.org>

> > >

> > > 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.

> > >

> > > Change-Id: Ie5c4ed7434488933de6133186da09cd3ea1291a7

> > >

> > > 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.

> >

> > So since this is an ABI, why isn't it just adding a new -mabi value?

>

> I think it's just an oversight, because we always talk about "FDPIC

> mode". I can change it, it's meant to be mostly hidden and toggled by

> the target name.

>

Actually, the other targets with FDPIC support use -mfdpic (bfin, frv,
sh), so I'm not sure what's the best option?
Using -mfdpic has the advantage of consistency across targets.


> > In any case, command-line option changes need documentation in invoke.texi.

> I keep forgetting this, sorry.

>

> > Thanks,

> > Kyrill

> >

> >

> > > --

> > > 2.6.3

> > >

> >

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.