Re: [PING^2][PATCH] Fix documentation of -mpoke-function-name ARM option
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
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
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
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
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
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. >