deinline two big functions
function old new delta
xz_dec_lzma2_run - 1483 +1483
decode_one_format - 715 +715
decode_format_string 840 98 -742
unpack_xz_stream 4014 2377 -1637
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 0/2 up/down: 2198/-2379) Total: -181 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/archival/libunarchive/unxz/xz_dec_lzma2.c b/archival/libunarchive/unxz/xz_dec_lzma2.c
index c22dc5b..37de6fc 100644
--- a/archival/libunarchive/unxz/xz_dec_lzma2.c
+++ b/archival/libunarchive/unxz/xz_dec_lzma2.c
@@ -915,7 +915,7 @@
* Take care of the LZMA2 control layer, and forward the job of actual LZMA
* decoding or copying of uncompressed chunks to other functions.
*/
-XZ_EXTERN enum xz_ret XZ_FUNC xz_dec_lzma2_run(
+XZ_EXTERN NOINLINE enum xz_ret XZ_FUNC xz_dec_lzma2_run(
struct xz_dec_lzma2 *s, struct xz_buf *b)
{
uint32_t tmp;
diff --git a/coreutils/od_bloaty.c b/coreutils/od_bloaty.c
index 6a532fa..6aba0f6 100644
--- a/coreutils/od_bloaty.c
+++ b/coreutils/od_bloaty.c
@@ -521,7 +521,7 @@
S_ORIG is solely for reporting errors. It should be the full format
string argument. */
-static const char *
+static NOINLINE const char *
decode_one_format(const char *s_orig, const char *s, struct tspec *tspec)
{
enum size_spec size_spec;