diff options
| author | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2020-06-02 16:44:41 +0100 |
|---|---|---|
| committer | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2020-07-13 13:49:20 +0100 |
| commit | 463a54e5d4956143f81c1f23b91cbd2d93855741 (patch) | |
| tree | ac8776c9326fc4198a1c32126981329a3e9a1a0d /libcpp/errors.c | |
| parent | 5834e96a08fd8b86a42428f38a95903d2f1de202 (diff) | |
| download | gcc-463a54e5d4956143f81c1f23b91cbd2d93855741.zip gcc-463a54e5d4956143f81c1f23b91cbd2d93855741.tar.gz gcc-463a54e5d4956143f81c1f23b91cbd2d93855741.tar.bz2 | |
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.
Diffstat (limited to 'libcpp/errors.c')
0 files changed, 0 insertions, 0 deletions
