Lines Matching +full:quad +full:- +full:se +full:- +full:mode
8 * Usage: nm -n vmlinux | scripts/kallsyms [--all-symbols] > symbols.S
72 "__per_cpu_start", "__per_cpu_end", -1ULL, 0
90 fprintf(stderr, "Usage: kallsyms [--all-symbols] [--absolute-percpu] " in usage()
91 "[--base-relative] in.map > out.S\n"); in usage()
97 return (char *)s->sym + 1; in sym_name()
108 * when --all-symbols is specified so exclude them to get a in is_ignored_symbol()
128 "__kvm_nvhe_$", /* arm64 local symbols in non-VHE KVM namespace */ in is_ignored_symbol()
129 "__kvm_nvhe_.L", /* arm64 local symbols in non-VHE KVM namespace */ in is_ignored_symbol()
166 int l = strlen(name) - strlen(*p); in is_ignored_symbol()
204 if (strcmp(sym, ar->start_sym) == 0) { in check_symbol_range()
205 ar->start = addr; in check_symbol_range()
207 } else if (strcmp(sym, ar->end_sym) == 0) { in check_symbol_range()
208 ar->end = addr; in check_symbol_range()
256 sym->addr = addr; in read_symbol()
257 sym->len = len; in read_symbol()
258 sym->sym[0] = type; in read_symbol()
260 sym->percpu_absolute = 0; in read_symbol()
274 if (s->addr >= ar->start && s->addr <= ar->end) in symbol_in_range()
285 /* if --all-symbols is not specified, then symbols outside the text in symbol_valid()
297 if ((s->addr == text_range_text->end && in symbol_valid()
298 strcmp(name, text_range_text->end_sym)) || in symbol_valid()
299 (s->addr == text_range_inittext->end && in symbol_valid()
300 strcmp(name, text_range_inittext->end_sym))) in symbol_valid()
347 sym->start_pos = table_cnt; in read_map()
376 printf("\tPTR\t_text + %#llx\n", addr - _text); in output_address()
378 printf("\tPTR\t_text - %#llx\n", _text - addr); in output_address()
401 len--; in expand_symbol()
410 return s->percpu_absolute; in symbol_absolute()
422 printf("#define PTR .quad\n"); in write_src()
441 * non-relocatable fixed offsets that will be fixed in write_src()
449 offset = table[i]->addr - relative_base; in write_src()
452 offset = table[i]->addr; in write_src()
455 offset = relative_base - table[i]->addr - 1; in write_src()
460 "%s symbol value %#llx out of range in relative mode\n", in write_src()
462 table[i]->addr); in write_src()
467 output_address(table[i]->addr); in write_src()
469 printf("\tPTR\t%#llx\n", table[i]->addr); in write_src()
500 if (table[i]->len == 0) { in write_src()
506 /* Only lengths that fit in up-to-two-byte ULEB128 are supported. */ in write_src()
507 if (table[i]->len > 0x3FFF) { in write_src()
514 if (table[i]->len <= 0x7F) { in write_src()
516 printf("\t.byte 0x%02x", table[i]->len); in write_src()
517 off += table[i]->len + 1; in write_src()
521 (table[i]->len & 0x7F) | 0x80, in write_src()
522 (table[i]->len >> 7) & 0x7F); in write_src()
523 off += table[i]->len + 2; in write_src()
525 for (k = 0; k < table[i]->len; k++) in write_src()
526 printf(", 0x%02x", table[i]->sym[k]); in write_src()
562 for (i = 0; i < len - 1; i++) in learn_symbol()
571 for (i = 0; i < len - 1; i++) in forget_symbol()
572 token_profit[ symbol[i] + (symbol[i + 1] << 8) ]--; in forget_symbol()
581 learn_symbol(table[i]->sym, table[i]->len); in build_initial_tok_table()
589 for (i = 0; i < len - 1; i++) { in find_token()
605 len = table[i]->len; in compress_symbols()
606 p1 = table[i]->sym; in compress_symbols()
613 forget_symbol(table[i]->sym, len); in compress_symbols()
620 size -= (p2 - p1); in compress_symbols()
623 len--; in compress_symbols()
632 table[i]->len = len; in compress_symbols()
635 learn_symbol(table[i]->sym, len); in compress_symbols()
644 bestprofit=-10000; in find_best_token()
663 for (i = 255; i >= 0; i--) { in optimize_result()
691 for (j = 0; j < table[i]->len; j++) { in insert_real_symbols_in_table()
692 c = table[i]->sym[j]; in insert_real_symbols_in_table()
709 static int may_be_linker_script_provide_symbol(const struct sym_entry *se) in may_be_linker_script_provide_symbol() argument
711 const char *symbol = sym_name(se); in may_be_linker_script_provide_symbol()
712 int len = se->len - 1; in may_be_linker_script_provide_symbol()
733 if (!memcmp(symbol + len - 6, "_start", 6)) in may_be_linker_script_provide_symbol()
737 if (!memcmp(symbol + len - 4, "_end", 4)) in may_be_linker_script_provide_symbol()
750 if (sa->addr > sb->addr) in compare_symbols()
752 if (sa->addr < sb->addr) in compare_symbols()
753 return -1; in compare_symbols()
756 wa = (sa->sym[0] == 'w') || (sa->sym[0] == 'W'); in compare_symbols()
757 wb = (sb->sym[0] == 'w') || (sb->sym[0] == 'W'); in compare_symbols()
759 return wa - wb; in compare_symbols()
765 return wa - wb; in compare_symbols()
771 return wa - wb; in compare_symbols()
774 return sa->start_pos - sb->start_pos; in compare_symbols()
793 table[i]->sym[0] = 'A'; in make_percpus_absolute()
794 table[i]->percpu_absolute = 1; in make_percpus_absolute()
798 /* find the minimum non-absolute symbol address */
807 * Take the first non-absolute symbol value. in record_relative_base()
809 relative_base = table[i]->addr; in record_relative_base()
818 {"all-symbols", no_argument, &all_symbols, 1}, in main()
819 {"absolute-percpu", no_argument, &absolute_percpu, 1}, in main()
820 {"base-relative", no_argument, &base_relative, 1}, in main()
826 if (c == -1) in main()