[Bug target/94791] aarch64: -pg profiling is broken with pac-ret
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Jul 13 12:50:07 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94791
--- Comment #1 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Szabolcs Nagy <nsz@gcc.gnu.org>:
https://gcc.gnu.org/g:463a54e5d4956143f81c1f23b91cbd2d93855741
commit r11-2056-g463a54e5d4956143f81c1f23b91cbd2d93855741
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date: Tue Jun 2 16:44:41 2020 +0100
aarch64: fix return address access with pac [PR94891][PR94791]
This is a big hammer fix for __builtin_return_address (PR target/94891)
returning signed addresses (sometimes, depending on wether lr happens
to be signed or not at the time of call which depends on optimizations),
and similarly -pg may pass signed return address to _mcount
(PR target/94791).
At the time of return address expansion we don't know if it's signed or
not so it is done unconditionally.
2020-07-13 Szabolcs Nagy <szabolcs.nagy@arm.com>
gcc/ChangeLog:
PR target/94891
PR target/94791
* config/aarch64/aarch64-protos.h (aarch64_return_addr_rtx):
Declare.
* config/aarch64/aarch64.c (aarch64_return_addr_rtx): New.
(aarch64_return_addr): Use aarch64_return_addr_rtx.
* config/aarch64/aarch64.h (PROFILE_HOOK): Likewise.
More information about the Gcc-bugs
mailing list