Use the 'noclone` function attribute in addition to 'noinline`
We use the 'noinline' attribute in order to reduce code size, but that doesn't prevent gcc from cloning the function, which is something that goes against the purpose of preventing inlining in the first place.
Adding the 'noclone' attribute reduces the (stripped) binary size by around 45 kB on x86-64.