static int absolute_percpu;
static int base_relative;
static int lto_clang;
-@@ -469,6 +470,9 @@ static void write_src(void)
+@@ -453,13 +454,15 @@ static void write_src(void)
+ }
+ printf("\n");
+
+- /*
+- * Now that we wrote out the compressed symbol names, restore the
+- * original names, which are needed in some of the later steps.
+- */
+- for (i = 0; i < table_cnt; i++) {
+- expand_symbol(table[i]->sym, table[i]->len, buf);
+- strcpy((char *)table[i]->sym, buf);
++ if (!uncompressed) {
++ /*
++ * Now that we wrote out the compressed symbol names, restore the
++ * original names, which are needed in some of the later steps.
++ */
++ for (i = 0; i < table_cnt; i++) {
++ expand_symbol(table[i]->sym, table[i]->len, buf);
++ strcpy((char *)table[i]->sym, buf);
++ }
+ }
+
+ output_label("kallsyms_markers");
+@@ -469,20 +472,22 @@ static void write_src(void)
free(markers);
-+ if (uncompressed)
-+ return;
-+
- output_label("kallsyms_token_table");
- off = 0;
- for (i = 0; i < 256; i++) {
-@@ -582,6 +586,9 @@ static unsigned char *find_token(unsigne
+- output_label("kallsyms_token_table");
+- off = 0;
+- for (i = 0; i < 256; i++) {
+- best_idx[i] = off;
+- expand_symbol(best_table[i], best_table_len[i], buf);
+- printf("\t.asciz\t\"%s\"\n", buf);
+- off += strlen(buf) + 1;
+- }
+- printf("\n");
++ if (!uncompressed) {
++ output_label("kallsyms_token_table");
++ off = 0;
++ for (i = 0; i < 256; i++) {
++ best_idx[i] = off;
++ expand_symbol(best_table[i], best_table_len[i], buf);
++ printf("\t.asciz\t\"%s\"\n", buf);
++ off += strlen(buf) + 1;
++ }
++ printf("\n");
+
+- output_label("kallsyms_token_index");
+- for (i = 0; i < 256; i++)
+- printf("\t.short\t%d\n", best_idx[i]);
+- printf("\n");
++ output_label("kallsyms_token_index");
++ for (i = 0; i < 256; i++)
++ printf("\t.short\t%d\n", best_idx[i]);
++ printf("\n");
++ }
+
+ if (!base_relative)
+ output_label("kallsyms_addresses");
+@@ -582,6 +587,9 @@ static unsigned char *find_token(unsigne
{
int i;
for (i = 0; i < len - 1; i++) {
if (str[i] == token[0] && str[i+1] == token[1])
return &str[i];
-@@ -654,6 +661,9 @@ static void optimize_result(void)
+@@ -654,6 +662,9 @@ static void optimize_result(void)
{
int i, best;
/* using the '\0' symbol last allows compress_symbols to use standard
* fast string functions */
for (i = 255; i >= 0; i--) {
-@@ -815,6 +825,7 @@ int main(int argc, char **argv)
+@@ -815,6 +826,7 @@ int main(int argc, char **argv)
{"absolute-percpu", no_argument, &absolute_percpu, 1},
{"base-relative", no_argument, &base_relative, 1},
{"lto-clang", no_argument, <o_clang, 1},