summaryrefslogtreecommitdiff
path: root/gcc/config/rs6000/476.md
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2017-09-21 22:55:45 +0930
committerAlan Modra <amodra@gcc.gnu.org>2017-09-21 22:55:45 +0930
commitc0ced9e080eca19fdd48bae7e959908ce3ab31c7 (patch)
tree1c8560e78b817786440bdfb38b31bda0bc11fd44 /gcc/config/rs6000/476.md
parent24b0a9e2315ce74ccfa1bbfb0c50957d8723b9a4 (diff)
downloadgcc-c0ced9e080eca19fdd48bae7e959908ce3ab31c7.tar.gz
PR81996, __builtin_return_address(0) fails
rs6000_return_addr assumes that the stack link is at frame+0, which is true for count>0. For count==0, rs6000_return_addr is called with frame==frame_pointer_rtx and the stack link is *not* at frame+0 if -fstack-protector-all or -fsanitize=address because rs6000.h sets FRAME_GROWS_DOWNWARD for those options. PR target/81996 * gcc/config/rs6000/rs6000.c (rs6000_return_addr): Use stack_pointer_rtx for count 0. Update comments. Break up large rtl expression. From-SVN: r253070
Diffstat (limited to 'gcc/config/rs6000/476.md')
0 files changed, 0 insertions, 0 deletions