unicode: make array 'token' static const, makes object smaller
authorColin Ian King <colin.king@canonical.com>
Fri, 6 Sep 2019 13:58:07 +0000 (14:58 +0100)
committerGabriel Krisman Bertazi <krisman@collabora.com>
Tue, 17 Sep 2019 15:48:24 +0000 (11:48 -0400)
Don't populate the array 'token' on the stack but instead make it
static const. Makes the object code smaller by 234 bytes.

Before:
   text    data     bss     dec     hex filename
   5371     272       0    5643    160b fs/unicode/utf8-core.o

After:
   text    data     bss     dec     hex filename
   5041     368       0    5409    1521 fs/unicode/utf8-core.o

(gcc version 9.2.1, amd64)

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Reviewed-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.com>
fs/unicode/utf8-core.c

index 71ca4d0..2a878b7 100644 (file)
@@ -154,7 +154,7 @@ static int utf8_parse_version(const char *version, unsigned int *maj,
 {
        substring_t args[3];
        char version_string[12];
-       const struct match_token token[] = {
+       static const struct match_token token[] = {
                {1, "%d.%d.%d"},
                {0, NULL}
        };