]> git.ipfire.org Git - thirdparty/gcc.git/commit
strub: avoid lto inlining
authorAlexandre Oliva <oliva@adacore.com>
Wed, 20 Dec 2023 00:06:22 +0000 (21:06 -0300)
committerAlexandre Oliva <oliva@gnu.org>
Wed, 20 Dec 2023 00:06:22 +0000 (21:06 -0300)
commit1b83fce7df32c72bf8e0c766e5ccb285801bce15
treebb82744d19fd0093d834a9fa27257205d5304350
parent66c8b0f695ffaf1b727dc024618b80256317ae33
strub: avoid lto inlining

The strub builtins are not suited for cross-unit inlining, they should
only be inlined by the builtin expanders, if at all.  While testing on
sparc64, it occurred to me that, if libgcc was built with LTO enabled,
lto1 might inline them, and that would likely break things.  So, make
sure they're clearly marked as not inlinable.

for  libgcc/ChangeLog

* strub.c (ATTRIBUTE_NOINLINE): New.
(ATTRIBUTE_STRUB_CALLABLE): Add it.
(__strub_dummy_force_no_leaf): Drop it.
libgcc/strub.c