0From: Alexandre Oliva <oliva@adacore.com>
commit320fb976e933e8892af905e68de65492568f2a49
authorAlexandre Oliva <oliva@adacore.com>
Wed, 31 Jan 2024 03:13:36 +0000 (31 00:13 -0300)
committerAlexandre Oliva <oliva@gnu.org>
Wed, 31 Jan 2024 03:22:11 +0000 (31 00:22 -0300)
treea5f06afdd5f0392a7ddf25e2ee4f210b6ac06ff9
parent35de88e2ed0aa78f6e3306c8560cd6bb15ce0ffe
0From: Alexandre Oliva <oliva@adacore.com>

strub: introduce STACK_ADDRESS_OFFSET

Since STACK_POINTER_OFFSET is not necessarily at the boundary between
caller- and callee-owned stack, as desired by
__builtin_stack_address(), and using it as if it were or not causes
problems, introduce a new macro so that ports can define it suitably,
without modifying STACK_POINTER_OFFSET.

for  gcc/ChangeLog

PR middle-end/112917
PR middle-end/113100
* builtins.cc (expand_builtin_stack_address): Use
STACK_ADDRESS_OFFSET.
* doc/extend.texi (__builtin_stack_address): Adjust.
* config/sparc/sparc.h (STACK_ADDRESS_OFFSET): Define.
* doc/tm.texi.in (STACK_ADDRESS_OFFSET): Document.
* doc/tm.texi: Rebuilt.
gcc/builtins.cc
gcc/config/sparc/sparc.h
gcc/doc/extend.texi
gcc/doc/tm.texi
gcc/doc/tm.texi.in