Re: [PING^2][PATCH] Fix documentation of -mpoke-function-name ARM option

2020-03-23 Thread Richard Earnshaw
On 22/03/2020 18:15, Jérémy Lefaure wrote:
> Hi Wilco,
> 
> On Mon, Mar 09, 2020 at 05:53:41PM +, Wilco Dijkstra wrote:
>> Hi,
>>
>> There is no single PC offset that is correct given CPUs may use different 
>> offsets.
> 
> Isn't it always an offset of 8 in ARM mode and 4 bytes in Thumb mode ?
> At least in ARMv7 and in AArch32 state in ARMv8 ?
> 

No, it depends on the architecture version.  Prior to ARMv5 it was
implementation defined.  Some cores would use +12 in Arm state, others +8.

> 
>> GCC may also schedule the instruction that stores the PC. This feature used 
>> to
>> work on early Arms but is no longer functional or useful today, so the best 
>> way
>> forward is to remove it altogether. There are many similar options that have
>> been deprecated for years.
>>
> I didn't know that this feature is no longer working. Thank your for the
> info.

The poke-function-name feature depends on the long-deprecated APCS
variant of the procedure call standard (the AAPCS has been the standard
for well over 10 years now).  I don't think we should be adding (or,
now, even trying to fix) features that are dependent on it.  We will be
moving away from codegen support for this type of frame layout in the
not too distant future.

R.

> 
> 
> Thank your for having reviewed my patch,
> Jérémy
> 



Re: [PING^2][PATCH] Fix documentation of -mpoke-function-name ARM option

2020-03-22 Thread Jérémy Lefaure
Hi Wilco,

On Mon, Mar 09, 2020 at 05:53:41PM +, Wilco Dijkstra wrote:
> Hi,
> 
> There is no single PC offset that is correct given CPUs may use different 
> offsets.

Isn't it always an offset of 8 in ARM mode and 4 bytes in Thumb mode ?
At least in ARMv7 and in AArch32 state in ARMv8 ?


> GCC may also schedule the instruction that stores the PC. This feature used to
> work on early Arms but is no longer functional or useful today, so the best 
> way
> forward is to remove it altogether. There are many similar options that have
> been deprecated for years.
> 
I didn't know that this feature is no longer working. Thank your for the
info.


Thank your for having reviewed my patch,
Jérémy


Re: [PING^2][PATCH] Fix documentation of -mpoke-function-name ARM option

2020-03-09 Thread Wilco Dijkstra
Hi,

There is no single PC offset that is correct given CPUs may use different 
offsets.
GCC may also schedule the instruction that stores the PC. This feature used to
work on early Arms but is no longer functional or useful today, so the best way
forward is to remove it altogether. There are many similar options that have
been deprecated for years.

Cheers,
Wilco

Re: [PING^2][PATCH] Fix documentation of -mpoke-function-name ARM option

2020-03-08 Thread blatinox
Hi Sandra,

On Mon, Feb 24, 2020 at 02:19:21PM -0700, Sandra Loosemore wrote:
> On 2/20/20 3:08 PM, Jérémy Lefaure wrote:
> > Hello,
> > 
> > Ping for https://gcc.gnu.org/ml/gcc-patches/2019-12/msg01081.html.
> > 
> > Thank you,
> > Jérémy
> > 
> > On Sun, Dec 15, 2019 at 07:20:26PM +0100, Jérémy Lefaure wrote:
> > > Hi!
> > > 
> > > Since in ARM state the value of PC is the address of the current
> > > instruction plus 8 bytes, the code inspecting the value of PC stored at
> > > FP + 0 should look at location PC - 16 : PC - 8 points to the stmfd
> > > instruction, PC - 16 points two words before, where the top 8 bits are
> > > set.
> > > 
> > > gcc/
> > > 2019-12-14  Jérémy Lefaure 
> > > 
> > >   * config/arm/arm.c (-mpoke-function-name): Fix documentation in comment.
> > >   * doc/invoke.texi (-mpoke-function-name): Fix documentation.
> > > 
> > 
> 
> The patch looks OK to me from a documentation point of view, but I'm no
> expert about the technical correctness of the change.  Maybe an ARM
> maintainer can review this?
> 

Thank you for taking the time to review this patch.
I hope that an ARM maintainer will have time to review it too.


Thank you,
Jérémy


Re: [PING^2][PATCH] Fix documentation of -mpoke-function-name ARM option

2020-02-24 Thread Sandra Loosemore

On 2/20/20 3:08 PM, Jérémy Lefaure wrote:

Hello,

Ping for https://gcc.gnu.org/ml/gcc-patches/2019-12/msg01081.html.

Thank you,
Jérémy

On Sun, Dec 15, 2019 at 07:20:26PM +0100, Jérémy Lefaure wrote:

Hi!

Since in ARM state the value of PC is the address of the current
instruction plus 8 bytes, the code inspecting the value of PC stored at
FP + 0 should look at location PC - 16 : PC - 8 points to the stmfd
instruction, PC - 16 points two words before, where the top 8 bits are
set.

gcc/
2019-12-14  Jérémy Lefaure 

* config/arm/arm.c (-mpoke-function-name): Fix documentation in comment.
* doc/invoke.texi (-mpoke-function-name): Fix documentation.





The patch looks OK to me from a documentation point of view, but I'm no 
expert about the technical correctness of the change.  Maybe an ARM 
maintainer can review this?


-Sandra


[PING^2][PATCH] Fix documentation of -mpoke-function-name ARM option

2020-02-20 Thread Jérémy Lefaure
Hello,

Ping for https://gcc.gnu.org/ml/gcc-patches/2019-12/msg01081.html.

Thank you,
Jérémy

On Sun, Dec 15, 2019 at 07:20:26PM +0100, Jérémy Lefaure wrote:
> Hi!
> 
> Since in ARM state the value of PC is the address of the current
> instruction plus 8 bytes, the code inspecting the value of PC stored at
> FP + 0 should look at location PC - 16 : PC - 8 points to the stmfd
> instruction, PC - 16 points two words before, where the top 8 bits are
> set.
> 
> gcc/
> 2019-12-14  Jérémy Lefaure 
> 
>   * config/arm/arm.c (-mpoke-function-name): Fix documentation in comment.
>   * doc/invoke.texi (-mpoke-function-name): Fix documentation.
>