Revert "kbuild: strip generated symbols from *.ko"
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / scripts / kallsyms.c
index 92758120a767d621355d030ddf2e7a831659d883..ad2434b26970c17b4b72efb82761afd0ac04042d 100644 (file)
@@ -130,9 +130,18 @@ static int read_symbol(FILE *in, struct sym_entry *s)
 static int symbol_valid(struct sym_entry *s)
 {
        /* Symbols which vary between passes.  Passes 1 and 2 must have
-        * identical symbol lists.
+        * identical symbol lists.  The kallsyms_* symbols below are only added
+        * after pass 1, they would be included in pass 2 when --all-symbols is
+        * specified so exclude them to get a stable symbol list.
         */
        static char *special_symbols[] = {
+               "kallsyms_addresses",
+               "kallsyms_num_syms",
+               "kallsyms_names",
+               "kallsyms_markers",
+               "kallsyms_token_table",
+               "kallsyms_token_index",
+
        /* Exclude linker generated symbols which vary between passes */
                "_SDA_BASE_",           /* ppc */
                "_SDA2_BASE_",          /* ppc */
@@ -164,9 +173,7 @@ static int symbol_valid(struct sym_entry *s)
        }
 
        /* Exclude symbols which vary between passes. */
-       if (strstr((char *)s->sym + offset, "_compiled.") ||
-           strncmp((char*)s->sym + offset, "__compound_literal.", 19) == 0 ||
-           strncmp((char*)s->sym + offset, "__compound_literal$", 19) == 0)
+       if (strstr((char *)s->sym + offset, "_compiled."))
                return 0;
 
        for (i = 0; special_symbols[i]; i++)
@@ -543,10 +550,8 @@ int main(int argc, char **argv)
                usage();
 
        read_map(stdin);
-       if (table_cnt) {
-               sort_symbols();
-               optimize_token_table();
-       }
+       sort_symbols();
+       optimize_token_table();
        write_src();
 
        return 0;