]> git.ipfire.org Git - thirdparty/gcc.git/commit
strub: sparc: omit frame in strub_leave [PR112917]
authorAlexandre Oliva <oliva@adacore.com>
Thu, 14 Dec 2023 06:21:37 +0000 (03:21 -0300)
committerAlexandre Oliva <oliva@gnu.org>
Wed, 20 Dec 2023 08:18:17 +0000 (05:18 -0300)
commit9fa35dbb901b11d31a897cc88c9258e7cd35b899
tree8637aee10dde94c081fcf658f007c0119a6bb31b
parent672db38c6f0723ca57fe8ff4c43422341e7fb857
strub: sparc: omit frame in strub_leave [PR112917]

If we allow __strub_leave to allocate a frame on sparc, it will
overlap with a lot of the stack range we're supposed to scrub, because
of the large fixed-size outgoing args and register save area.
Unfortunately, setting up the PIC register seems to prevent the frame
pointer from being omitted.

Since the strub runtime doesn't issue calls or use global variables,
at least on sparc, disabling PIC to compile strub.c seems to do the
right thing.

for  libgcc/ChangeLog

PR middle-end/112917
* config.host (sparc, sparc64): Enable...
* config/sparc/t-sparc: ... this new fragment.
libgcc/config.host
libgcc/config/sparc/t-sparc [new file with mode: 0644]