arch/alpha/kernel/module.c
139
Elf64_Sym *symtab, *sym;
arch/alpha/kernel/module.c
164
sym = symtab + r_sym;
arch/alpha/kernel/module.c
165
value = sym->st_value + rela[i].r_addend;
arch/alpha/kernel/module.c
207
if (sym->st_shndx == SHN_UNDEF)
arch/alpha/kernel/module.c
209
if ((sym->st_other & STO_ALPHA_STD_GPLOAD) ==
arch/alpha/kernel/module.c
258
if (ELF64_ST_TYPE (sym->st_info) == STT_SECTION)
arch/alpha/kernel/module.c
261
me->name, r_type, sym->st_shndx);
arch/alpha/kernel/module.c
265
me->name, r_type, strtab + sym->st_name);
arch/arm/include/asm/assembler.h
208
.macro badr\c, rd, sym
arch/arm/include/asm/assembler.h
595
.macro __adldst_l, op, reg, sym, tmp, c
arch/arm/include/asm/assembler.h
652
.macro adr_l, dst:req, sym:req, cond
arch/arm/include/asm/assembler.h
663
.macro ldr_l, dst:req, sym:req, cond
arch/arm/include/asm/assembler.h
675
.macro str_l, src:req, sym:req, tmp:req, cond
arch/arm/include/asm/assembler.h
679
.macro __ldst_va, op, reg, tmp, sym, cond, offset
arch/arm/include/asm/assembler.h
705
.macro ldr_va, rd:req, sym:req, cond, tmp, offset=0
arch/arm/include/asm/assembler.h
716
.macro str_va, rn:req, sym:req, tmp:req, cond
arch/arm/include/asm/assembler.h
725
.macro ldr_this_cpu_armv6, rd:req, sym:req
arch/arm/include/asm/assembler.h
743
.macro ldr_this_cpu, rd:req, sym:req, t1:req, t2:req
arch/arm/include/asm/ftrace.h
62
static inline bool arch_syscall_match_sym_name(const char *sym,
arch/arm/include/asm/ftrace.h
65
if (!strcmp(sym, "sys_mmap2"))
arch/arm/include/asm/ftrace.h
66
sym = "sys_mmap_pgoff";
arch/arm/include/asm/ftrace.h
67
else if (!strcmp(sym, "sys_statfs64_wrapper"))
arch/arm/include/asm/ftrace.h
68
sym = "sys_statfs64";
arch/arm/include/asm/ftrace.h
69
else if (!strcmp(sym, "sys_fstatfs64_wrapper"))
arch/arm/include/asm/ftrace.h
70
sym = "sys_fstatfs64";
arch/arm/include/asm/ftrace.h
71
else if (!strcmp(sym, "sys_arm_fadvise64_64"))
arch/arm/include/asm/ftrace.h
72
sym = "sys_fadvise64_64";
arch/arm/include/asm/ftrace.h
75
return !strcasecmp(sym, name);
arch/arm/include/asm/insn.h
13
#define LOAD_SYM_ARMV6(reg, sym) \
arch/arm/include/asm/insn.h
14
" .globl " #sym " \n\t" \
arch/arm/include/asm/insn.h
15
" .reloc 10f, R_ARM_ALU_PC_G0_NC, " #sym " \n\t" \
arch/arm/include/asm/insn.h
16
" .reloc 11f, R_ARM_ALU_PC_G1_NC, " #sym " \n\t" \
arch/arm/include/asm/insn.h
17
" .reloc 12f, R_ARM_LDR_PC_G2, " #sym " \n\t" \
arch/arm/include/asm/module.h
48
static inline unsigned long kallsyms_symbol_value(const Elf_Sym *sym)
arch/arm/include/asm/module.h
50
if (ELF_ST_TYPE(sym->st_info) == STT_FUNC)
arch/arm/include/asm/module.h
51
return sym->st_value & ~1;
arch/arm/include/asm/module.h
53
return sym->st_value;
arch/arm/include/asm/vmlinux.lds.h
44
#define ARM_LMA(sym, section) \
arch/arm/include/asm/vmlinux.lds.h
45
sym##_start = LOADADDR(section); \
arch/arm/include/asm/vmlinux.lds.h
46
sym##_end = LOADADDR(section) + SIZEOF(section)
arch/arm/kernel/module.c
105
sym = ((Elf32_Sym *)symsec->sh_addr) + offset;
arch/arm/kernel/module.c
106
symname = strtab + sym->st_name;
arch/arm/kernel/module.c
124
*(u32 *)loc += sym->st_value;
arch/arm/kernel/module.c
130
if (sym->st_value & 3) {
arch/arm/kernel/module.c
140
offset += sym->st_value - loc;
arch/arm/kernel/module.c
160
sym->st_value);
arch/arm/kernel/module.c
182
offset += sym->st_value - loc;
arch/arm/kernel/module.c
187
sym->st_value);
arch/arm/kernel/module.c
195
*(u32 *)loc += sym->st_value - loc;
arch/arm/kernel/module.c
206
offset += sym->st_value;
arch/arm/kernel/module.c
230
offset += sym->st_value - loc;
arch/arm/kernel/module.c
251
offset += sym->st_value - loc;
arch/arm/kernel/module.c
264
sym->st_value);
arch/arm/kernel/module.c
282
if (ELF32_ST_TYPE(sym->st_info) == STT_FUNC &&
arch/arm/kernel/module.c
283
!(sym->st_value & 1)) {
arch/arm/kernel/module.c
313
offset += sym->st_value - loc;
arch/arm/kernel/module.c
331
sym->st_value);
arch/arm/kernel/module.c
369
offset += sym->st_value;
arch/arm/kernel/module.c
87
Elf32_Sym *sym;
arch/arm/kernel/vdso.c
136
Elf32_Sym *sym;
arch/arm/kernel/vdso.c
138
sym = find_symbol(lib, symname);
arch/arm/kernel/vdso.c
139
if (!sym)
arch/arm/kernel/vdso.c
142
sym->st_name = 0;
arch/arm64/include/asm/assembler.h
175
.macro adr_l, dst, sym
arch/arm64/include/asm/assembler.h
187
.macro ldr_l, dst, sym, tmp=
arch/arm64/include/asm/assembler.h
203
.macro str_l, src, sym, tmp
arch/arm64/include/asm/assembler.h
238
.macro adr_this_cpu, dst, sym, tmp
arch/arm64/include/asm/assembler.h
250
.macro ldr_this_cpu dst, sym, tmp
arch/arm64/include/asm/assembler.h
552
.macro le64sym, sym
arch/arm64/include/asm/ftrace.h
210
static inline bool arch_syscall_match_sym_name(const char *sym,
arch/arm64/include/asm/ftrace.h
218
return !strcmp(sym + 8, name);
arch/arm64/include/asm/hyp_image.h
18
#define kvm_nvhe_sym(sym) __kvm_nvhe_##sym
arch/arm64/include/asm/hyp_image.h
20
#define kvm_nvhe_sym(sym) sym
arch/arm64/include/asm/hyp_image.h
61
#define KVM_NVHE_ALIAS(sym) kvm_nvhe_sym(sym) = sym;
arch/arm64/include/asm/kvm_asm.h
101
#define DECLARE_KVM_HYP_SYM(sym) \
arch/arm64/include/asm/kvm_asm.h
102
DECLARE_KVM_VHE_SYM(sym); \
arch/arm64/include/asm/kvm_asm.h
103
DECLARE_KVM_NVHE_SYM(sym)
arch/arm64/include/asm/kvm_asm.h
105
#define DECLARE_KVM_VHE_PER_CPU(type, sym) \
arch/arm64/include/asm/kvm_asm.h
106
DECLARE_PER_CPU(type, sym)
arch/arm64/include/asm/kvm_asm.h
107
#define DECLARE_KVM_NVHE_PER_CPU(type, sym) \
arch/arm64/include/asm/kvm_asm.h
108
DECLARE_PER_CPU(type, kvm_nvhe_sym(sym))
arch/arm64/include/asm/kvm_asm.h
110
#define DECLARE_KVM_HYP_PER_CPU(type, sym) \
arch/arm64/include/asm/kvm_asm.h
111
DECLARE_KVM_VHE_PER_CPU(type, sym); \
arch/arm64/include/asm/kvm_asm.h
112
DECLARE_KVM_NVHE_PER_CPU(type, sym)
arch/arm64/include/asm/kvm_asm.h
118
#define this_cpu_ptr_nvhe_sym(sym) per_cpu_ptr_nvhe_sym(sym, smp_processor_id())
arch/arm64/include/asm/kvm_asm.h
119
#define per_cpu_ptr_nvhe_sym(sym, cpu) \
arch/arm64/include/asm/kvm_asm.h
123
off = (unsigned long)&CHOOSE_NVHE_SYM(sym) - \
arch/arm64/include/asm/kvm_asm.h
125
base ? (typeof(CHOOSE_NVHE_SYM(sym))*)(base + off) : NULL; \
arch/arm64/include/asm/kvm_asm.h
130
#define CHOOSE_NVHE_SYM(sym) sym
arch/arm64/include/asm/kvm_asm.h
131
#define CHOOSE_HYP_SYM(sym) CHOOSE_NVHE_SYM(sym)
arch/arm64/include/asm/kvm_asm.h
135
#define CHOOSE_VHE_SYM(sym) __nvhe_undefined_symbol
arch/arm64/include/asm/kvm_asm.h
136
#define this_cpu_ptr_hyp_sym(sym) (&__nvhe_undefined_symbol)
arch/arm64/include/asm/kvm_asm.h
137
#define per_cpu_ptr_hyp_sym(sym, cpu) (&__nvhe_undefined_symbol)
arch/arm64/include/asm/kvm_asm.h
141
#define CHOOSE_VHE_SYM(sym) sym
arch/arm64/include/asm/kvm_asm.h
142
#define CHOOSE_HYP_SYM(sym) CHOOSE_VHE_SYM(sym)
arch/arm64/include/asm/kvm_asm.h
146
#define CHOOSE_NVHE_SYM(sym) __vhe_undefined_symbol
arch/arm64/include/asm/kvm_asm.h
147
#define this_cpu_ptr_hyp_sym(sym) (&__vhe_undefined_symbol)
arch/arm64/include/asm/kvm_asm.h
148
#define per_cpu_ptr_hyp_sym(sym, cpu) (&__vhe_undefined_symbol)
arch/arm64/include/asm/kvm_asm.h
163
#define CHOOSE_HYP_SYM(sym) (is_kernel_in_hyp_mode() \
arch/arm64/include/asm/kvm_asm.h
164
? CHOOSE_VHE_SYM(sym) \
arch/arm64/include/asm/kvm_asm.h
165
: CHOOSE_NVHE_SYM(sym))
arch/arm64/include/asm/kvm_asm.h
167
#define this_cpu_ptr_hyp_sym(sym) (is_kernel_in_hyp_mode() \
arch/arm64/include/asm/kvm_asm.h
168
? this_cpu_ptr(&sym) \
arch/arm64/include/asm/kvm_asm.h
169
: this_cpu_ptr_nvhe_sym(sym))
arch/arm64/include/asm/kvm_asm.h
171
#define per_cpu_ptr_hyp_sym(sym, cpu) (is_kernel_in_hyp_mode() \
arch/arm64/include/asm/kvm_asm.h
172
? per_cpu_ptr(&sym, cpu) \
arch/arm64/include/asm/kvm_asm.h
173
: per_cpu_ptr_nvhe_sym(sym, cpu))
arch/arm64/include/asm/kvm_asm.h
175
#define CHOOSE_VHE_SYM(sym) sym
arch/arm64/include/asm/kvm_asm.h
176
#define CHOOSE_NVHE_SYM(sym) kvm_nvhe_sym(sym)
arch/arm64/include/asm/kvm_asm.h
217
#define kvm_ksym_ref_nvhe(sym) kvm_ksym_ref(kvm_nvhe_sym(sym))
arch/arm64/include/asm/kvm_asm.h
94
#define DECLARE_KVM_VHE_SYM(sym) extern char sym[]
arch/arm64/include/asm/kvm_asm.h
95
#define DECLARE_KVM_NVHE_SYM(sym) extern char kvm_nvhe_sym(sym)[]
arch/arm64/include/asm/module.h
27
Elf64_Sym *sym);
arch/arm64/include/asm/runtime-const.h
14
#define runtime_const_ptr(sym) ({ \
arch/arm64/include/asm/runtime-const.h
15
typeof(sym) __ret; \
arch/arm64/include/asm/runtime-const.h
21
".pushsection runtime_ptr_" #sym ",\"a\"\n\t" \
arch/arm64/include/asm/runtime-const.h
27
#define runtime_const_shift_right_32(val, sym) ({ \
arch/arm64/include/asm/runtime-const.h
31
".pushsection runtime_shift_" #sym ",\"a\"\n\t" \
arch/arm64/include/asm/runtime-const.h
38
#define runtime_const_init(type, sym) do { \
arch/arm64/include/asm/runtime-const.h
39
extern s32 __start_runtime_##type##_##sym[]; \
arch/arm64/include/asm/runtime-const.h
40
extern s32 __stop_runtime_##type##_##sym[]; \
arch/arm64/include/asm/runtime-const.h
42
(unsigned long)(sym), \
arch/arm64/include/asm/runtime-const.h
43
__start_runtime_##type##_##sym, \
arch/arm64/include/asm/runtime-const.h
44
__stop_runtime_##type##_##sym); \
arch/arm64/kernel/image-vars.h
17
#define PI_EXPORT_SYM(sym) \
arch/arm64/kernel/image-vars.h
18
__PI_EXPORT_SYM(sym, __pi_ ## sym, Cannot export BSS symbol sym to startup code)
arch/arm64/kernel/image-vars.h
19
#define __PI_EXPORT_SYM(sym, pisym, msg)\
arch/arm64/kernel/image-vars.h
20
PROVIDE(pisym = sym); \
arch/arm64/kernel/image-vars.h
21
ASSERT((sym - KIMAGE_VADDR) < (__bss_start - KIMAGE_VADDR), #msg)
arch/arm64/kernel/image.h
37
#define DEFINE_IMAGE_LE64(sym, data) \
arch/arm64/kernel/image.h
38
sym##_lo32 = DATA_LE32((data) & 0xffffffff); \
arch/arm64/kernel/image.h
39
sym##_hi32 = DATA_LE32((data) >> 32)
arch/arm64/kernel/module-plts.c
71
Elf64_Sym *sym)
arch/arm64/kernel/module-plts.c
78
u64 val = sym->st_value + rela->r_addend;
arch/arm64/kernel/module.c
240
Elf64_Sym *sym;
arch/arm64/kernel/module.c
251
sym = (Elf64_Sym *)sechdrs[symindex].sh_addr
arch/arm64/kernel/module.c
255
val = sym->st_value + rel[i].r_addend;
arch/arm64/kernel/module.c
420
val = module_emit_plt_entry(me, sechdrs, loc, &rel[i], sym);
arch/arm64/kernel/sys.c
54
#define __SYSCALL(nr, sym) asmlinkage long __arm64_##sym(const struct pt_regs *);
arch/arm64/kernel/sys.c
58
#define __SYSCALL(nr, sym) [nr] = __arm64_##sym,
arch/arm64/kernel/sys32.c
120
#define __SYSCALL_WITH_COMPAT(nr, sym, compat) __SYSCALL(nr, compat)
arch/arm64/kernel/sys32.c
123
#define __SYSCALL(nr, sym) asmlinkage long __arm64_##sym(const struct pt_regs *);
arch/arm64/kernel/sys32.c
127
#define __SYSCALL(nr, sym) [nr] = __arm64_##sym,
arch/csky/kernel/module.c
54
Elf32_Sym *sym;
arch/csky/kernel/module.c
62
sym = (Elf32_Sym *)sechdrs[symindex].sh_addr
arch/csky/kernel/module.c
68
*location = rel[i].r_addend + sym->st_value;
arch/csky/kernel/module.c
72
*location = rel[i].r_addend + sym->st_value
arch/csky/kernel/module.c
83
((rel[i].r_addend + sym->st_value) >> 16);
arch/csky/kernel/module.c
88
((rel[i].r_addend + sym->st_value) & 0xffff);
arch/hexagon/kernel/module.c
110
sym->st_name ?
arch/hexagon/kernel/module.c
111
&strtab[sym->st_name] : "(anonymous)");
arch/hexagon/kernel/module.c
72
Elf32_Sym *sym;
arch/hexagon/kernel/module.c
87
sym = sym_base + ELF32_R_SYM(rela[i].r_info);
arch/hexagon/kernel/module.c
93
value = sym->st_value + rela[i].r_addend;
arch/hexagon/kernel/module.c
97
sym->st_name ?
arch/hexagon/kernel/module.c
98
&strtab[sym->st_name] : "(anonymous)");
arch/loongarch/include/asm/asmmacro.h
662
.macro la_abs reg, sym
arch/loongarch/kernel/module.c
485
Elf_Sym *sym;
arch/loongarch/kernel/module.c
498
sym = (Elf_Sym *)sechdrs[symindex].sh_addr + ELF_R_SYM(rel[i].r_info);
arch/loongarch/kernel/module.c
499
if (IS_ERR_VALUE(sym->st_value)) {
arch/loongarch/kernel/module.c
501
if (ELF_ST_BIND(sym->st_info) == STB_WEAK)
arch/loongarch/kernel/module.c
503
pr_warn("%s: Unknown symbol %s\n", mod->name, strtab + sym->st_name);
arch/loongarch/kernel/module.c
521
(unsigned long)sym->st_value, (unsigned long)rel[i].r_addend, (unsigned long)location);
arch/loongarch/kernel/module.c
523
v = sym->st_value + rel[i].r_addend;
arch/loongarch/kernel/module.c
535
if ((hi20_location == sym->st_value) && (hi20_type == type - 1)) {
arch/m68k/kernel/module.c
30
Elf32_Sym *sym;
arch/m68k/kernel/module.c
41
sym = (Elf32_Sym *)sechdrs[symindex].sh_addr
arch/m68k/kernel/module.c
47
*location += sym->st_value;
arch/m68k/kernel/module.c
51
*location += sym->st_value - (uint32_t)location;
arch/m68k/kernel/module.c
70
Elf32_Sym *sym;
arch/m68k/kernel/module.c
81
sym = (Elf32_Sym *)sechdrs[symindex].sh_addr
arch/m68k/kernel/module.c
87
*location = rel[i].r_addend + sym->st_value;
arch/m68k/kernel/module.c
91
*location = rel[i].r_addend + sym->st_value - (uint32_t)location;
arch/microblaze/kernel/module.c
24
Elf32_Sym *sym;
arch/microblaze/kernel/module.c
35
sym = (Elf32_Sym *)sechdrs[symindex].sh_addr +
arch/microblaze/kernel/module.c
37
value = sym->st_value + rela[i].r_addend;
arch/mips/boot/tools/relocs.c
120
static const char *sym_name(const char *sym_strtab, Elf_Sym *sym)
arch/mips/boot/tools/relocs.c
124
if (sym->st_name)
arch/mips/boot/tools/relocs.c
125
name = sym_strtab + sym->st_name;
arch/mips/boot/tools/relocs.c
127
name = sec_name(sym->st_shndx);
arch/mips/boot/tools/relocs.c
343
Elf_Sym *sym = &sec->symtab[j];
arch/mips/boot/tools/relocs.c
345
sym->st_name = elf_word_to_cpu(sym->st_name);
arch/mips/boot/tools/relocs.c
346
sym->st_value = elf_addr_to_cpu(sym->st_value);
arch/mips/boot/tools/relocs.c
347
sym->st_size = elf_xword_to_cpu(sym->st_size);
arch/mips/boot/tools/relocs.c
348
sym->st_shndx = elf_half_to_cpu(sym->st_shndx);
arch/mips/boot/tools/relocs.c
469
Elf_Sym *sym, const char *symname))
arch/mips/boot/tools/relocs.c
498
Elf_Sym *sym = &sh_symtab[ELF_R_SYM(rel->r_info)];
arch/mips/boot/tools/relocs.c
499
const char *symname = sym_name(sym_strtab, sym);
arch/mips/boot/tools/relocs.c
501
process(sec, rel, sym, symname);
arch/mips/boot/tools/relocs.c
506
static int do_reloc(struct section *sec, Elf_Rel *rel, Elf_Sym *sym,
arch/mips/boot/tools/relocs.c
510
unsigned bind = ELF_ST_BIND(sym->st_info);
arch/mips/boot/tools/relocs.c
512
if ((bind == STB_WEAK) && (sym->st_value == 0)) {
arch/mips/boot/tools/relocs.c
643
static int do_reloc_info(struct section *sec, Elf_Rel *rel, ElfW(Sym) *sym,
arch/mips/boot/tools/relocs.c
651
sec_name(sym->st_shndx));
arch/mips/include/asm/ftrace.h
102
static inline bool arch_syscall_match_sym_name(const char *sym,
arch/mips/include/asm/ftrace.h
105
return !strcmp(sym, name) ||
arch/mips/include/asm/ftrace.h
106
(!strncmp(sym, "__sys_", 6) && !strcmp(sym + 6, name + 4));
arch/mips/include/asm/uasm.h
19
#define UASM_EXPORT_SYMBOL(sym) EXPORT_SYMBOL(sym)
arch/mips/include/asm/uasm.h
21
#define UASM_EXPORT_SYMBOL(sym)
arch/mips/kernel/module.c
311
Elf_Sym *sym;
arch/mips/kernel/module.c
329
sym = (Elf_Sym *)sechdrs[symindex].sh_addr
arch/mips/kernel/module.c
331
if (sym->st_value >= -MAX_ERRNO) {
arch/mips/kernel/module.c
333
if (ELF_ST_BIND(sym->st_info) == STB_WEAK)
arch/mips/kernel/module.c
336
me->name, strtab + sym->st_name);
arch/mips/kernel/module.c
344
v = sym->st_value + r.rela->r_addend;
arch/mips/kernel/module.c
348
v = sym->st_value;
arch/mips/kernel/vpe.c
432
Elf32_Sym *sym;
arch/mips/kernel/vpe.c
445
sym = (Elf32_Sym *)sechdrs[symindex].sh_addr
arch/mips/kernel/vpe.c
448
if (!sym->st_value) {
arch/mips/kernel/vpe.c
450
me->name, strtab + sym->st_name);
arch/mips/kernel/vpe.c
454
v = sym->st_value;
arch/mips/kernel/vpe.c
461
strtab + sym->st_name);
arch/mips/kernel/vpe.c
483
Elf_Sym *sym = (void *)sechdrs[symindex].sh_addr;
arch/mips/kernel/vpe.c
497
switch (sym[i].st_shndx) {
arch/mips/kernel/vpe.c
503
size = sym[i].st_value;
arch/mips/kernel/vpe.c
504
sym[i].st_value = bssbase;
arch/mips/kernel/vpe.c
519
strtab + sym[i].st_name, sym[i].st_shndx);
arch/mips/kernel/vpe.c
524
secbase = sechdrs[sym[i].st_shndx].sh_addr;
arch/mips/kernel/vpe.c
526
if (strncmp(strtab + sym[i].st_name, "_gp", 3) == 0)
arch/mips/kernel/vpe.c
527
save_gp_address(secbase, sym[i].st_value);
arch/mips/kernel/vpe.c
529
sym[i].st_value += secbase;
arch/mips/kernel/vpe.c
539
Elf_Sym *sym = (void *)sechdrs[symindex].sh_addr;
arch/mips/kernel/vpe.c
544
pr_debug(" i %d name <%s> 0x%x\n", i, strtab + sym[i].st_name,
arch/mips/kernel/vpe.c
545
sym[i].st_value);
arch/mips/kernel/vpe.c
554
Elf_Sym *sym = (void *)sechdrs[symindex].sh_addr;
arch/mips/kernel/vpe.c
558
if (strcmp(strtab + sym[i].st_name, "__start") == 0)
arch/mips/kernel/vpe.c
559
v->__start = sym[i].st_value;
arch/mips/kernel/vpe.c
561
if (strcmp(strtab + sym[i].st_name, "vpe_shared") == 0)
arch/mips/kernel/vpe.c
562
v->shared_ptr = (void *)sym[i].st_value;
arch/mips/vdso/genvdso.h
110
sym = symtab + (j * st_entsize);
arch/mips/vdso/genvdso.h
111
name = strtab + swap_uint32(sym->st_name);
arch/mips/vdso/genvdso.h
114
offset = FUNC(swap_uint)(sym->st_value);
arch/mips/vdso/genvdso.h
63
const ELF(Sym) *sym;
arch/nios2/kernel/module.c
41
Elf32_Sym *sym
arch/nios2/kernel/module.c
44
uint32_t v = sym->st_value + rela[i].r_addend;
arch/nios2/kernel/module.c
48
rela[i].r_offset, strtab + sym->st_name);
arch/openrisc/kernel/module.c
24
Elf32_Sym *sym;
arch/openrisc/kernel/module.c
37
sym = (Elf32_Sym *)sechdrs[symindex].sh_addr
arch/openrisc/kernel/module.c
39
value = sym->st_value + rel[i].r_addend;
arch/parisc/kernel/module.c
497
Elf32_Sym *sym;
arch/parisc/kernel/module.c
516
sym = (Elf32_Sym *)sechdrs[symindex].sh_addr
arch/parisc/kernel/module.c
518
if (!sym->st_value) {
arch/parisc/kernel/module.c
520
me->name, strtab + sym->st_name);
arch/parisc/kernel/module.c
526
val = sym->st_value;
arch/parisc/kernel/module.c
532
strtab + sym->st_name,
arch/parisc/kernel/module.c
596
val = get_stub(me, sym->st_value, addend,
arch/parisc/kernel/module.c
611
val = get_stub(me, sym->st_value, addend,
arch/parisc/kernel/module.c
63
me->name, strtab + sym->st_name, (unsigned long)val, bits); \
arch/parisc/kernel/module.c
642
Elf64_Sym *sym;
arch/parisc/kernel/module.c
660
sym = (Elf64_Sym *)sechdrs[symindex].sh_addr
arch/parisc/kernel/module.c
662
if (!sym->st_value) {
arch/parisc/kernel/module.c
664
me->name, strtab + sym->st_name);
arch/parisc/kernel/module.c
671
val = sym->st_value;
arch/parisc/kernel/module.c
677
strtab + sym->st_name,
arch/parisc/kernel/module.c
694
strtab + sym->st_name,
arch/parisc/kernel/module.c
705
strtab + sym->st_name,
arch/parisc/kernel/module.c
712
strtab + sym->st_name,
arch/parisc/kernel/module.c
725
val = get_stub(me, sym->st_value,
arch/parisc/kernel/module.c
730
val = sym->st_value;
arch/parisc/kernel/module.c
734
val = sym->st_value;
arch/parisc/kernel/module.c
735
if (strncmp(strtab + sym->st_name, "$$", 2)
arch/parisc/kernel/module.c
744
strtab + sym->st_name, loc, sym->st_value,
arch/parisc/kernel/module.c
778
strtab + sym->st_name, *loc64,
arch/parisc/kernel/module.c
785
strtab + sym->st_name,
arch/powerpc/include/asm/ftrace.h
102
static inline bool arch_syscall_match_sym_name(const char *sym, const char *name)
arch/powerpc/include/asm/ftrace.h
104
return !strcmp(sym, name) ||
arch/powerpc/include/asm/ftrace.h
105
(!strncmp(sym, "__se_sys", 8) && !strcmp(sym + 5, name)) ||
arch/powerpc/include/asm/ftrace.h
106
(!strncmp(sym, "ppc_", 4) && !strcmp(sym + 4, name + 4)) ||
arch/powerpc/include/asm/ftrace.h
107
(!strncmp(sym, "ppc32_", 6) && !strcmp(sym + 6, name + 4)) ||
arch/powerpc/include/asm/ftrace.h
108
(!strncmp(sym, "ppc64_", 6) && !strcmp(sym + 6, name + 4));
arch/powerpc/kernel/asm-offsets.c
75
#define STACK_PT_REGS_OFFSET(sym, val) \
arch/powerpc/kernel/asm-offsets.c
76
DEFINE(sym, STACK_INT_FRAME_REGS + offsetof(struct pt_regs, val))
arch/powerpc/kernel/module_32.c
204
Elf32_Sym *sym;
arch/powerpc/kernel/module_32.c
216
sym = (Elf32_Sym *)sechdrs[symindex].sh_addr
arch/powerpc/kernel/module_32.c
219
value = sym->st_value + rela[i].r_addend;
arch/powerpc/kernel/module_64.c
1059
strtab + sym->st_name);
arch/powerpc/kernel/module_64.c
278
Elf64_Sym *sym;
arch/powerpc/kernel/module_64.c
281
sym = (Elf64_Sym *)sechdrs[symindex].sh_addr
arch/powerpc/kernel/module_64.c
284
if (sym->st_shndx == pcpu &&
arch/powerpc/kernel/module_64.c
61
static unsigned int local_entry_offset(const Elf64_Sym *sym)
arch/powerpc/kernel/module_64.c
66
return PPC64_LOCAL_ENTRY_OFFSET(sym->st_other);
arch/powerpc/kernel/module_64.c
74
static unsigned int local_entry_offset(const Elf64_Sym *sym)
arch/powerpc/kernel/module_64.c
801
Elf64_Sym *sym;
arch/powerpc/kernel/module_64.c
811
sym = find_dot_toc(sechdrs, strtab, symindex);
arch/powerpc/kernel/module_64.c
814
if (sym)
arch/powerpc/kernel/module_64.c
815
sym->st_value = my_r2(sechdrs, me);
arch/powerpc/kernel/module_64.c
824
sym = (Elf64_Sym *)sechdrs[symindex].sh_addr
arch/powerpc/kernel/module_64.c
829
strtab + sym->st_name, (unsigned long)sym->st_value,
arch/powerpc/kernel/module_64.c
833
value = sym->st_value + rela[i].r_addend;
arch/powerpc/kernel/module_64.c
914
if (sym->st_shndx == SHN_UNDEF ||
arch/powerpc/kernel/module_64.c
915
sym->st_shndx == SHN_LIVEPATCH) {
arch/powerpc/kernel/module_64.c
918
strtab + sym->st_name);
arch/powerpc/kernel/module_64.c
921
if (restore_r2(strtab + sym->st_name,
arch/powerpc/kernel/module_64.c
925
value += local_entry_offset(sym);
arch/powerpc/kernel/module_64.c
968
if (sym->st_shndx != me->arch.pcpu_section) {
arch/powerpc/kernel/module_64.c
980
strtab + sym->st_name);
arch/riscv/include/asm/asm.h
103
.macro asm_per_cpu dst sym tmp
arch/riscv/include/asm/asm.h
93
.macro asm_per_cpu dst sym tmp
arch/riscv/include/asm/ftrace.h
37
static inline bool arch_syscall_match_sym_name(const char *sym,
arch/riscv/include/asm/ftrace.h
45
return !strcmp(sym + 8, name);
arch/riscv/include/asm/runtime-const.h
104
#define runtime_const_ptr(sym) \
arch/riscv/include/asm/runtime-const.h
106
typeof(sym) __ret, __tmp; \
arch/riscv/include/asm/runtime-const.h
113
RISCV_RUNTIME_CONST_64_POSTAMBLE(sym) \
arch/riscv/include/asm/runtime-const.h
118
#define runtime_const_ptr(sym) \
arch/riscv/include/asm/runtime-const.h
120
typeof(sym) __ret, __tmp; \
arch/riscv/include/asm/runtime-const.h
127
RISCV_RUNTIME_CONST_64_POSTAMBLE(sym) \
arch/riscv/include/asm/runtime-const.h
132
#define runtime_const_ptr(sym) \
arch/riscv/include/asm/runtime-const.h
134
typeof(sym) __ret, __tmp; \
arch/riscv/include/asm/runtime-const.h
137
RISCV_RUNTIME_CONST_64_POSTAMBLE(sym) \
arch/riscv/include/asm/runtime-const.h
144
#define runtime_const_shift_right_32(val, sym) \
arch/riscv/include/asm/runtime-const.h
152
".pushsection runtime_shift_" #sym ",\"a\"\n\t" \
arch/riscv/include/asm/runtime-const.h
160
#define runtime_const_init(type, sym) do { \
arch/riscv/include/asm/runtime-const.h
161
extern s32 __start_runtime_##type##_##sym[]; \
arch/riscv/include/asm/runtime-const.h
162
extern s32 __stop_runtime_##type##_##sym[]; \
arch/riscv/include/asm/runtime-const.h
165
(unsigned long)(sym), \
arch/riscv/include/asm/runtime-const.h
166
__start_runtime_##type##_##sym, \
arch/riscv/include/asm/runtime-const.h
167
__stop_runtime_##type##_##sym); \
arch/riscv/include/asm/runtime-const.h
19
#define runtime_const_ptr(sym) \
arch/riscv/include/asm/runtime-const.h
21
typeof(sym) __ret; \
arch/riscv/include/asm/runtime-const.h
28
".pushsection runtime_ptr_" #sym ",\"a\"\n\t" \
arch/riscv/include/asm/runtime-const.h
80
#define RISCV_RUNTIME_CONST_64_POSTAMBLE(sym) \
arch/riscv/include/asm/runtime-const.h
82
".pushsection runtime_ptr_" #sym ",\"a\"\n\t" \
arch/riscv/include/asm/runtime-const.h
88
#define runtime_const_ptr(sym) \
arch/riscv/include/asm/runtime-const.h
90
typeof(sym) __ret, __tmp; \
arch/riscv/include/asm/runtime-const.h
99
RISCV_RUNTIME_CONST_64_POSTAMBLE(sym) \
arch/riscv/kernel/machine_kexec_file.c
163
const Elf_Sym *sym; /* symbol to relocate */
arch/riscv/kernel/machine_kexec_file.c
169
sym = (void *)pi->ehdr + symtab->sh_offset;
arch/riscv/kernel/machine_kexec_file.c
170
sym += ELF64_R_SYM(relas[i].r_info);
arch/riscv/kernel/machine_kexec_file.c
172
if (sym->st_name)
arch/riscv/kernel/machine_kexec_file.c
173
name = strtab + sym->st_name;
arch/riscv/kernel/machine_kexec_file.c
175
name = shstrtab + sechdrs[sym->st_shndx].sh_name;
arch/riscv/kernel/machine_kexec_file.c
181
if (sym->st_shndx == SHN_ABS)
arch/riscv/kernel/machine_kexec_file.c
183
else if (sym->st_shndx >= pi->ehdr->e_shnum) {
arch/riscv/kernel/machine_kexec_file.c
185
sym->st_shndx, name);
arch/riscv/kernel/machine_kexec_file.c
188
sec_base = pi->sechdrs[sym->st_shndx].sh_addr;
arch/riscv/kernel/machine_kexec_file.c
190
val = sym->st_value;
arch/riscv/kernel/module.c
772
Elf_Sym *sym;
arch/riscv/kernel/module.c
797
sym = (Elf_Sym *)sechdrs[symindex].sh_addr
arch/riscv/kernel/module.c
799
if (IS_ERR_VALUE(sym->st_value)) {
arch/riscv/kernel/module.c
801
if (ELF_ST_BIND(sym->st_info) == STB_WEAK)
arch/riscv/kernel/module.c
804
me->name, strtab + sym->st_name);
arch/riscv/kernel/module.c
821
v = sym->st_value + rel[i].r_addend;
arch/riscv/kernel/module.c
834
if (hi20_loc == sym->st_value
arch/s390/include/asm/asm.h
35
#define CC_IPM(sym)
arch/s390/include/asm/asm.h
36
#define CC_OUT(sym, var) "=@cc" (var)
arch/s390/include/asm/asm.h
43
#define CC_IPM(sym) " ipm %[" __stringify(sym) "]\n"
arch/s390/include/asm/asm.h
44
#define CC_OUT(sym, var) [sym] "=d" (var)
arch/s390/include/asm/ftrace.h
109
static inline bool arch_syscall_match_sym_name(const char *sym,
arch/s390/include/asm/ftrace.h
113
return !strcmp(sym + 7, name) || !strcmp(sym + 8, name);
arch/s390/include/asm/runtime-const.h
14
".pushsection runtime_ptr_" #sym ",\"a\"\n" \
arch/s390/include/asm/runtime-const.h
23
#define runtime_const_shift_right_32(val, sym) \
arch/s390/include/asm/runtime-const.h
29
".pushsection runtime_shift_" #sym ",\"a\"\n" \
arch/s390/include/asm/runtime-const.h
36
#define runtime_const_init(type, sym) do { \
arch/s390/include/asm/runtime-const.h
37
extern s32 __start_runtime_##type##_##sym[]; \
arch/s390/include/asm/runtime-const.h
38
extern s32 __stop_runtime_##type##_##sym[]; \
arch/s390/include/asm/runtime-const.h
41
(unsigned long)(sym), \
arch/s390/include/asm/runtime-const.h
42
__start_runtime_##type##_##sym, \
arch/s390/include/asm/runtime-const.h
43
__stop_runtime_##type##_##sym); \
arch/s390/include/asm/runtime-const.h
7
#define runtime_const_ptr(sym) \
arch/s390/include/asm/runtime-const.h
9
typeof(sym) __ret; \
arch/s390/kernel/machine_kexec_file.c
330
const Elf_Sym *sym; /* symbol to relocate */
arch/s390/kernel/machine_kexec_file.c
335
sym = (void *)pi->ehdr + symtab->sh_offset;
arch/s390/kernel/machine_kexec_file.c
336
sym += ELF64_R_SYM(relas[i].r_info);
arch/s390/kernel/machine_kexec_file.c
338
if (sym->st_name)
arch/s390/kernel/machine_kexec_file.c
339
name = strtab + sym->st_name;
arch/s390/kernel/machine_kexec_file.c
341
name = shstrtab + sechdrs[sym->st_shndx].sh_name;
arch/s390/kernel/machine_kexec_file.c
343
if (sym->st_shndx == SHN_UNDEF) {
arch/s390/kernel/machine_kexec_file.c
348
if (sym->st_shndx == SHN_COMMON) {
arch/s390/kernel/machine_kexec_file.c
353
if (sym->st_shndx >= pi->ehdr->e_shnum &&
arch/s390/kernel/machine_kexec_file.c
354
sym->st_shndx != SHN_ABS) {
arch/s390/kernel/machine_kexec_file.c
356
sym->st_shndx, name);
arch/s390/kernel/machine_kexec_file.c
364
val = sym->st_value;
arch/s390/kernel/machine_kexec_file.c
365
if (sym->st_shndx != SHN_ABS)
arch/s390/kernel/machine_kexec_file.c
366
val += pi->sechdrs[sym->st_shndx].sh_addr;
arch/s390/kernel/syscall.c
43
#define __SYSCALL(nr, sym) long __s390x_##sym(struct pt_regs *);
arch/s390/kernel/syscall.c
47
#define __SYSCALL(nr, sym) [nr] = (__s390x_##sym),
arch/s390/lib/test_unwind.c
69
char sym[KSYM_SYMBOL_LEN];
arch/s390/lib/test_unwind.c
78
sprint_symbol(sym, addr);
arch/s390/lib/test_unwind.c
89
if (prev_is_func2 && str_has_prefix(sym, "unwindme_func1"))
arch/s390/lib/test_unwind.c
91
prev_is_func2 = str_has_prefix(sym, "unwindme_func2");
arch/s390/lib/test_unwind.c
92
if (str_has_prefix(sym, "arch_rethook_trampoline+0x0/"))
arch/sh/kernel/module.c
32
Elf32_Sym *sym;
arch/sh/kernel/module.c
45
sym = (Elf32_Sym *)sechdrs[symindex].sh_addr
arch/sh/kernel/module.c
47
relocation = sym->st_value + rel[i].r_addend;
arch/sparc/kernel/module.c
31
Elf_Sym *sym;
arch/sparc/kernel/module.c
40
sym = (Elf_Sym *)sechdrs[symidx].sh_addr;
arch/sparc/kernel/module.c
43
if (sym[i].st_shndx == SHN_UNDEF) {
arch/sparc/kernel/module.c
44
if (ELF_ST_TYPE(sym[i].st_info) == STT_REGISTER)
arch/sparc/kernel/module.c
45
sym[i].st_shndx = SHN_ABS;
arch/sparc/kernel/module.c
59
Elf_Sym *sym;
arch/sparc/kernel/module.c
77
sym = (Elf_Sym *)sechdrs[symindex].sh_addr
arch/sparc/kernel/module.c
79
v = sym->st_value + rel[i].r_addend;
arch/sparc/vdso/vdso2c.h
102
syms[k] = GET_BE(&sym->st_value);
arch/sparc/vdso/vdso2c.h
84
ELF(Sym) *sym = raw_addr + GET_BE(&symtab_hdr->sh_offset) +
arch/sparc/vdso/vdso2c.h
87
GET_BE(&sym->st_name);
arch/x86/entry/syscall_32.c
22
#define __SYSCALL(nr, sym) extern long __ia32_##sym(const struct pt_regs *);
arch/x86/entry/syscall_32.c
23
#define __SYSCALL_NORETURN(nr, sym) extern long __noreturn __ia32_##sym(const struct pt_regs *);
arch/x86/entry/syscall_32.c
36
#define __SYSCALL(nr, sym) __ia32_##sym,
arch/x86/entry/syscall_32.c
43
#define __SYSCALL(nr, sym) case nr: return __ia32_##sym(regs);
arch/x86/entry/syscall_64.c
12
#define __SYSCALL(nr, sym) extern long __x64_##sym(const struct pt_regs *);
arch/x86/entry/syscall_64.c
13
#define __SYSCALL_NORETURN(nr, sym) extern long __noreturn __x64_##sym(const struct pt_regs *);
arch/x86/entry/syscall_64.c
28
#define __SYSCALL(nr, sym) __x64_##sym,
arch/x86/entry/syscall_64.c
34
#define __SYSCALL(nr, sym) case nr: return __x64_##sym(regs);
arch/x86/include/asm/apic.h
352
#define apic_driver(sym) \
arch/x86/include/asm/apic.h
353
static const struct apic *__apicdrivers_##sym __used \
arch/x86/include/asm/apic.h
355
__section(".apicdrivers") = { &sym }
arch/x86/include/asm/atomic64_32.h
43
#define __ATOMIC64_DECL(sym) void atomic64_##sym(atomic64_t *, ...)
arch/x86/include/asm/atomic64_32.h
47
#define ATOMIC64_DECL_ONE(sym) __ATOMIC64_DECL(sym); \
arch/x86/include/asm/atomic64_32.h
48
ATOMIC64_EXPORT(atomic64_##sym)
arch/x86/include/asm/atomic64_32.h
59
#define ATOMIC64_DECL(sym) ATOMIC64_DECL_ONE(sym##_cx8)
arch/x86/include/asm/atomic64_32.h
66
#define ATOMIC64_DECL(sym) ATOMIC64_DECL_ONE(sym##_cx8); \
arch/x86/include/asm/atomic64_32.h
67
ATOMIC64_DECL_ONE(sym##_386)
arch/x86/include/asm/ftrace.h
130
static inline bool arch_syscall_match_sym_name(const char *sym, const char *name)
arch/x86/include/asm/ftrace.h
136
return !strcmp(sym + 3, name + 3) ||
arch/x86/include/asm/ftrace.h
137
(!strncmp(sym, "__x64_", 6) && !strcmp(sym + 9, name + 3)) ||
arch/x86/include/asm/ftrace.h
138
(!strncmp(sym, "__ia32_", 7) && !strcmp(sym + 10, name + 3)) ||
arch/x86/include/asm/ftrace.h
139
(!strncmp(sym, "__do_sys", 8) && !strcmp(sym + 8, name + 3));
arch/x86/include/asm/linkage.h
149
#define SYM_PIC_ALIAS(sym) SYM_ALIAS(__pi_ ## sym, sym, SYM_L_GLOBAL)
arch/x86/include/asm/linkage.h
151
#define SYM_PIC_ALIAS(sym) extern typeof(sym) __PASTE(__pi_, sym) __alias(sym)
arch/x86/include/asm/runtime-const.h
11
.macro RUNTIME_CONST_PTR sym reg
arch/x86/include/asm/runtime-const.h
21
#define runtime_const_ptr(sym) ({ \
arch/x86/include/asm/runtime-const.h
22
typeof(sym) __ret; \
arch/x86/include/asm/runtime-const.h
24
".pushsection runtime_ptr_" #sym ",\"a\"\n\t" \
arch/x86/include/asm/runtime-const.h
35
#define runtime_const_shift_right_32(val, sym) ({ \
arch/x86/include/asm/runtime-const.h
38
".pushsection runtime_shift_" #sym ",\"a\"\n\t" \
arch/x86/include/asm/runtime-const.h
44
#define runtime_const_init(type, sym) do { \
arch/x86/include/asm/runtime-const.h
45
extern s32 __start_runtime_##type##_##sym[]; \
arch/x86/include/asm/runtime-const.h
46
extern s32 __stop_runtime_##type##_##sym[]; \
arch/x86/include/asm/runtime-const.h
48
(unsigned long)(sym), \
arch/x86/include/asm/runtime-const.h
49
__start_runtime_##type##_##sym, \
arch/x86/include/asm/runtime-const.h
50
__stop_runtime_##type##_##sym); \
arch/x86/include/asm/uaccess_64.h
17
#define runtime_const_ptr(sym) (sym)
arch/x86/kernel/machine_kexec_64.c
506
Elf64_Sym *sym;
arch/x86/kernel/machine_kexec_64.c
547
sym = (void *)pi->ehdr + symtabsec->sh_offset;
arch/x86/kernel/machine_kexec_64.c
548
sym += ELF64_R_SYM(rel[i].r_info);
arch/x86/kernel/machine_kexec_64.c
550
if (sym->st_name)
arch/x86/kernel/machine_kexec_64.c
551
name = strtab + sym->st_name;
arch/x86/kernel/machine_kexec_64.c
553
name = shstrtab + sechdrs[sym->st_shndx].sh_name;
arch/x86/kernel/machine_kexec_64.c
556
name, sym->st_info, sym->st_shndx, sym->st_value,
arch/x86/kernel/machine_kexec_64.c
557
sym->st_size);
arch/x86/kernel/machine_kexec_64.c
559
if (sym->st_shndx == SHN_UNDEF) {
arch/x86/kernel/machine_kexec_64.c
564
if (sym->st_shndx == SHN_COMMON) {
arch/x86/kernel/machine_kexec_64.c
569
if (sym->st_shndx == SHN_ABS)
arch/x86/kernel/machine_kexec_64.c
571
else if (sym->st_shndx >= pi->ehdr->e_shnum) {
arch/x86/kernel/machine_kexec_64.c
573
sym->st_shndx, name);
arch/x86/kernel/machine_kexec_64.c
576
sec_base = pi->sechdrs[sym->st_shndx].sh_addr;
arch/x86/kernel/machine_kexec_64.c
578
value = sym->st_value;
arch/x86/kernel/module.c
110
sym = (Elf64_Sym *)sechdrs[symindex].sh_addr
arch/x86/kernel/module.c
115
sym->st_value, rel[i].r_addend, (u64)loc);
arch/x86/kernel/module.c
117
val = sym->st_value + rel[i].r_addend;
arch/x86/kernel/module.c
140
if (sym->st_value != (u64)addr) {
arch/x86/kernel/module.c
49
Elf32_Sym *sym;
arch/x86/kernel/module.c
60
sym = (Elf32_Sym *)sechdrs[symindex].sh_addr
arch/x86/kernel/module.c
66
*location += sym->st_value;
arch/x86/kernel/module.c
71
*location += sym->st_value - (uint32_t)location;
arch/x86/kernel/module.c
92
Elf64_Sym *sym;
arch/x86/tools/insn_decoder_test.c
112
char line[BUFSIZE], sym[BUFSIZE] = "<unknown>";
arch/x86/tools/insn_decoder_test.c
127
strcpy(sym, line);
arch/x86/tools/insn_decoder_test.c
158
"please report this.\n", sym);
arch/x86/tools/relocs.c
1028
static int do_reloc_info(struct section *sec, Elf_Rel *rel, ElfW(Sym) *sym,
arch/x86/tools/relocs.c
1035
sec_name(sym_index(sym)));
arch/x86/tools/relocs.c
20
static int sym_index(Elf_Sym *sym);
arch/x86/tools/relocs.c
277
static const char *sym_name(const char *sym_strtab, Elf_Sym *sym)
arch/x86/tools/relocs.c
282
if (sym->st_name)
arch/x86/tools/relocs.c
283
name = sym_strtab + sym->st_name;
arch/x86/tools/relocs.c
285
name = sec_name(sym_index(sym));
arch/x86/tools/relocs.c
329
static int sym_index(Elf_Sym *sym)
arch/x86/tools/relocs.c
336
if (sym->st_shndx != SHN_XINDEX)
arch/x86/tools/relocs.c
337
return sym->st_shndx;
arch/x86/tools/relocs.c
340
offset = (unsigned long)sym - (unsigned long)symtab;
arch/x86/tools/relocs.c
341
index = offset / sizeof(*sym);
arch/x86/tools/relocs.c
504
Elf_Sym *sym = &sec->symtab[j];
arch/x86/tools/relocs.c
506
sym->st_name = elf_word_to_cpu(sym->st_name);
arch/x86/tools/relocs.c
507
sym->st_value = elf_addr_to_cpu(sym->st_value);
arch/x86/tools/relocs.c
508
sym->st_size = elf_xword_to_cpu(sym->st_size);
arch/x86/tools/relocs.c
509
sym->st_shndx = elf_half_to_cpu(sym->st_shndx);
arch/x86/tools/relocs.c
578
Elf_Sym *sym;
arch/x86/tools/relocs.c
581
sym = &sec->symtab[j];
arch/x86/tools/relocs.c
582
name = sym_name(sym_strtab, sym);
arch/x86/tools/relocs.c
584
if (sym->st_shndx != SHN_ABS)
arch/x86/tools/relocs.c
588
j, sym->st_value, sym->st_size,
arch/x86/tools/relocs.c
589
sym_type(ELF_ST_TYPE(sym->st_info)),
arch/x86/tools/relocs.c
590
sym_bind(ELF_ST_BIND(sym->st_info)),
arch/x86/tools/relocs.c
591
sym_visibility(ELF_ST_VISIBILITY(sym->st_other)),
arch/x86/tools/relocs.c
636
Elf_Sym *sym;
arch/x86/tools/relocs.c
640
sym = &sh_symtab[ELF_R_SYM(rel->r_info)];
arch/x86/tools/relocs.c
641
name = sym_name(sym_strtab, sym);
arch/x86/tools/relocs.c
643
if (sym->st_shndx != SHN_ABS)
arch/x86/tools/relocs.c
672
sym->st_value,
arch/x86/tools/relocs.c
697
Elf_Sym *sym, const char *symname))
arch/x86/tools/relocs.c
730
Elf_Sym *sym = &sh_symtab[ELF_R_SYM(rel->r_info)];
arch/x86/tools/relocs.c
731
const char *symname = sym_name(sym_strtab, sym);
arch/x86/tools/relocs.c
733
process(sec, rel, sym, symname);
arch/x86/tools/relocs.c
740
static int do_reloc64(struct section *sec, Elf_Rel *rel, ElfW(Sym) *sym,
arch/x86/tools/relocs.c
745
int shn_abs = (sym->st_shndx == SHN_ABS) && !is_reloc(S_REL, symname);
arch/x86/tools/relocs.c
747
if (sym->st_shndx == SHN_UNDEF)
arch/x86/tools/relocs.c
811
static int do_reloc32(struct section *sec, Elf_Rel *rel, Elf_Sym *sym,
arch/x86/tools/relocs.c
815
int shn_abs = (sym->st_shndx == SHN_ABS) && !is_reloc(S_REL, symname);
arch/x86/tools/relocs.c
854
static int do_reloc_real(struct section *sec, Elf_Rel *rel, Elf_Sym *sym, const char *symname)
arch/x86/tools/relocs.c
857
int shn_abs = (sym->st_shndx == SHN_ABS) && !is_reloc(S_REL, symname);
arch/x86/tools/relocs.c
957
int (*do_reloc)(struct section *sec, Elf_Rel *rel, Elf_Sym *sym, const char *symname);
arch/x86/tools/vdso2c.h
129
ELF(Sym) *sym = raw_addr + GET_LE(&symtab_hdr->sh_offset) +
arch/x86/tools/vdso2c.h
133
GET_LE(&sym->st_name);
arch/x86/tools/vdso2c.h
148
syms[k] = GET_LE(&sym->st_value);
arch/x86/um/sys_call_table_32.c
31
#define __SYSCALL(nr, sym) extern asmlinkage long sym(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long);
arch/x86/um/sys_call_table_32.c
35
#define __SYSCALL(nr, sym) sym,
arch/x86/um/sys_call_table_64.c
27
#define __SYSCALL(nr, sym) extern asmlinkage long sym(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long);
arch/x86/um/sys_call_table_64.c
31
#define __SYSCALL(nr, sym) sym,
arch/x86/um/user-offsets.c
13
#define DEFINE_LONGS(sym, val) \
arch/x86/um/user-offsets.c
15
DEFINE(sym, val / sizeof(unsigned long))
arch/xtensa/kernel/module.c
115
strtab + sym->st_name);
arch/xtensa/kernel/module.c
55
Elf32_Sym *sym;
arch/xtensa/kernel/module.c
65
sym = (Elf32_Sym *)sechdrs[symindex].sh_addr
arch/xtensa/kernel/module.c
67
value = sym->st_value + rela[i].r_addend;
arch/xtensa/kernel/module.c
91
strtab + sym->st_name);
drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c
145
u32 common, sym;
drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c
176
sym = ce->variant->op_mode[algt->ce_blockmode];
drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c
180
sym |= CE_AES_128BITS;
drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c
183
sym |= CE_AES_192BITS;
drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c
186
sym |= CE_AES_256BITS;
drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c
190
cet->t_sym_ctl = cpu_to_le32(sym);
drivers/crypto/allwinner/sun8i-ce/sun8i-ce-prng.c
131
sym = PRNG_LD;
drivers/crypto/allwinner/sun8i-ce/sun8i-ce-prng.c
132
cet->t_sym_ctl = cpu_to_le32(sym);
drivers/crypto/allwinner/sun8i-ce/sun8i-ce-prng.c
68
u32 common, sym;
drivers/iio/dac/ad8460.c
226
uint16_t sym;
drivers/iio/dac/ad8460.c
229
ret = kstrtou16(buf, 10, &sym);
drivers/iio/dac/ad8460.c
238
FIELD_PREP(AD8460_PATTERN_DEPTH_MSK, sym));
drivers/media/dvb-frontends/stv090x.c
1851
u32 srate_coarse, freq_coarse, sym, reg;
drivers/media/dvb-frontends/stv090x.c
1856
sym = 13 * (srate_coarse / 10); /* SFRUP = SFR + 30% */
drivers/media/dvb-frontends/stv090x.c
1858
if (sym < state->srate)
drivers/media/dvb-frontends/stv090x.c
1888
sym = 13 * (srate_coarse / 10); /* SFRUP = SFR + 30% */
drivers/media/dvb-frontends/stv090x.c
1889
sym = (sym / 1000) * 65536;
drivers/media/dvb-frontends/stv090x.c
1890
sym /= (state->internal->mclk / 1000);
drivers/media/dvb-frontends/stv090x.c
1891
if (STV090x_WRITE_DEMOD(state, SFRUP1, (sym >> 8) & 0x7f) < 0)
drivers/media/dvb-frontends/stv090x.c
1893
if (STV090x_WRITE_DEMOD(state, SFRUP0, sym & 0xff) < 0)
drivers/media/dvb-frontends/stv090x.c
1895
sym = 10 * (srate_coarse / 13); /* SFRLOW = SFR - 30% */
drivers/media/dvb-frontends/stv090x.c
1896
sym = (sym / 1000) * 65536;
drivers/media/dvb-frontends/stv090x.c
1897
sym /= (state->internal->mclk / 1000);
drivers/media/dvb-frontends/stv090x.c
1898
if (STV090x_WRITE_DEMOD(state, SFRLOW1, (sym >> 8) & 0x7f) < 0)
drivers/media/dvb-frontends/stv090x.c
1900
if (STV090x_WRITE_DEMOD(state, SFRLOW0, sym & 0xff) < 0)
drivers/media/dvb-frontends/stv090x.c
1902
sym = (srate_coarse / 1000) * 65536;
drivers/media/dvb-frontends/stv090x.c
1903
sym /= (state->internal->mclk / 1000);
drivers/media/dvb-frontends/stv090x.c
1904
if (STV090x_WRITE_DEMOD(state, SFRINIT1, (sym >> 8) & 0xff) < 0)
drivers/media/dvb-frontends/stv090x.c
1906
if (STV090x_WRITE_DEMOD(state, SFRINIT0, sym & 0xff) < 0)
drivers/media/dvb-frontends/stv090x.c
1909
sym = 13 * (srate_coarse / 10); /* SFRUP = SFR + 30% */
drivers/media/dvb-frontends/stv090x.c
1910
sym = (sym / 100) * 65536;
drivers/media/dvb-frontends/stv090x.c
1911
sym /= (state->internal->mclk / 100);
drivers/media/dvb-frontends/stv090x.c
1912
if (STV090x_WRITE_DEMOD(state, SFRUP1, (sym >> 8) & 0x7f) < 0)
drivers/media/dvb-frontends/stv090x.c
1914
if (STV090x_WRITE_DEMOD(state, SFRUP0, sym & 0xff) < 0)
drivers/media/dvb-frontends/stv090x.c
1916
sym = 10 * (srate_coarse / 14); /* SFRLOW = SFR - 30% */
drivers/media/dvb-frontends/stv090x.c
1917
sym = (sym / 100) * 65536;
drivers/media/dvb-frontends/stv090x.c
1918
sym /= (state->internal->mclk / 100);
drivers/media/dvb-frontends/stv090x.c
1919
if (STV090x_WRITE_DEMOD(state, SFRLOW1, (sym >> 8) & 0x7f) < 0)
drivers/media/dvb-frontends/stv090x.c
1921
if (STV090x_WRITE_DEMOD(state, SFRLOW0, sym & 0xff) < 0)
drivers/media/dvb-frontends/stv090x.c
1923
sym = (srate_coarse / 100) * 65536;
drivers/media/dvb-frontends/stv090x.c
1924
sym /= (state->internal->mclk / 100);
drivers/media/dvb-frontends/stv090x.c
1925
if (STV090x_WRITE_DEMOD(state, SFRINIT1, (sym >> 8) & 0xff) < 0)
drivers/media/dvb-frontends/stv090x.c
1927
if (STV090x_WRITE_DEMOD(state, SFRINIT0, sym & 0xff) < 0)
drivers/media/dvb-frontends/stv090x.c
856
u32 sym;
drivers/media/dvb-frontends/stv090x.c
859
sym = (srate << 4); /* SR * 2^16 / master_clk */
drivers/media/dvb-frontends/stv090x.c
860
sym /= (state->internal->mclk >> 12);
drivers/media/dvb-frontends/stv090x.c
862
sym = (srate << 6);
drivers/media/dvb-frontends/stv090x.c
863
sym /= (state->internal->mclk >> 10);
drivers/media/dvb-frontends/stv090x.c
865
sym = (srate << 9);
drivers/media/dvb-frontends/stv090x.c
866
sym /= (state->internal->mclk >> 7);
drivers/media/dvb-frontends/stv090x.c
869
if (STV090x_WRITE_DEMOD(state, SFRINIT1, (sym >> 8) & 0x7f) < 0) /* MSB */
drivers/media/dvb-frontends/stv090x.c
871
if (STV090x_WRITE_DEMOD(state, SFRINIT0, (sym & 0xff)) < 0) /* LSB */
drivers/media/dvb-frontends/stv090x.c
882
u32 sym;
drivers/media/dvb-frontends/stv090x.c
886
sym = (srate << 4); /* SR * 2^16 / master_clk */
drivers/media/dvb-frontends/stv090x.c
887
sym /= (state->internal->mclk >> 12);
drivers/media/dvb-frontends/stv090x.c
889
sym = (srate << 6);
drivers/media/dvb-frontends/stv090x.c
890
sym /= (state->internal->mclk >> 10);
drivers/media/dvb-frontends/stv090x.c
892
sym = (srate << 9);
drivers/media/dvb-frontends/stv090x.c
893
sym /= (state->internal->mclk >> 7);
drivers/media/dvb-frontends/stv090x.c
896
if (sym < 0x7fff) {
drivers/media/dvb-frontends/stv090x.c
897
if (STV090x_WRITE_DEMOD(state, SFRUP1, (sym >> 8) & 0x7f) < 0) /* MSB */
drivers/media/dvb-frontends/stv090x.c
899
if (STV090x_WRITE_DEMOD(state, SFRUP0, sym & 0xff) < 0) /* LSB */
drivers/media/dvb-frontends/stv090x.c
916
u32 sym;
drivers/media/dvb-frontends/stv090x.c
920
sym = (srate << 4); /* SR * 2^16 / master_clk */
drivers/media/dvb-frontends/stv090x.c
921
sym /= (state->internal->mclk >> 12);
drivers/media/dvb-frontends/stv090x.c
923
sym = (srate << 6);
drivers/media/dvb-frontends/stv090x.c
924
sym /= (state->internal->mclk >> 10);
drivers/media/dvb-frontends/stv090x.c
926
sym = (srate << 9);
drivers/media/dvb-frontends/stv090x.c
927
sym /= (state->internal->mclk >> 7);
drivers/media/dvb-frontends/stv090x.c
930
if (STV090x_WRITE_DEMOD(state, SFRLOW1, ((sym >> 8) & 0x7f)) < 0) /* MSB */
drivers/media/dvb-frontends/stv090x.c
932
if (STV090x_WRITE_DEMOD(state, SFRLOW0, (sym & 0xff)) < 0) /* LSB */
drivers/memory/ti-emif-pm.c
22
#define TI_EMIF_SRAM_SYMBOL_OFFSET(sym) ((unsigned long)(sym) - \
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
329
const struct nfp_rtsym *sym;
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
331
sym = nfp_rtsym_lookup(pf->rtbl, name);
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
332
if (!sym) {
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
336
if (nfp_rtsym_size(sym) != size) {
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
339
name, size, nfp_rtsym_size(sym));
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
343
return sym;
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
362
const struct nfp_rtsym *sym;
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
408
sym = nfp_abm_ctrl_find_q_rtsym(abm, NFP_QLVL_SYM_NAME,
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
410
if (IS_ERR(sym))
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
411
return PTR_ERR(sym);
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
412
abm->q_lvls = sym;
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
414
sym = nfp_abm_ctrl_find_q_rtsym(abm, NFP_QMSTAT_SYM_NAME,
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
416
if (IS_ERR(sym))
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
417
return PTR_ERR(sym);
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
418
abm->qm_stats = sym;
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
421
sym = nfp_abm_ctrl_find_q_rtsym(abm, NFP_Q_STAT_SYM_NAME,
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
423
if (IS_ERR(sym))
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
424
return PTR_ERR(sym);
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
425
abm->q_stats = sym;
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
48
nfp_abm_ctrl_stat(struct nfp_abm_link *alink, const struct nfp_rtsym *sym,
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
62
err = __nfp_rtsym_readq(cpp, sym, 3, 0, sym_offset, &val);
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
64
err = __nfp_rtsym_readl(cpp, sym, 3, 0, sym_offset, &val32);
drivers/net/ethernet/netronome/nfp/nfp_net_debugdump.c
238
const struct nfp_rtsym *sym;
drivers/net/ethernet/netronome/nfp/nfp_net_debugdump.c
247
sym = nfp_rtsym_lookup(rtbl, spec_rtsym->rtsym);
drivers/net/ethernet/netronome/nfp/nfp_net_debugdump.c
248
if (!sym)
drivers/net/ethernet/netronome/nfp/nfp_net_debugdump.c
252
ALIGN8(nfp_rtsym_size(sym));
drivers/net/ethernet/netronome/nfp/nfp_net_debugdump.c
615
const struct nfp_rtsym *sym;
drivers/net/ethernet/netronome/nfp/nfp_net_debugdump.c
626
sym = nfp_rtsym_lookup(rtbl, spec->rtsym);
drivers/net/ethernet/netronome/nfp/nfp_net_debugdump.c
627
if (!sym)
drivers/net/ethernet/netronome/nfp/nfp_net_debugdump.c
630
sym_size = nfp_rtsym_size(sym);
drivers/net/ethernet/netronome/nfp/nfp_net_debugdump.c
645
if (sym->type != NFP_RTSYM_TYPE_ABS) {
drivers/net/ethernet/netronome/nfp/nfp_net_debugdump.c
646
cpp_params.target = sym->target;
drivers/net/ethernet/netronome/nfp/nfp_net_debugdump.c
649
cpp_params.island = sym->domain;
drivers/net/ethernet/netronome/nfp/nfp_net_debugdump.c
651
dump_header->cpp.offset = cpu_to_be32(sym->addr);
drivers/net/ethernet/netronome/nfp/nfp_net_debugdump.c
654
bytes_read = nfp_rtsym_read(pf->cpp, sym, 0, dest, sym_size);
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nffw.h
74
int __nfp_rtsym_read(struct nfp_cpp *cpp, const struct nfp_rtsym *sym,
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nffw.h
76
int nfp_rtsym_read(struct nfp_cpp *cpp, const struct nfp_rtsym *sym, u64 off,
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nffw.h
78
int __nfp_rtsym_readl(struct nfp_cpp *cpp, const struct nfp_rtsym *sym,
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nffw.h
80
int nfp_rtsym_readl(struct nfp_cpp *cpp, const struct nfp_rtsym *sym, u64 off,
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nffw.h
82
int __nfp_rtsym_readq(struct nfp_cpp *cpp, const struct nfp_rtsym *sym,
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nffw.h
84
int nfp_rtsym_readq(struct nfp_cpp *cpp, const struct nfp_rtsym *sym, u64 off,
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nffw.h
86
int __nfp_rtsym_write(struct nfp_cpp *cpp, const struct nfp_rtsym *sym,
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nffw.h
88
int nfp_rtsym_write(struct nfp_cpp *cpp, const struct nfp_rtsym *sym, u64 off,
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nffw.h
90
int __nfp_rtsym_writel(struct nfp_cpp *cpp, const struct nfp_rtsym *sym,
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nffw.h
92
int nfp_rtsym_writel(struct nfp_cpp *cpp, const struct nfp_rtsym *sym, u64 off,
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nffw.h
94
int __nfp_rtsym_writeq(struct nfp_cpp *cpp, const struct nfp_rtsym *sym,
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nffw.h
96
int nfp_rtsym_writeq(struct nfp_cpp *cpp, const struct nfp_rtsym *sym, u64 off,
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
208
u64 nfp_rtsym_size(const struct nfp_rtsym *sym)
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
210
switch (sym->type) {
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
212
pr_err("rtsym '%s': type NONE\n", sym->name);
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
215
pr_warn("rtsym '%s': unknown type: %d\n", sym->name, sym->type);
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
219
return sym->size;
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
226
nfp_rtsym_to_dest(struct nfp_cpp *cpp, const struct nfp_rtsym *sym,
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
229
if (sym->type != NFP_RTSYM_TYPE_OBJECT) {
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
231
sym->name);
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
235
*addr = sym->addr + off;
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
237
if (sym->target == NFP_RTSYM_TARGET_EMU_CACHE) {
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
244
sym->domain);
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
245
} else if (sym->target < 0) {
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
247
sym->name, sym->target);
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
250
*cpp_id = NFP_CPP_ISLAND_ID(sym->target, action, token,
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
251
sym->domain);
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
257
int __nfp_rtsym_read(struct nfp_cpp *cpp, const struct nfp_rtsym *sym,
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
260
u64 sym_size = nfp_rtsym_size(sym);
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
267
sym->name, off, len, sym_size);
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
272
if (sym->type == NFP_RTSYM_TYPE_ABS) {
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
275
put_unaligned_le64(sym->addr, tmp);
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
281
err = nfp_rtsym_to_dest(cpp, sym, action, token, off, &cpp_id, &addr);
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
288
int nfp_rtsym_read(struct nfp_cpp *cpp, const struct nfp_rtsym *sym, u64 off,
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
291
return __nfp_rtsym_read(cpp, sym, NFP_CPP_ACTION_RW, 0, off, buf, len);
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
294
int __nfp_rtsym_readl(struct nfp_cpp *cpp, const struct nfp_rtsym *sym,
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
301
if (off + 4 > nfp_rtsym_size(sym)) {
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
303
sym->name, off, nfp_rtsym_size(sym));
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
307
err = nfp_rtsym_to_dest(cpp, sym, action, token, off, &cpp_id, &addr);
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
314
int nfp_rtsym_readl(struct nfp_cpp *cpp, const struct nfp_rtsym *sym, u64 off,
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
317
return __nfp_rtsym_readl(cpp, sym, NFP_CPP_ACTION_RW, 0, off, value);
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
320
int __nfp_rtsym_readq(struct nfp_cpp *cpp, const struct nfp_rtsym *sym,
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
327
if (off + 8 > nfp_rtsym_size(sym)) {
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
329
sym->name, off, nfp_rtsym_size(sym));
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
333
if (sym->type == NFP_RTSYM_TYPE_ABS) {
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
334
*value = sym->addr;
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
338
err = nfp_rtsym_to_dest(cpp, sym, action, token, off, &cpp_id, &addr);
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
345
int nfp_rtsym_readq(struct nfp_cpp *cpp, const struct nfp_rtsym *sym, u64 off,
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
348
return __nfp_rtsym_readq(cpp, sym, NFP_CPP_ACTION_RW, 0, off, value);
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
351
int __nfp_rtsym_write(struct nfp_cpp *cpp, const struct nfp_rtsym *sym,
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
354
u64 sym_size = nfp_rtsym_size(sym);
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
361
sym->name, off, len, sym_size);
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
366
err = nfp_rtsym_to_dest(cpp, sym, action, token, off, &cpp_id, &addr);
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
373
int nfp_rtsym_write(struct nfp_cpp *cpp, const struct nfp_rtsym *sym, u64 off,
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
376
return __nfp_rtsym_write(cpp, sym, NFP_CPP_ACTION_RW, 0, off, buf, len);
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
379
int __nfp_rtsym_writel(struct nfp_cpp *cpp, const struct nfp_rtsym *sym,
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
386
if (off + 4 > nfp_rtsym_size(sym)) {
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
388
sym->name, off, nfp_rtsym_size(sym));
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
392
err = nfp_rtsym_to_dest(cpp, sym, action, token, off, &cpp_id, &addr);
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
399
int nfp_rtsym_writel(struct nfp_cpp *cpp, const struct nfp_rtsym *sym, u64 off,
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
402
return __nfp_rtsym_writel(cpp, sym, NFP_CPP_ACTION_RW, 0, off, value);
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
405
int __nfp_rtsym_writeq(struct nfp_cpp *cpp, const struct nfp_rtsym *sym,
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
412
if (off + 8 > nfp_rtsym_size(sym)) {
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
414
sym->name, off, nfp_rtsym_size(sym));
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
418
err = nfp_rtsym_to_dest(cpp, sym, action, token, off, &cpp_id, &addr);
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
425
int nfp_rtsym_writeq(struct nfp_cpp *cpp, const struct nfp_rtsym *sym, u64 off,
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
428
return __nfp_rtsym_writeq(cpp, sym, NFP_CPP_ACTION_RW, 0, off, value);
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
446
const struct nfp_rtsym *sym;
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
451
sym = nfp_rtsym_lookup(rtbl, name);
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
452
if (!sym) {
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
457
switch (nfp_rtsym_size(sym)) {
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
459
err = nfp_rtsym_readl(rtbl->cpp, sym, 0, &val32);
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
463
err = nfp_rtsym_readq(rtbl->cpp, sym, 0, &val);
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
468
name, nfp_rtsym_size(sym));
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
497
const struct nfp_rtsym *sym;
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
500
sym = nfp_rtsym_lookup(rtbl, name);
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
501
if (!sym)
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
504
switch (nfp_rtsym_size(sym)) {
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
506
err = nfp_rtsym_writel(rtbl->cpp, sym, 0, value);
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
509
err = nfp_rtsym_writeq(rtbl->cpp, sym, 0, value);
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
514
name, nfp_rtsym_size(sym));
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
526
const struct nfp_rtsym *sym;
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
532
sym = nfp_rtsym_lookup(rtbl, name);
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
533
if (!sym)
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
536
err = nfp_rtsym_to_dest(rtbl->cpp, sym, NFP_CPP_ACTION_RW, 0, 0,
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
543
if (sym->size < min_size) {
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c
548
mem = nfp_cpp_map_area(rtbl->cpp, id, cpp_id, addr, sym->size, area);
drivers/net/wireless/intel/iwlwifi/iwl-drv.h
101
#define EXPORT_SYMBOL_IF_IWLWIFI_KUNIT(sym) EXPORT_SYMBOL_IF_KUNIT(sym)
drivers/net/wireless/intel/iwlwifi/iwl-drv.h
104
#define EXPORT_SYMBOL_IF_IWLWIFI_KUNIT(sym)
drivers/net/wireless/intel/iwlwifi/iwl-drv.h
95
#define IWL_EXPORT_SYMBOL(sym) EXPORT_SYMBOL_NS_GPL(sym, "IWLWIFI")
drivers/net/wireless/intel/iwlwifi/iwl-drv.h
97
#define IWL_EXPORT_SYMBOL(sym)
drivers/net/wireless/silabs/wfx/traces.h
230
#define wfx_reg_name(sym, name) TRACE_DEFINE_ENUM(sym);
drivers/net/wireless/silabs/wfx/traces.h
233
#define wfx_reg_name(sym, name) { sym, name },
drivers/pci/controller/dwc/pcie-amd-mdb.c
165
const char *sym;
drivers/pci/controller/dwc/pcie-amd-mdb.c
373
IRQF_NO_THREAD, intr_cause[i].sym, pcie);
drivers/pci/controller/pcie-xilinx-cpm.c
317
const char *sym;
drivers/pci/controller/pcie-xilinx-cpm.c
447
0, intr_cause[i].sym, port);
drivers/pci/controller/pcie-xilinx-dma-pl.c
333
const char *sym;
drivers/pci/controller/pcie-xilinx-dma-pl.c
634
intr_cause[i].sym, port);
drivers/pci/controller/plda/pcie-microchip-host.c
188
const char *sym;
drivers/pci/controller/plda/pcie-microchip-host.c
551
0, event_cause[event].sym, plda);
drivers/scsi/aic7xxx/aicasm/aicasm_gram.y
115
symbol_t *sym;
drivers/scsi/aic7xxx/aicasm/aicasm_gram.y
1422
process_field(int field_type, symbol_t *sym, int value)
drivers/scsi/aic7xxx/aicasm/aicasm_gram.y
1431
if (sym->type == UNINITIALIZED) {
drivers/scsi/aic7xxx/aicasm/aicasm_gram.y
1432
sym->type = field_type;
drivers/scsi/aic7xxx/aicasm/aicasm_gram.y
1433
initialize_symbol(sym);
drivers/scsi/aic7xxx/aicasm/aicasm_gram.y
1434
sym->info.finfo->value = value;
drivers/scsi/aic7xxx/aicasm/aicasm_gram.y
1440
sym->info.finfo->value = value;
drivers/scsi/aic7xxx/aicasm/aicasm_gram.y
1441
sym->info.finfo->mask = value;
drivers/scsi/aic7xxx/aicasm/aicasm_gram.y
1443
sym->info.finfo->mask = field_symbol->info.finfo->value;
drivers/scsi/aic7xxx/aicasm/aicasm_gram.y
1445
sym->info.finfo->mask = 0xFF;
drivers/scsi/aic7xxx/aicasm/aicasm_gram.y
1447
} else if (sym->type != field_type) {
drivers/scsi/aic7xxx/aicasm/aicasm_gram.y
1451
} else if (value != sym->info.finfo->value) {
drivers/scsi/aic7xxx/aicasm/aicasm_gram.y
1456
if (symlist_search(&(sym->info.finfo->symrefs),
drivers/scsi/aic7xxx/aicasm/aicasm_gram.y
1461
symlist_add(&(sym->info.finfo->symrefs), cur_symbol,
drivers/scsi/aic7xxx/aicasm/aicasm_gram.y
1463
cur_symbol->info.rinfo->valid_bitmask |= sym->info.finfo->mask;
drivers/scsi/aic7xxx/aicasm/aicasm_gram.y
1465
symlist_add(&(cur_symbol->info.rinfo->fields), sym, SYMLIST_SORT);
drivers/scsi/aic7xxx/aicasm/aicasm_gram.y
174
%token <sym> T_CEXPR
drivers/scsi/aic7xxx/aicasm/aicasm_gram.y
1854
type_check(symbol_ref_t *sym, expression_t *expression, int opcode)
drivers/scsi/aic7xxx/aicasm/aicasm_gram.y
1856
symbol_t *symbol = sym->symbol;
drivers/scsi/aic7xxx/aicasm/aicasm_gram.y
1993
is_location_address(symbol_t *sym)
drivers/scsi/aic7xxx/aicasm/aicasm_gram.y
1995
if (sym->type == SCBLOC ||
drivers/scsi/aic7xxx/aicasm/aicasm_gram.y
1996
sym->type == SRAMLOC)
drivers/scsi/aic7xxx/aicasm/aicasm_gram.y
208
%token <sym> T_SYMBOL
drivers/scsi/aic7xxx/aicasm/aicasm_gram.y
86
static void process_field(int field_type, symbol_t *sym, int mask);
drivers/scsi/aic7xxx/aicasm/aicasm_gram.y
99
static void type_check(symbol_ref_t *sym, expression_t *expression, int and_op);
drivers/scsi/aic7xxx/aicasm/aicasm_macro_gram.y
72
symbol_t *sym;
drivers/scsi/aic7xxx/aicasm/aicasm_macro_gram.y
78
%token <sym> T_SYMBOL
drivers/soc/ti/pm33xx.c
35
#define AMX3_PM_SRAM_SYMBOL_OFFSET(sym) ((unsigned long)(sym) - \
drivers/tty/vt/keyboard.c
405
unsigned int k, sym, val;
drivers/tty/vt/keyboard.c
411
sym = U(key_maps[0][k]);
drivers/tty/vt/keyboard.c
412
if (KTYP(sym) != KT_SHIFT && KTYP(sym) != KT_SLOCK)
drivers/tty/vt/keyboard.c
415
val = KVAL(sym);
fs/ceph/inode.c
1227
char *sym;
fs/ceph/inode.c
1239
symlen, (u8 **)&sym);
fs/ceph/inode.c
1260
sym = kstrndup(iinfo->symlink, symlen, GFP_NOFS);
fs/ceph/inode.c
1261
if (!sym)
fs/ceph/inode.c
1267
ci->i_symlink = sym;
fs/ceph/inode.c
1269
kfree(sym); /* lost a race */
fs/ceph/inode.c
944
u8 *sym;
fs/ceph/inode.c
946
sym = kmalloc(enclen + 1, GFP_NOFS);
fs/ceph/inode.c
947
if (!sym)
fs/ceph/inode.c
950
declen = base64_decode(encsym, enclen, sym, false, BASE64_IMAP);
fs/ceph/inode.c
955
kfree(sym);
fs/ceph/inode.c
958
sym[declen + 1] = '\0';
fs/ceph/inode.c
959
*decsym = sym;
fs/ext4/ext4.h
3950
#define EXPORT_SYMBOL_FOR_EXT4_TEST(sym) \
fs/ext4/ext4.h
3951
EXPORT_SYMBOL_FOR_MODULES(sym, "ext4-test")
fs/ntfs3/lib/decompress_common.c
124
u32 sym;
fs/ntfs3/lib/decompress_common.c
132
for (sym = 0; sym < num_syms; sym++)
fs/ntfs3/lib/decompress_common.c
133
len_counts[lens[sym]]++;
fs/ntfs3/lib/decompress_common.c
189
for (sym = 0; sym < num_syms; sym++)
fs/ntfs3/lib/decompress_common.c
190
if (lens[sym])
fs/ntfs3/lib/decompress_common.c
191
sorted_syms[offsets[lens[sym]]++] = sym;
fs/ntfs3/lib/xpress_decompress.c
102
length = sym & 0xf;
fs/ntfs3/lib/xpress_decompress.c
103
log2_offset = (sym >> 4) & 0xf;
fs/ntfs3/lib/xpress_decompress.c
90
u32 sym;
fs/ntfs3/lib/xpress_decompress.c
95
sym = read_huffsym(&is, d->decode_table,
fs/ntfs3/lib/xpress_decompress.c
97
if (sym < 256) {
fs/ntfs3/lib/xpress_decompress.c
99
*out_next++ = sym;
fs/orangefs/downcall.h
111
struct orangefs_symlink_response sym;
fs/orangefs/namei.c
240
new_op->upcall.req.sym.parent_refn = parent->refn;
fs/orangefs/namei.c
242
fill_default_sys_attrs(new_op->upcall.req.sym.attributes, mode);
fs/orangefs/namei.c
244
strscpy(new_op->upcall.req.sym.entry_name, dentry->d_name.name);
fs/orangefs/namei.c
245
strscpy(new_op->upcall.req.sym.target, symname);
fs/orangefs/namei.c
251
&new_op->downcall.resp.sym.refn.khandle,
fs/orangefs/namei.c
252
new_op->downcall.resp.sym.refn.fs_id, ret);
fs/orangefs/namei.c
261
ref = new_op->downcall.resp.sym.refn;
fs/orangefs/orangefs-utils.c
45
fsid = op->upcall.req.sym.parent_refn.fs_id;
fs/orangefs/upcall.h
234
struct orangefs_symlink_request_s sym;
fs/smb/client/reparse.c
1007
sym->PathBuffer + offs,
fs/smb/client/reparse.c
1009
le32_to_cpu(sym->Flags) & SYMLINK_FLAG_RELATIVE,
fs/smb/client/reparse.c
123
sym = kzalloc(6+common_path_len, GFP_KERNEL);
fs/smb/client/reparse.c
124
if (!sym) {
fs/smb/client/reparse.c
128
memcpy(sym, "\\??\\", 4);
fs/smb/client/reparse.c
129
sym[4] = symname[len] - ('a'-'A');
fs/smb/client/reparse.c
130
sym[5] = ':';
fs/smb/client/reparse.c
131
memcpy(sym+6, symname+len+1, common_path_len);
fs/smb/client/reparse.c
150
sym = kstrdup(symname, GFP_KERNEL);
fs/smb/client/reparse.c
151
if (!sym) {
fs/smb/client/reparse.c
158
convert_delimiter(sym, sep);
fs/smb/client/reparse.c
169
sym[0] = sym[1] = sym[2] = sym[5] = '_';
fs/smb/client/reparse.c
171
path = cifs_convert_path_to_utf16(sym, cifs_sb);
fs/smb/client/reparse.c
178
sym[0] = '\\';
fs/smb/client/reparse.c
179
sym[1] = sym[2] = '?';
fs/smb/client/reparse.c
180
sym[5] = ':';
fs/smb/client/reparse.c
240
kfree(sym);
fs/smb/client/reparse.c
67
char *sym = NULL;
fs/smb/client/reparse.c
987
static int parse_reparse_native_symlink(struct reparse_symlink_data_buffer *sym,
fs/smb/client/reparse.c
998
offs = le16_to_cpu(sym->SubstituteNameOffset);
fs/smb/client/reparse.c
999
len = le16_to_cpu(sym->SubstituteNameLength);
fs/smb/client/smb2file.c
115
struct smb2_symlink_err_rsp *sym;
fs/smb/client/smb2file.c
122
sym = symlink_data(iov);
fs/smb/client/smb2file.c
123
if (IS_ERR(sym))
fs/smb/client/smb2file.c
124
return PTR_ERR(sym);
fs/smb/client/smb2file.c
126
sub_len = le16_to_cpu(sym->SubstituteNameLength);
fs/smb/client/smb2file.c
127
sub_offs = le16_to_cpu(sym->SubstituteNameOffset);
fs/smb/client/smb2file.c
128
print_len = le16_to_cpu(sym->PrintNameLength);
fs/smb/client/smb2file.c
129
print_offs = le16_to_cpu(sym->PrintNameOffset);
fs/smb/client/smb2file.c
136
(char *)sym->PathBuffer + sub_offs,
fs/smb/client/smb2file.c
138
le32_to_cpu(sym->Flags) & SYMLINK_FLAG_RELATIVE,
fs/smb/client/smb2file.c
29
struct smb2_symlink_err_rsp *sym = ERR_PTR(-EINVAL);
fs/smb/client/smb2file.c
45
sym = (struct smb2_symlink_err_rsp *)p->ErrorContextData;
fs/smb/client/smb2file.c
54
} else if (le32_to_cpu(err->ByteCount) >= sizeof(*sym) &&
fs/smb/client/smb2file.c
56
sym = (struct smb2_symlink_err_rsp *)err->ErrorData;
fs/smb/client/smb2file.c
59
if (!IS_ERR(sym) && (le32_to_cpu(sym->SymLinkErrorTag) != SYMLINK_ERROR_TAG ||
fs/smb/client/smb2file.c
60
le32_to_cpu(sym->ReparseTag) != IO_REPARSE_TAG_SYMLINK))
fs/smb/client/smb2file.c
61
sym = ERR_PTR(-EINVAL);
fs/smb/client/smb2file.c
63
return sym;
fs/smb/client/smb2maperror.c
112
#define EXPORT_SYMBOL_FOR_SMB_TEST(sym) \
fs/smb/client/smb2maperror.c
113
EXPORT_SYMBOL_FOR_MODULES(sym, "smb2maperror_test")
include/asm-generic/runtime-const.h
11
#define runtime_const_ptr(sym) (sym)
include/asm-generic/runtime-const.h
12
#define runtime_const_shift_right_32(val, sym) ((u32)(val)>>(sym))
include/asm-generic/runtime-const.h
13
#define runtime_const_init(type,sym) do { } while (0)
include/linux/annotate.h
106
#define ANNOTATE_NOCFI_SYM(sym) asm(ASM_ANNOTATE_LABEL(sym, ANNOTYPE_NOCFI))
include/linux/annotate.h
61
#define ANNOTATE_NOENDBR_SYM(sym) asm(ASM_ANNOTATE_LABEL(sym, ANNOTYPE_NOENDBR))
include/linux/compiler.h
143
# define KENTRY(sym) \
include/linux/compiler.h
144
extern typeof(sym) sym; \
include/linux/compiler.h
145
static const unsigned long __kentry_##sym \
include/linux/compiler.h
147
__attribute__((__section__("___kentry+" #sym))) \
include/linux/compiler.h
148
= (unsigned long)&sym;
include/linux/compiler.h
252
#define KCFI_REFERENCE(sym) __ADDRESSABLE(sym)
include/linux/compiler.h
254
#define KCFI_REFERENCE(sym)
include/linux/compiler.h
274
#define ___ADDRESSABLE(sym, __attrs) \
include/linux/compiler.h
276
__UNIQUE_ID(__PASTE(addressable_, sym)) = (void *)(uintptr_t)&sym;
include/linux/compiler.h
278
#define __ADDRESSABLE(sym) \
include/linux/compiler.h
279
___ADDRESSABLE(sym, __section(".discard.addressable"))
include/linux/export-internal.h
20
#define __KSYM_REF(sym) ".long " #sym "- ."
include/linux/export-internal.h
23
#define __KSYM_REF(sym) ".quad " #sym
include/linux/export-internal.h
26
#define __KSYM_REF(sym) ".long " #sym
include/linux/export-internal.h
40
#define __KSYMTAB(name, sym, sec, ns) \
include/linux/export-internal.h
50
__KSYM_REF(sym) "\n" \
include/linux/export-internal.h
65
#define SYMBOL_CRC(sym, crc, sec) \
include/linux/export-internal.h
66
asm(".section \"___kcrctab" sec "+" #sym "\",\"a\"" "\n" \
include/linux/export-internal.h
68
"__crc_" #sym ":" "\n" \
include/linux/export.h
18
#define __EXPORT_SYMBOL_REF(sym) \
include/linux/export.h
20
.quad sym
include/linux/export.h
22
#define __EXPORT_SYMBOL_REF(sym) \
include/linux/export.h
24
.long sym
include/linux/export.h
33
#define ___EXPORT_SYMBOL(sym, license, ns...) \
include/linux/export.h
35
__export_symbol_##sym: ASM_NL \
include/linux/export.h
38
__EXPORT_SYMBOL_REF(sym) ASM_NL \
include/linux/export.h
48
#define __EXPORT_SYMBOL(sym, license, ns)
include/linux/export.h
52
#define __EXPORT_SYMBOL(sym, license, ns) __GENKSYMS_EXPORT_SYMBOL(sym)
include/linux/export.h
56
#define __EXPORT_SYMBOL(sym, license, ns) \
include/linux/export.h
57
___EXPORT_SYMBOL(sym, license, ns)
include/linux/export.h
68
#define __GENDWARFKSYMS_EXPORT(sym) \
include/linux/export.h
69
static typeof(sym) *__gendwarfksyms_ptr_##sym __used \
include/linux/export.h
70
__section(".discard.gendwarfksyms") = &sym;
include/linux/export.h
72
#define __GENDWARFKSYMS_EXPORT(sym)
include/linux/export.h
75
#define __EXPORT_SYMBOL(sym, license, ns) \
include/linux/export.h
76
extern typeof(sym) sym; \
include/linux/export.h
77
__ADDRESSABLE(sym) \
include/linux/export.h
78
__GENDWARFKSYMS_EXPORT(sym) \
include/linux/export.h
79
asm(__stringify(___EXPORT_SYMBOL(sym, license, ns)))
include/linux/export.h
84
#define _EXPORT_SYMBOL(sym, license) __EXPORT_SYMBOL(sym, license, DEFAULT_SYMBOL_NAMESPACE)
include/linux/export.h
86
#define _EXPORT_SYMBOL(sym, license) __EXPORT_SYMBOL(sym, license, "")
include/linux/export.h
89
#define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "")
include/linux/export.h
90
#define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "GPL")
include/linux/export.h
91
#define EXPORT_SYMBOL_NS(sym, ns) __EXPORT_SYMBOL(sym, "", ns)
include/linux/export.h
92
#define EXPORT_SYMBOL_NS_GPL(sym, ns) __EXPORT_SYMBOL(sym, "GPL", ns)
include/linux/export.h
94
#define EXPORT_SYMBOL_FOR_MODULES(sym, mods) __EXPORT_SYMBOL(sym, "GPL", "module:" mods)
include/linux/filter.h
1380
unsigned long *off, char *sym);
include/linux/filter.h
1383
char *sym);
include/linux/filter.h
1425
unsigned long *off, char *sym)
include/linux/filter.h
1436
char *type, char *sym)
include/linux/ftrace.h
92
const unsigned char **modbuildid, char *sym);
include/linux/ftrace.h
97
const unsigned char **modbuildid, char *sym)
include/linux/kbuild.h
10
#define OFFSET(sym, str, mem) \
include/linux/kbuild.h
11
DEFINE(sym, offsetof(struct str, mem))
include/linux/kbuild.h
5
#define DEFINE(sym, val) \
include/linux/kbuild.h
6
asm volatile("\n.ascii \"->" #sym " %0 " #val "\"" : : "i" (val))
include/linux/kprobes.h
279
extern int kprobe_on_func_entry(kprobe_opcode_t *addr, const char *sym, unsigned long offset);
include/linux/kprobes.h
289
const char *sym; /* symbol for insn pages */
include/linux/kprobes.h
323
unsigned long *value, char *type, char *sym);
include/linux/kprobes.h
434
char *sym);
include/linux/kprobes.h
437
char *type, char *sym);
include/linux/kprobes.h
510
char *type, char *sym)
include/linux/module.h
601
static inline unsigned long kallsyms_symbol_value(const Elf_Sym *sym)
include/linux/module.h
603
return sym->st_value;
include/linux/perf_event.h
1668
bool unregister, const char *sym);
include/linux/perf_event.h
1997
bool unregister, const char *sym) { }
include/linux/raid/pq.h
63
#define EXPORT_SYMBOL(sym)
include/linux/raid/pq.h
65
#define EXPORT_SYMBOL_GPL(sym)
include/uapi/linux/map_to_14segment.h
107
#define _SEG14(sym, a, b, c, d, e, f, g1, g2, h, j, k, l, m, n) \
kernel/bpf/core.c
566
char *sym = prog->aux->ksym.name;
kernel/bpf/core.c
567
const char *end = sym + KSYM_NAME_LEN;
kernel/bpf/core.c
582
sym += snprintf(sym, KSYM_NAME_LEN, "bpf_prog_");
kernel/bpf/core.c
583
sym = bin2hex(sym, prog->tag, sizeof(prog->tag));
kernel/bpf/core.c
590
snprintf(sym, (size_t)(end - sym), "_%s", func_name);
kernel/bpf/core.c
595
snprintf(sym, (size_t)(end - sym), "_%s", prog->aux->name);
kernel/bpf/core.c
597
*sym = 0;
kernel/bpf/core.c
721
unsigned long *off, char *sym)
kernel/bpf/core.c
732
ret = strscpy(sym, ksym->name, KSYM_NAME_LEN);
kernel/bpf/core.c
802
char *sym)
kernel/bpf/core.c
816
strscpy(sym, ksym->name, KSYM_NAME_LEN);
kernel/events/core.c
10166
const char *sym)
kernel/events/core.c
10180
strscpy(name, sym);
kernel/fail_function.c
241
char *buf, *sym;
kernel/fail_function.c
252
sym = strstrip(buf);
kernel/fail_function.c
257
if (sym[0] == '\0') {
kernel/fail_function.c
263
if (sym[0] == '!') {
kernel/fail_function.c
264
attr = fei_attr_lookup(sym + 1);
kernel/fail_function.c
274
addr = kallsyms_lookup_name(sym);
kernel/fail_function.c
283
if (fei_attr_lookup(sym)) {
kernel/fail_function.c
287
attr = fei_attr_new(sym, addr);
kernel/fail_function.c
56
static struct fei_attr *fei_attr_new(const char *sym, unsigned long addr)
kernel/fail_function.c
62
attr->kp.symbol_name = kstrdup(sym, GFP_KERNEL);
kernel/fail_function.c
83
static struct fei_attr *fei_attr_lookup(const char *sym)
kernel/fail_function.c
88
if (!strcmp(attr->kp.symbol_name, sym))
kernel/kexec_file.c
1206
const Elf_Sym *sym;
kernel/kexec_file.c
1209
sym = kexec_purgatory_find_symbol(pi, name);
kernel/kexec_file.c
1210
if (!sym)
kernel/kexec_file.c
1213
sechdr = &pi->sechdrs[sym->st_shndx];
kernel/kexec_file.c
1219
return (void *)(sechdr->sh_addr + sym->st_value);
kernel/kexec_file.c
1230
const Elf_Sym *sym;
kernel/kexec_file.c
1234
sym = kexec_purgatory_find_symbol(pi, name);
kernel/kexec_file.c
1235
if (!sym)
kernel/kexec_file.c
1238
if (sym->st_size != size) {
kernel/kexec_file.c
1240
name, (unsigned long)sym->st_size, size);
kernel/kexec_file.c
1244
sec = pi->sechdrs + sym->st_shndx;
kernel/kexec_file.c
1252
sym_buf = (char *)pi->purgatory_buf + sec->sh_offset + sym->st_value;
kernel/kprobes.c
132
.sym = KPROBE_INSN_PAGE_SYM,
kernel/kprobes.c
194
PAGE_SIZE, false, c->sym);
kernel/kprobes.c
220
kip->cache->sym);
kernel/kprobes.c
2238
int kprobe_on_func_entry(kprobe_opcode_t *addr, const char *sym, unsigned long offset)
kernel/kprobes.c
2241
kprobe_opcode_t *kp_addr = _kprobe_addr(addr, sym, offset, &on_func_entry);
kernel/kprobes.c
2534
char *type, char *sym)
kernel/kprobes.c
2540
char *sym)
kernel/kprobes.c
2543
if (!kprobe_cache_get_kallsym(&kprobe_insn_slots, &symnum, value, type, sym))
kernel/kprobes.c
2546
if (!kprobe_cache_get_kallsym(&kprobe_optinsn_slots, &symnum, value, type, sym))
kernel/kprobes.c
2550
if (!arch_kprobe_get_kallsym(&symnum, value, type, sym))
kernel/kprobes.c
2807
const char *sym, int offset, char *modname, struct kprobe *pp)
kernel/kprobes.c
2820
if (sym)
kernel/kprobes.c
2822
addr, kprobe_type, sym, offset,
kernel/kprobes.c
2859
const char *sym;
kernel/kprobes.c
2867
sym = kallsyms_lookup((unsigned long)p->addr, NULL,
kernel/kprobes.c
2871
report_probe(pi, kp, sym, offset, modname, p);
kernel/kprobes.c
2873
report_probe(pi, p, sym, offset, modname, NULL);
kernel/kprobes.c
319
unsigned long *value, char *type, char *sym)
kernel/kprobes.c
328
strscpy(sym, c->sym, KSYM_NAME_LEN);
kernel/kprobes.c
355
.sym = KPROBE_OPTINSN_PAGE_SYM,
kernel/livepatch/core.c
204
Elf_Sym *sym;
kernel/livepatch/core.c
224
sym = (Elf_Sym *)sechdrs[symndx].sh_addr + ELF_R_SYM(relas[i].r_info);
kernel/livepatch/core.c
225
if (sym->st_shndx != SHN_LIVEPATCH) {
kernel/livepatch/core.c
227
strtab + sym->st_name, symndx, i);
kernel/livepatch/core.c
232
cnt = sscanf(strtab + sym->st_name,
kernel/livepatch/core.c
237
strtab + sym->st_name);
kernel/livepatch/core.c
261
sym->st_value = addr;
kernel/module/internal.h
111
const struct kernel_symbol *sym;
kernel/module/internal.h
126
int cmp_name(const void *name, const void *sym);
kernel/module/internal.h
137
static inline unsigned long kernel_symbol_value(const struct kernel_symbol *sym)
kernel/module/internal.h
140
return (unsigned long)offset_to_ptr(&sym->value_offset);
kernel/module/internal.h
142
return sym->value;
kernel/module/internal.h
86
unsigned int sym;
kernel/module/kallsyms.c
115
Elf_Shdr *symsect = info->sechdrs + info->index.sym;
kernel/module/kallsyms.c
125
symsect, info->index.sym);
kernel/module/kallsyms.c
176
Elf_Shdr *symsec = &info->sechdrs[info->index.sym];
kernel/module/kallsyms.c
278
const Elf_Sym *sym = &kallsyms->symtab[i];
kernel/module/kallsyms.c
279
unsigned long thisval = kallsyms_symbol_value(sym);
kernel/module/kallsyms.c
281
if (sym->st_shndx == SHN_UNDEF)
kernel/module/kallsyms.c
328
const char *sym;
kernel/module/kallsyms.c
340
sym = find_kallsyms_symbol(mod, addr, size, offset);
kernel/module/kallsyms.c
342
if (sym)
kernel/module/kallsyms.c
343
ret = strscpy(namebuf, sym, KSYM_NAME_LEN);
kernel/module/kallsyms.c
357
const char *sym;
kernel/module/kallsyms.c
359
sym = find_kallsyms_symbol(mod, addr, NULL, NULL);
kernel/module/kallsyms.c
360
if (!sym)
kernel/module/kallsyms.c
363
strscpy(symname, sym, KSYM_NAME_LEN);
kernel/module/kallsyms.c
38
static char elf_type(const Elf_Sym *sym, const struct load_info *info)
kernel/module/kallsyms.c
384
const Elf_Sym *sym = &kallsyms->symtab[symnum];
kernel/module/kallsyms.c
386
*value = kallsyms_symbol_value(sym);
kernel/module/kallsyms.c
405
const Elf_Sym *sym = &kallsyms->symtab[i];
kernel/module/kallsyms.c
408
sym->st_shndx != SHN_UNDEF)
kernel/module/kallsyms.c
409
return kallsyms_symbol_value(sym);
kernel/module/kallsyms.c
42
if (ELF_ST_BIND(sym->st_info) == STB_WEAK) {
kernel/module/kallsyms.c
43
if (ELF_ST_TYPE(sym->st_info) == STT_OBJECT)
kernel/module/kallsyms.c
475
const Elf_Sym *sym = &kallsyms->symtab[i];
kernel/module/kallsyms.c
477
if (sym->st_shndx == SHN_UNDEF)
kernel/module/kallsyms.c
48
if (sym->st_shndx == SHN_UNDEF)
kernel/module/kallsyms.c
481
kallsyms_symbol_value(sym));
kernel/module/kallsyms.c
50
if (sym->st_shndx == SHN_ABS || sym->st_shndx == info->index.pcpu)
kernel/module/kallsyms.c
52
if (sym->st_shndx >= SHN_LORESERVE)
kernel/module/kallsyms.c
54
if (sechdrs[sym->st_shndx].sh_flags & SHF_EXECINSTR)
kernel/module/kallsyms.c
56
if (sechdrs[sym->st_shndx].sh_flags & SHF_ALLOC &&
kernel/module/kallsyms.c
57
sechdrs[sym->st_shndx].sh_type != SHT_NOBITS) {
kernel/module/kallsyms.c
58
if (!(sechdrs[sym->st_shndx].sh_flags & SHF_WRITE))
kernel/module/kallsyms.c
60
else if (sechdrs[sym->st_shndx].sh_flags & ARCH_SHF_SMALL)
kernel/module/kallsyms.c
65
if (sechdrs[sym->st_shndx].sh_type == SHT_NOBITS) {
kernel/module/kallsyms.c
66
if (sechdrs[sym->st_shndx].sh_flags & ARCH_SHF_SMALL)
kernel/module/kallsyms.c
71
if (strstarts(info->secstrings + sechdrs[sym->st_shndx].sh_name,
kernel/module/livepatch.c
49
symndx = info->index.sym;
kernel/module/main.c
1181
const struct kernel_symbol *sym,
kernel/module/main.c
1187
namespace = kernel_symbol_namespace(sym);
kernel/module/main.c
1203
mod->name, kernel_symbol_name(sym), namespace);
kernel/module/main.c
1257
fsa.sym = NULL;
kernel/module/main.c
1262
fsa.sym = ERR_PTR(-EINVAL);
kernel/module/main.c
1266
err = verify_namespace_is_imported(info, fsa.sym, mod);
kernel/module/main.c
1268
fsa.sym = ERR_PTR(err);
kernel/module/main.c
1274
fsa.sym = ERR_PTR(err);
kernel/module/main.c
1283
return fsa.sym;
kernel/module/main.c
1457
return (void *)kernel_symbol_value(fsa.sym);
kernel/module/main.c
1472
const struct kernel_symbol *sym;
kernel/module/main.c
1480
for (s = arr[i].sym; s < arr[i].sym + arr[i].num; s++) {
kernel/module/main.c
1515
Elf_Shdr *symsec = &info->sechdrs[info->index.sym];
kernel/module/main.c
1516
Elf_Sym *sym = (void *)symsec->sh_addr;
kernel/module/main.c
1523
const char *name = info->strtab + sym[i].st_name;
kernel/module/main.c
1525
switch (sym[i].st_shndx) {
kernel/module/main.c
1544
(long)sym[i].st_value, name);
kernel/module/main.c
1555
sym[i].st_value = kernel_symbol_value(ksym);
kernel/module/main.c
1561
(ELF_ST_BIND(sym[i].st_info) == STB_WEAK ||
kernel/module/main.c
1571
if (sym[i].st_shndx >= info->hdr->e_shnum) {
kernel/module/main.c
1573
mod->name, name, sym[i].st_shndx, info->hdr->e_shnum - 1);
kernel/module/main.c
1579
if (sym[i].st_shndx == info->index.pcpu)
kernel/module/main.c
1582
secbase = info->sechdrs[sym[i].st_shndx].sh_addr;
kernel/module/main.c
1583
sym[i].st_value += secbase;
kernel/module/main.c
1618
info->index.sym, i,
kernel/module/main.c
1622
info->index.sym, i, mod);
kernel/module/main.c
1625
info->index.sym, i, mod);
kernel/module/main.c
2142
info->index.sym = sym_idx;
kernel/module/main.c
2160
unsigned int str_idx = info->sechdrs[info->index.sym].sh_link;
kernel/module/main.c
2314
Elf_Shdr *sym_shdr = &info->sechdrs[info->index.sym];
kernel/module/main.c
337
static const char *kernel_symbol_name(const struct kernel_symbol *sym)
kernel/module/main.c
340
return offset_to_ptr(&sym->name_offset);
kernel/module/main.c
342
return sym->name;
kernel/module/main.c
346
static const char *kernel_symbol_namespace(const struct kernel_symbol *sym)
kernel/module/main.c
349
if (!sym->namespace_offset)
kernel/module/main.c
351
return offset_to_ptr(&sym->namespace_offset);
kernel/module/main.c
353
return sym->namespace;
kernel/module/main.c
357
int cmp_name(const void *name, const void *sym)
kernel/module/main.c
359
return strcmp(name, kernel_symbol_name(sym));
kernel/module/main.c
366
struct kernel_symbol *sym;
kernel/module/main.c
371
sym = bsearch(fsa->name, syms->start, syms->stop - syms->start,
kernel/module/main.c
373
if (!sym)
kernel/module/main.c
377
fsa->crc = symversion(syms->crcs, sym - syms->start);
kernel/module/main.c
378
fsa->sym = sym;
kernel/trace/ftrace.c
8092
unsigned long *off, char *sym)
kernel/trace/ftrace.c
8110
return strscpy(sym, found_func->name, KSYM_NAME_LEN);
kernel/trace/ftrace.c
8119
const unsigned char **modbuildid, char *sym)
kernel/trace/ftrace.c
8127
ret = ftrace_func_address_lookup(mod_map, addr, size, off, sym);
kernel/trace/ftrace.c
9238
const char **sym;
kernel/trace/ftrace.c
9241
sym = bsearch(&name, args->syms, args->cnt, sizeof(*args->syms), symbols_cmp);
kernel/trace/ftrace.c
9242
if (!sym)
kernel/trace/ftrace.c
9245
idx = sym - args->syms;
kernel/trace/trace_output.c
564
#define MARK(v, s) {.val = v, .sym = s}
kernel/trace/trace_output.c
568
char sym;
kernel/trace/trace_output.c
589
return (i == size) ? ' ' : mark[i].sym;
kernel/trace/trace_syscalls.c
39
static inline bool arch_syscall_match_sym_name(const char *sym, const char *name)
kernel/trace/trace_syscalls.c
47
return !strcmp(sym + 3, name + 3);
lib/tests/overflow_kunit.c
253
#define check_one_op(t, fmt, op, sym, a, b, r, of) do { \
lib/tests/overflow_kunit.c
261
"expected check "fmt" "sym" "fmt" to%s overflow (type %s)\n", \
lib/tests/overflow_kunit.c
264
"expected check "fmt" "sym" "fmt" == "fmt", got "fmt" (type %s)\n", \
lib/tests/overflow_kunit.c
275
"expected wrap "fmt" "sym" "fmt" == "fmt", got "fmt" (type %s)\n", \
lib/tests/overflow_kunit.c
300
#define check_self_op(fmt, op, sym, a, b) do { \
lib/tests/overflow_kunit.c
309
_a_sym sym _b; \
lib/vsprintf.c
1005
sprint_backtrace_build_id(sym, value);
lib/vsprintf.c
1007
sprint_backtrace(sym, value);
lib/vsprintf.c
1009
sprint_symbol_build_id(sym, value);
lib/vsprintf.c
1011
sprint_symbol(sym, value);
lib/vsprintf.c
1013
sprint_symbol_no_offset(sym, value);
lib/vsprintf.c
1015
return string_nocheck(buf, end, sym, spec);
lib/vsprintf.c
1106
char sym[MAX(2*RSRC_BUF_SIZE + DECODED_BUF_SIZE,
lib/vsprintf.c
1109
char *p = sym, *pend = sym + sizeof(sym);
lib/vsprintf.c
1159
return string_nocheck(buf, end, sym, spec);
lib/vsprintf.c
1166
char sym[sizeof("[range 0x0123456789abcdef-0x0123456789abcdef]")];
lib/vsprintf.c
1167
char *p = sym, *pend = sym + sizeof(sym);
lib/vsprintf.c
1177
return string_nocheck(buf, end, sym, spec);
lib/vsprintf.c
670
const char *sym = errname(err);
lib/vsprintf.c
672
if (sym)
lib/vsprintf.c
673
return string_nocheck(buf, end, sym, spec);
lib/vsprintf.c
996
char sym[KSYM_SYMBOL_LEN];
lib/zlib_inflate/inftrees.c
132
for (sym = 0; sym < codes; sym++)
lib/zlib_inflate/inftrees.c
133
if (lens[sym] != 0) work[offs[lens[sym]]++] = (unsigned short)sym;
lib/zlib_inflate/inftrees.c
188
sym = 0; /* starting code symbol */
lib/zlib_inflate/inftrees.c
205
if ((int)(work[sym]) < end) {
lib/zlib_inflate/inftrees.c
207
this.val = work[sym];
lib/zlib_inflate/inftrees.c
209
else if ((int)(work[sym]) > end) {
lib/zlib_inflate/inftrees.c
210
this.op = (unsigned char)(extra[work[sym]]);
lib/zlib_inflate/inftrees.c
211
this.val = base[work[sym]];
lib/zlib_inflate/inftrees.c
239
sym++;
lib/zlib_inflate/inftrees.c
242
len = lens[work[sym]];
lib/zlib_inflate/inftrees.c
27
unsigned sym; /* index of code symbols */
lib/zlib_inflate/inftrees.c
95
for (sym = 0; sym < codes; sym++)
lib/zlib_inflate/inftrees.c
96
count[lens[sym]]++;
net/ethtool/common.c
912
bool sym;
net/ethtool/common.c
914
sym = rxfh == (rxfh & (RXH_IP_SRC | RXH_IP_DST |
net/ethtool/common.c
916
sym &= !!(rxfh & RXH_IP_SRC) == !!(rxfh & RXH_IP_DST);
net/ethtool/common.c
917
sym &= !!(rxfh & RXH_L4_B_0_1) == !!(rxfh & RXH_L4_B_2_3);
net/ethtool/common.c
919
return sym;
net/mac80211/ieee80211_i.h
2887
#define EXPORT_SYMBOL_IF_MAC80211_KUNIT(sym) EXPORT_SYMBOL_IF_KUNIT(sym)
net/mac80211/ieee80211_i.h
2904
#define EXPORT_SYMBOL_IF_MAC80211_KUNIT(sym)
net/netfilter/nfnetlink_hook.c
202
char sym[KSYM_SYMBOL_LEN];
net/netfilter/nfnetlink_hook.c
211
ret = snprintf(sym, sizeof(sym), "%ps", ops->hook);
net/netfilter/nfnetlink_hook.c
212
if (ret >= sizeof(sym)) {
net/netfilter/nfnetlink_hook.c
217
module_name = strstr(sym, " [");
net/netfilter/nfnetlink_hook.c
233
ret = nla_put_string(nlskb, NFNLA_HOOK_FUNCTION_NAME, sym);
net/wireless/core.h
624
#define EXPORT_SYMBOL_IF_CFG80211_KUNIT(sym) EXPORT_SYMBOL_IF_KUNIT(sym)
net/wireless/core.h
635
#define EXPORT_SYMBOL_IF_CFG80211_KUNIT(sym)
rust/exports.c
16
#define EXPORT_SYMBOL_RUST_GPL(sym) extern int sym; EXPORT_SYMBOL_GPL(sym)
samples/bpf/offwaketime_user.c
22
struct ksym *sym;
samples/bpf/offwaketime_user.c
26
sym = ksym_search(addr);
samples/bpf/offwaketime_user.c
27
if (!sym) {
samples/bpf/offwaketime_user.c
33
printf("%s/%llx;", sym->name, addr);
samples/bpf/offwaketime_user.c
35
printf("%s;", sym->name);
samples/bpf/sampleip_user.c
112
sym = ksym_search(counts[i].ip);
samples/bpf/sampleip_user.c
113
if (!sym) {
samples/bpf/sampleip_user.c
118
printf("0x%-17llx %-32s %u\n", counts[i].ip, sym->name,
samples/bpf/sampleip_user.c
91
struct ksym *sym;
samples/bpf/spintest_user.c
18
struct ksym *sym;
samples/bpf/spintest_user.c
61
sym = ksym_search(value);
samples/bpf/spintest_user.c
63
if (!sym) {
samples/bpf/spintest_user.c
68
printf(" %s", sym->name);
samples/bpf/trace_event_user.c
29
struct ksym *sym;
samples/bpf/trace_event_user.c
33
sym = ksym_search(addr);
samples/bpf/trace_event_user.c
34
if (!sym) {
samples/bpf/trace_event_user.c
39
printf("%s;", sym->name);
samples/bpf/trace_event_user.c
40
if (!strstr(sym->name, "sys_read"))
samples/bpf/trace_event_user.c
42
else if (!strstr(sym->name, "sys_write"))
samples/bpf/tracex3_user.c
100
printf("%s", sym[c]);
samples/bpf/tracex3_user.c
159
printf(" %s", sym[num_colors - 1]);
samples/bpf/tracex3_user.c
165
printf(" %s", sym[0]);
samples/bpf/tracex3_user.c
46
const char *sym[] = {
scripts/elf-parse.h
152
static inline uint64_t sym64_##fn_name(Elf_Sym *sym) \
scripts/elf-parse.h
154
return elf_parser.r8(&sym->e64.st_##fn_name); \
scripts/elf-parse.h
157
static inline uint64_t sym32_##fn_name(Elf_Sym *sym) \
scripts/elf-parse.h
159
return elf_parser.r(&sym->e32.st_##fn_name); \
scripts/elf-parse.h
162
static inline uint64_t sym_##fn_name(Elf_Sym *sym) \
scripts/elf-parse.h
164
return elf_parser.sym_##fn_name(sym); \
scripts/elf-parse.h
168
static inline uint32_t sym64_##fn_name(Elf_Sym *sym) \
scripts/elf-parse.h
170
return elf_parser.r(&sym->e64.st_##fn_name); \
scripts/elf-parse.h
173
static inline uint32_t sym32_##fn_name(Elf_Sym *sym) \
scripts/elf-parse.h
175
return elf_parser.r(&sym->e32.st_##fn_name); \
scripts/elf-parse.h
178
static inline uint32_t sym_##fn_name(Elf_Sym *sym) \
scripts/elf-parse.h
180
return elf_parser.sym_##fn_name(sym); \
scripts/elf-parse.h
184
static inline uint16_t sym64_##fn_name(Elf_Sym *sym) \
scripts/elf-parse.h
186
return elf_parser.r2(&sym->e64.st_##fn_name); \
scripts/elf-parse.h
189
static inline uint16_t sym32_##fn_name(Elf_Sym *sym) \
scripts/elf-parse.h
191
return elf_parser.r2(&sym->e32.st_##fn_name); \
scripts/elf-parse.h
194
static inline uint16_t sym_##fn_name(Elf_Sym *sym) \
scripts/elf-parse.h
196
return elf_parser.sym_##fn_name(sym); \
scripts/elf-parse.h
199
static inline uint8_t sym64_type(Elf_Sym *sym)
scripts/elf-parse.h
201
return ELF64_ST_TYPE(sym->e64.st_info);
scripts/elf-parse.h
204
static inline uint8_t sym32_type(Elf_Sym *sym)
scripts/elf-parse.h
206
return ELF32_ST_TYPE(sym->e32.st_info);
scripts/elf-parse.h
209
static inline uint8_t sym_type(Elf_Sym *sym)
scripts/elf-parse.h
211
return elf_parser.sym_type(sym);
scripts/elf-parse.h
43
uint8_t (*sym_type)(Elf_Sym *sym);
scripts/elf-parse.h
44
uint32_t (*sym_name)(Elf_Sym *sym);
scripts/elf-parse.h
45
uint64_t (*sym_value)(Elf_Sym *sym);
scripts/elf-parse.h
46
uint16_t (*sym_shndx)(Elf_Sym *sym);
scripts/gendwarfksyms/dwarf.c
101
if (!state->sym && source != die)
scripts/gendwarfksyms/dwarf.c
102
state->sym = symbol_get(get_symbol_name(source));
scripts/gendwarfksyms/dwarf.c
1037
symbol_set_ptr(state->sym, &type);
scripts/gendwarfksyms/dwarf.c
1039
symbol_set_ptr(state->sym, &ptr_type);
scripts/gendwarfksyms/dwarf.c
105
return !!state->sym;
scripts/gendwarfksyms/dwarf.c
1080
static void process_symbol_ptr(struct symbol *sym, void *arg)
scripts/gendwarfksyms/dwarf.c
1085
if (sym->state != SYMBOL_UNPROCESSED || !sym->ptr_die_addr)
scripts/gendwarfksyms/dwarf.c
1088
debug("%s", sym->name);
scripts/gendwarfksyms/dwarf.c
1090
state.sym = sym;
scripts/gendwarfksyms/dwarf.c
1092
if (!dwarf_die_addr_die(dwarf, (void *)sym->ptr_die_addr, &state.die))
scripts/gendwarfksyms/dwarf.c
1094
sym->name);
scripts/gendwarfksyms/dwarf.c
979
symbol_set_die(state->sym, die);
scripts/gendwarfksyms/dwarf.c
98
state->sym = symbol_get(get_symbol_name(die));
scripts/gendwarfksyms/dwarf.c
985
debug("%s", state->sym->name);
scripts/gendwarfksyms/examples/symbolptr.c
20
#define __GENDWARFKSYMS_EXPORT(sym) \
scripts/gendwarfksyms/examples/symbolptr.c
21
static typeof(sym) *__gendwarfksyms_ptr_##sym __used \
scripts/gendwarfksyms/examples/symbolptr.c
22
__section(".discard.gendwarfksyms") = &sym;
scripts/gendwarfksyms/gendwarfksyms.h
129
void symbol_set_ptr(struct symbol *sym, Dwarf_Die *ptr);
scripts/gendwarfksyms/gendwarfksyms.h
130
void symbol_set_die(struct symbol *sym, Dwarf_Die *die);
scripts/gendwarfksyms/gendwarfksyms.h
131
void symbol_set_crc(struct symbol *sym, unsigned long crc);
scripts/gendwarfksyms/gendwarfksyms.h
245
struct symbol *sym;
scripts/gendwarfksyms/symbols.c
100
if (for_each(sym->name, set_crc, &crc) == 0)
scripts/gendwarfksyms/symbols.c
101
error("no matching symbols: '%s'", sym->name);
scripts/gendwarfksyms/symbols.c
104
static void set_ptr(struct symbol *sym, void *data)
scripts/gendwarfksyms/symbols.c
106
sym->ptr_die_addr = (uintptr_t)((Dwarf_Die *)data)->addr;
scripts/gendwarfksyms/symbols.c
109
void symbol_set_ptr(struct symbol *sym, Dwarf_Die *ptr)
scripts/gendwarfksyms/symbols.c
111
if (for_each(sym->name, set_ptr, ptr) == 0)
scripts/gendwarfksyms/symbols.c
112
error("no matching symbols: '%s'", sym->name);
scripts/gendwarfksyms/symbols.c
115
static void set_die(struct symbol *sym, void *data)
scripts/gendwarfksyms/symbols.c
117
sym->die_addr = (uintptr_t)((Dwarf_Die *)data)->addr;
scripts/gendwarfksyms/symbols.c
118
sym->state = SYMBOL_MAPPED;
scripts/gendwarfksyms/symbols.c
121
void symbol_set_die(struct symbol *sym, Dwarf_Die *die)
scripts/gendwarfksyms/symbols.c
123
if (for_each(sym->name, set_die, die) == 0)
scripts/gendwarfksyms/symbols.c
124
error("no matching symbols: '%s'", sym->name);
scripts/gendwarfksyms/symbols.c
134
struct symbol *sym;
scripts/gendwarfksyms/symbols.c
150
sym = xcalloc(1, sizeof(*sym));
scripts/gendwarfksyms/symbols.c
151
sym->name = name;
scripts/gendwarfksyms/symbols.c
152
sym->addr.section = SHN_UNDEF;
scripts/gendwarfksyms/symbols.c
153
sym->state = SYMBOL_UNPROCESSED;
scripts/gendwarfksyms/symbols.c
155
hash_add(symbol_names, &sym->name_hash, hash_str(sym->name));
scripts/gendwarfksyms/symbols.c
158
debug("%s", sym->name);
scripts/gendwarfksyms/symbols.c
167
static void get_symbol(struct symbol *sym, void *arg)
scripts/gendwarfksyms/symbols.c
171
if (sym->state == SYMBOL_UNPROCESSED)
scripts/gendwarfksyms/symbols.c
172
*res = sym;
scripts/gendwarfksyms/symbols.c
177
struct symbol *sym = NULL;
scripts/gendwarfksyms/symbols.c
179
for_each(name, get_symbol, &sym);
scripts/gendwarfksyms/symbols.c
180
return sym;
scripts/gendwarfksyms/symbols.c
186
struct symbol *sym;
scripts/gendwarfksyms/symbols.c
188
hash_for_each_safe(symbol_names, sym, tmp, name_hash) {
scripts/gendwarfksyms/symbols.c
189
func(sym, arg);
scripts/gendwarfksyms/symbols.c
193
typedef void (*elf_symbol_callback_t)(const char *name, GElf_Sym *sym,
scripts/gendwarfksyms/symbols.c
21
static unsigned int __for_each_addr(struct symbol *sym, symbol_callback_t func,
scripts/gendwarfksyms/symbols.c
255
GElf_Sym *sym;
scripts/gendwarfksyms/symbols.c
257
sym = gelf_getsymshndx(data, xndx_data, n,
scripts/gendwarfksyms/symbols.c
259
if (!sym)
scripts/gendwarfksyms/symbols.c
263
if (GELF_ST_BIND(sym->st_info) == STB_LOCAL)
scripts/gendwarfksyms/symbols.c
266
if (sym->st_shndx != SHN_XINDEX)
scripts/gendwarfksyms/symbols.c
267
xndx = sym->st_shndx;
scripts/gendwarfksyms/symbols.c
270
sym->st_name);
scripts/gendwarfksyms/symbols.c
277
func(name, sym, xndx, arg);
scripts/gendwarfksyms/symbols.c
287
static void set_symbol_addr(struct symbol *sym, void *arg)
scripts/gendwarfksyms/symbols.c
29
symbol_addr_hash(&sym->addr)) {
scripts/gendwarfksyms/symbols.c
291
if (sym->addr.section == SHN_UNDEF) {
scripts/gendwarfksyms/symbols.c
292
sym->addr = *addr;
scripts/gendwarfksyms/symbols.c
293
hash_add(symbol_addrs, &sym->addr_hash,
scripts/gendwarfksyms/symbols.c
294
symbol_addr_hash(&sym->addr));
scripts/gendwarfksyms/symbols.c
296
debug("%s -> { %u, %" PRIx64 " }", sym->name, sym->addr.section,
scripts/gendwarfksyms/symbols.c
297
sym->addr.address);
scripts/gendwarfksyms/symbols.c
298
} else if (sym->addr.section != addr->section ||
scripts/gendwarfksyms/symbols.c
299
sym->addr.address != addr->address) {
scripts/gendwarfksyms/symbols.c
30
if (match == sym)
scripts/gendwarfksyms/symbols.c
300
warn("multiple addresses for symbol %s?", sym->name);
scripts/gendwarfksyms/symbols.c
304
static void elf_set_symbol_addr(const char *name, GElf_Sym *sym,
scripts/gendwarfksyms/symbols.c
307
struct symbol_addr addr = { .section = xndx, .address = sym->st_value };
scripts/gendwarfksyms/symbols.c
322
struct symbol *sym;
scripts/gendwarfksyms/symbols.c
324
hash_for_each_safe(symbol_names, sym, tmp, name_hash) {
scripts/gendwarfksyms/symbols.c
325
if (sym->state != SYMBOL_PROCESSED)
scripts/gendwarfksyms/symbols.c
326
warn("no information for symbol %s", sym->name);
scripts/gendwarfksyms/symbols.c
328
printf("#SYMVER %s 0x%08lx\n", sym->name, sym->crc);
scripts/gendwarfksyms/symbols.c
33
if (match->addr.section == sym->addr.section &&
scripts/gendwarfksyms/symbols.c
335
struct symbol *sym;
scripts/gendwarfksyms/symbols.c
337
hash_for_each_safe(symbol_names, sym, tmp, name_hash) {
scripts/gendwarfksyms/symbols.c
338
free((void *)sym->name);
scripts/gendwarfksyms/symbols.c
339
free(sym);
scripts/gendwarfksyms/symbols.c
34
match->addr.address == sym->addr.address) {
scripts/gendwarfksyms/symbols.c
86
static void set_crc(struct symbol *sym, void *data)
scripts/gendwarfksyms/symbols.c
90
if (sym->state == SYMBOL_PROCESSED && sym->crc != *crc)
scripts/gendwarfksyms/symbols.c
92
sym->name, sym->crc, *crc);
scripts/gendwarfksyms/symbols.c
94
sym->state = SYMBOL_PROCESSED;
scripts/gendwarfksyms/symbols.c
95
sym->crc = *crc;
scripts/gendwarfksyms/symbols.c
98
void symbol_set_crc(struct symbol *sym, unsigned long crc)
scripts/gendwarfksyms/types.c
517
static void expand_symbol(struct symbol *sym, void *arg)
scripts/gendwarfksyms/types.c
528
if (!symtypes && sym->state == SYMBOL_PROCESSED)
scripts/gendwarfksyms/types.c
531
if (__die_map_get(sym->die_addr, DIE_SYMBOL, &cache))
scripts/gendwarfksyms/types.c
534
type_expand(sym->name, cache, &type);
scripts/gendwarfksyms/types.c
537
if (sym->state != SYMBOL_PROCESSED) {
scripts/gendwarfksyms/types.c
539
symbol_set_crc(sym, version.crc);
scripts/gendwarfksyms/types.c
540
debug("%s = %lx", sym->name, version.crc);
scripts/gendwarfksyms/types.c
543
checkp(fputs(sym->name, stderr));
scripts/gendwarfksyms/types.c
554
type_map_add(sym->name, &type);
scripts/genksyms/genksyms.c
155
struct symbol *sym;
scripts/genksyms/genksyms.c
157
hash_for_each_possible(symbol_hashtable, sym, hnode, crc32(name)) {
scripts/genksyms/genksyms.c
158
if (map_to_ns(sym->type) == map_to_ns(ns) &&
scripts/genksyms/genksyms.c
159
strcmp(name, sym->name) == 0 &&
scripts/genksyms/genksyms.c
160
sym->is_declared)
scripts/genksyms/genksyms.c
164
if (exact && sym && sym->type != ns)
scripts/genksyms/genksyms.c
166
return sym;
scripts/genksyms/genksyms.c
169
static int is_unknown_symbol(struct symbol *sym)
scripts/genksyms/genksyms.c
173
return ((sym->type == SYM_STRUCT ||
scripts/genksyms/genksyms.c
174
sym->type == SYM_UNION ||
scripts/genksyms/genksyms.c
175
sym->type == SYM_ENUM) &&
scripts/genksyms/genksyms.c
176
(defn = sym->defn) && defn->tag == SYM_NORMAL &&
scripts/genksyms/genksyms.c
232
struct symbol *sym;
scripts/genksyms/genksyms.c
242
hash_for_each_possible(symbol_hashtable, sym, hnode, h) {
scripts/genksyms/genksyms.c
243
if (map_to_ns(sym->type) != map_to_ns(type) ||
scripts/genksyms/genksyms.c
244
strcmp(name, sym->name))
scripts/genksyms/genksyms.c
249
} else if (sym->type == type && equal_list(sym->defn, defn)) {
scripts/genksyms/genksyms.c
250
if (!sym->is_declared && sym->is_override) {
scripts/genksyms/genksyms.c
255
sym->is_declared = 1;
scripts/genksyms/genksyms.c
256
} else if (sym->is_declared) {
scripts/genksyms/genksyms.c
258
} else if (sym->is_override && flag_preserve) {
scripts/genksyms/genksyms.c
263
sym->is_declared = 1;
scripts/genksyms/genksyms.c
265
status = is_unknown_symbol(sym) ?
scripts/genksyms/genksyms.c
270
return sym;
scripts/genksyms/genksyms.c
273
if (sym) {
scripts/genksyms/genksyms.c
274
hash_del(&sym->hnode);
scripts/genksyms/genksyms.c
276
free_list(sym->defn, NULL);
scripts/genksyms/genksyms.c
277
free(sym->name);
scripts/genksyms/genksyms.c
278
free(sym);
scripts/genksyms/genksyms.c
282
sym = xmalloc(sizeof(*sym));
scripts/genksyms/genksyms.c
283
sym->name = xstrdup(name);
scripts/genksyms/genksyms.c
284
sym->type = type;
scripts/genksyms/genksyms.c
285
sym->defn = defn;
scripts/genksyms/genksyms.c
286
sym->expansion_trail = NULL;
scripts/genksyms/genksyms.c
287
sym->visited = NULL;
scripts/genksyms/genksyms.c
288
sym->is_extern = is_extern;
scripts/genksyms/genksyms.c
290
hash_add(symbol_hashtable, &sym->hnode, h);
scripts/genksyms/genksyms.c
292
sym->is_declared = !is_reference;
scripts/genksyms/genksyms.c
293
sym->status = status;
scripts/genksyms/genksyms.c
294
sym->is_override = 0;
scripts/genksyms/genksyms.c
310
return sym;
scripts/genksyms/genksyms.c
464
struct string_list *sym, *def;
scripts/genksyms/genksyms.c
468
sym = read_node(f);
scripts/genksyms/genksyms.c
469
if (sym && sym->tag == SYM_NORMAL &&
scripts/genksyms/genksyms.c
470
!strcmp(sym->string, "override")) {
scripts/genksyms/genksyms.c
472
free_node(sym);
scripts/genksyms/genksyms.c
473
sym = read_node(f);
scripts/genksyms/genksyms.c
475
if (!sym)
scripts/genksyms/genksyms.c
489
subsym = add_reference_symbol(sym->string, sym->tag,
scripts/genksyms/genksyms.c
492
free_node(sym);
scripts/genksyms/genksyms.c
534
static uint32_t expand_and_crc_sym(struct symbol *sym, uint32_t crc)
scripts/genksyms/genksyms.c
536
struct string_list *list = sym->defn;
scripts/genksyms/genksyms.c
628
if (!sym->visited) {
scripts/genksyms/genksyms.c
629
*end = sym;
scripts/genksyms/genksyms.c
630
end = &sym->visited;
scripts/genksyms/genksyms.c
631
sym->visited = (struct symbol *)-1L;
scripts/genksyms/genksyms.c
640
struct symbol *sym;
scripts/genksyms/genksyms.c
644
sym = find_symbol(name, SYM_NORMAL, 0);
scripts/genksyms/genksyms.c
645
if (!sym) {
scripts/genksyms/genksyms.c
655
sym->expansion_trail = expansion_trail;
scripts/genksyms/genksyms.c
656
expansion_trail = sym;
scripts/genksyms/genksyms.c
657
crc = expand_and_crc_sym(sym, 0xffffffff) ^ 0xffffffff;
scripts/genksyms/genksyms.c
659
sym = expansion_trail;
scripts/genksyms/genksyms.c
660
while (sym != (struct symbol *)-1L) {
scripts/genksyms/genksyms.c
661
struct symbol *n = sym->expansion_trail;
scripts/genksyms/genksyms.c
663
if (sym->status != STATUS_UNCHANGED) {
scripts/genksyms/genksyms.c
673
print_type_name(sym->type, sym->name);
scripts/genksyms/genksyms.c
674
if (sym->status == STATUS_DEFINED)
scripts/genksyms/genksyms.c
680
sym->expansion_trail = 0;
scripts/genksyms/genksyms.c
681
sym = n;
scripts/genksyms/genksyms.c
820
struct symbol *sym = visited_symbols;
scripts/genksyms/genksyms.c
822
if (sym->is_override)
scripts/genksyms/genksyms.c
824
if (symbol_types[sym->type].n) {
scripts/genksyms/genksyms.c
825
putc(symbol_types[sym->type].n, dumpfile);
scripts/genksyms/genksyms.c
828
fputs(sym->name, dumpfile);
scripts/genksyms/genksyms.c
830
if (sym->is_extern)
scripts/genksyms/genksyms.c
832
print_list(dumpfile, sym->defn);
scripts/genksyms/genksyms.c
835
visited_symbols = sym->visited;
scripts/genksyms/genksyms.c
836
sym->visited = NULL;
scripts/insert-sys-cert.c
135
Elf_Sym *sym, *symtab_start;
scripts/insert-sys-cert.c
148
sym = &symtab_start[i];
scripts/insert-sys-cert.c
149
symname = strtab + sym->st_name;
scripts/insert-sys-cert.c
151
return sym;
scripts/insert-sys-cert.c
158
char *name, struct sym *s)
scripts/insert-sys-cert.c
260
static void print_sym(Elf_Ehdr *hdr, struct sym *s)
scripts/insert-sys-cert.c
287
struct sym cert_sym, lsize_sym, used_sym;
scripts/insert-sys-cert.c
94
struct sym *s)
scripts/kallsyms.c
105
if (strcmp(sym, ar->start_sym) == 0) {
scripts/kallsyms.c
108
} else if (strcmp(sym, ar->end_sym) == 0) {
scripts/kallsyms.c
121
struct sym_entry *sym;
scripts/kallsyms.c
166
sym = xmalloc(sizeof(*sym) + len + 1);
scripts/kallsyms.c
167
sym->addr = addr;
scripts/kallsyms.c
168
sym->len = len;
scripts/kallsyms.c
169
sym->sym[0] = type;
scripts/kallsyms.c
170
strcpy(sym_name(sym), name);
scripts/kallsyms.c
172
return sym;
scripts/kallsyms.c
251
struct sym_entry *sym;
scripts/kallsyms.c
262
sym = read_symbol(fp, &buf, &buflen);
scripts/kallsyms.c
263
if (!sym)
scripts/kallsyms.c
266
sym->seq = table_cnt;
scripts/kallsyms.c
273
table[table_cnt++] = sym;
scripts/kallsyms.c
391
printf(", 0x%02x", table[i]->sym[k]);
scripts/kallsyms.c
397
expand_symbol(table[i]->sym, table[i]->len, buf);
scripts/kallsyms.c
398
strcpy((char *)table[i]->sym, buf);
scripts/kallsyms.c
399
printf("\t/* %s */\n", table[i]->sym);
scripts/kallsyms.c
40
unsigned char sym[];
scripts/kallsyms.c
438
(int)offset, table[i]->sym);
scripts/kallsyms.c
441
(unsigned int)table[i]->addr, table[i]->sym);
scripts/kallsyms.c
453
table[i]->sym);
scripts/kallsyms.c
484
learn_symbol(table[i]->sym, table[i]->len);
scripts/kallsyms.c
509
p1 = table[i]->sym;
scripts/kallsyms.c
516
forget_symbol(table[i]->sym, len);
scripts/kallsyms.c
538
learn_symbol(table[i]->sym, len);
scripts/kallsyms.c
595
c = table[i]->sym[j];
scripts/kallsyms.c
659
wa = (sa->sym[0] == 'w') || (sa->sym[0] == 'W');
scripts/kallsyms.c
660
wb = (sb->sym[0] == 'w') || (sb->sym[0] == 'W');
scripts/kallsyms.c
76
return (char *)s->sym + 1;
scripts/kallsyms.c
96
static void check_symbol_range(const char *sym, unsigned long long addr,
scripts/kconfig/conf.c
134
struct symbol *sym = menu->sym;
scripts/kconfig/conf.c
136
if (sym && !sym_has_value(sym))
scripts/kconfig/conf.c
144
struct symbol *sym = menu->sym;
scripts/kconfig/conf.c
146
if (sym && !sym_has_value(sym))
scripts/kconfig/conf.c
150
sym->def[S_DEF_USER].tri = yes;
scripts/kconfig/conf.c
151
sym->flags |= SYMBOL_DEF_USER;
scripts/kconfig/conf.c
157
list_move_tail(&sym->choice_link,
scripts/kconfig/conf.c
233
struct symbol *sym = menu->sym;
scripts/kconfig/conf.c
236
if (!sym || !menu->prompt || sym_has_value(sym) ||
scripts/kconfig/conf.c
237
(sym->type != S_BOOLEAN && sym->type != S_TRISTATE) ||
scripts/kconfig/conf.c
238
sym_is_choice_value(sym))
scripts/kconfig/conf.c
241
if (sym_is_choice(sym)) {
scripts/kconfig/conf.c
260
if (sym->type == S_TRISTATE) {
scripts/kconfig/conf.c
272
sym->def[S_DEF_USER].tri = val;
scripts/kconfig/conf.c
273
sym->flags |= SYMBOL_DEF_USER;
scripts/kconfig/conf.c
281
struct symbol *sym;
scripts/kconfig/conf.c
283
for_all_symbols(sym) {
scripts/kconfig/conf.c
284
if (sym_get_type(sym) == S_TRISTATE &&
scripts/kconfig/conf.c
285
sym->def[S_DEF_USER].tri == old_val)
scripts/kconfig/conf.c
286
sym->def[S_DEF_USER].tri = new_val;
scripts/kconfig/conf.c
291
static int conf_askvalue(struct symbol *sym, const char *def)
scripts/kconfig/conf.c
293
if (!sym_has_value(sym))
scripts/kconfig/conf.c
299
if (!sym_is_changeable(sym)) {
scripts/kconfig/conf.c
309
if (sym_has_value(sym)) {
scripts/kconfig/conf.c
325
struct symbol *sym = menu->sym;
scripts/kconfig/conf.c
330
printf("(%s) ", sym->name);
scripts/kconfig/conf.c
331
def = sym_get_string_value(sym);
scripts/kconfig/conf.c
334
if (!conf_askvalue(sym, def))
scripts/kconfig/conf.c
351
if (def && sym_set_string_value(sym, def))
scripts/kconfig/conf.c
358
struct symbol *sym = menu->sym;
scripts/kconfig/conf.c
363
if (sym->name)
scripts/kconfig/conf.c
364
printf("(%s) ", sym->name);
scripts/kconfig/conf.c
366
oldval = sym_get_tristate_value(sym);
scripts/kconfig/conf.c
378
if (oldval != no && sym_tristate_within_range(sym, no))
scripts/kconfig/conf.c
380
if (oldval != mod && sym_tristate_within_range(sym, mod))
scripts/kconfig/conf.c
382
if (oldval != yes && sym_tristate_within_range(sym, yes))
scripts/kconfig/conf.c
385
if (!conf_askvalue(sym, sym_get_string_value(sym)))
scripts/kconfig/conf.c
416
if (sym_set_tristate_value(sym, newval))
scripts/kconfig/conf.c
439
if (!child->sym) {
scripts/kconfig/conf.c
444
if (child->sym == def_sym) {
scripts/kconfig/conf.c
450
child->sym->name);
scripts/kconfig/conf.c
451
if (!sym_has_value(child->sym)) {
scripts/kconfig/conf.c
493
if (!child->sym || !menu_is_visible(child))
scripts/kconfig/conf.c
504
choice_set_value(menu, child->sym);
scripts/kconfig/conf.c
511
struct symbol *sym;
scripts/kconfig/conf.c
518
sym = menu->sym;
scripts/kconfig/conf.c
546
if (!sym)
scripts/kconfig/conf.c
549
if (sym_is_choice(sym)) {
scripts/kconfig/conf.c
554
switch (sym->type) {
scripts/kconfig/conf.c
566
if (sym)
scripts/kconfig/conf.c
570
if (sym)
scripts/kconfig/conf.c
576
struct symbol *sym;
scripts/kconfig/conf.c
582
sym = menu->sym;
scripts/kconfig/conf.c
583
if (sym && !sym_has_value(sym) && sym_is_changeable(sym)) {
scripts/kconfig/conf.c
586
if (sym->name)
scripts/kconfig/conf.c
587
print_symbol_for_listconfig(sym);
scripts/kconfig/confdata.c
1009
switch (sym->type) {
scripts/kconfig/confdata.c
1012
if (sym_get_tristate_value(sym) == no)
scripts/kconfig/confdata.c
1019
} else if (!(sym->flags & SYMBOL_DEF_AUTO))
scripts/kconfig/confdata.c
1028
res = conf_touch_dep(sym->name);
scripts/kconfig/confdata.c
1042
struct symbol *sym;
scripts/kconfig/confdata.c
1060
for_all_symbols(sym)
scripts/kconfig/confdata.c
1061
if ((sym->flags & SYMBOL_WRITE) && sym->name)
scripts/kconfig/confdata.c
1062
print_symbol(file, sym);
scripts/kconfig/confdata.c
1081
struct symbol *sym;
scripts/kconfig/confdata.c
1092
for_all_symbols(sym)
scripts/kconfig/confdata.c
1093
sym_calc_value(sym);
scripts/kconfig/confdata.c
237
static int conf_set_sym_val(struct symbol *sym, int def, int def_flags, char *p)
scripts/kconfig/confdata.c
241
switch (sym->type) {
scripts/kconfig/confdata.c
244
sym->def[def].tri = mod;
scripts/kconfig/confdata.c
245
sym->flags |= def_flags;
scripts/kconfig/confdata.c
251
sym->def[def].tri = yes;
scripts/kconfig/confdata.c
252
sym->flags |= def_flags;
scripts/kconfig/confdata.c
256
sym->def[def].tri = no;
scripts/kconfig/confdata.c
257
sym->flags |= def_flags;
scripts/kconfig/confdata.c
262
p, sym->name);
scripts/kconfig/confdata.c
284
if (sym_string_valid(sym, p)) {
scripts/kconfig/confdata.c
285
sym->def[def].val = xstrdup(p);
scripts/kconfig/confdata.c
286
sym->flags |= def_flags;
scripts/kconfig/confdata.c
290
p, sym->name);
scripts/kconfig/confdata.c
326
struct symbol *sym;
scripts/kconfig/confdata.c
387
for_all_symbols(sym) {
scripts/kconfig/confdata.c
388
sym->flags &= ~def_flags;
scripts/kconfig/confdata.c
389
switch (sym->type) {
scripts/kconfig/confdata.c
393
free(sym->def[def].val);
scripts/kconfig/confdata.c
396
sym->def[def].val = NULL;
scripts/kconfig/confdata.c
397
sym->def[def].tri = no;
scripts/kconfig/confdata.c
402
for_all_symbols(sym)
scripts/kconfig/confdata.c
403
sym->flags &= ~SYMBOL_VALID;
scripts/kconfig/confdata.c
446
sym = sym_find(sym_name);
scripts/kconfig/confdata.c
447
if (!sym) {
scripts/kconfig/confdata.c
465
if (sym->flags & def_flags)
scripts/kconfig/confdata.c
466
conf_warning("override: reassigning to symbol %s", sym->name);
scripts/kconfig/confdata.c
468
if (conf_set_sym_val(sym, def, def_flags, val))
scripts/kconfig/confdata.c
479
choice = sym_get_choice_menu(sym);
scripts/kconfig/confdata.c
481
list_move(&sym->choice_link, &choice->choice_members);
scripts/kconfig/confdata.c
491
struct symbol *sym;
scripts/kconfig/confdata.c
502
for_all_symbols(sym) {
scripts/kconfig/confdata.c
503
sym_calc_value(sym);
scripts/kconfig/confdata.c
504
if (sym_is_choice(sym))
scripts/kconfig/confdata.c
506
if (sym_has_value(sym) && (sym->flags & SYMBOL_WRITE)) {
scripts/kconfig/confdata.c
508
switch (sym->type) {
scripts/kconfig/confdata.c
511
if (sym->def[S_DEF_USER].tri == sym_get_tristate_value(sym))
scripts/kconfig/confdata.c
515
if (!strcmp(sym->curr.val, sym->def[S_DEF_USER].val))
scripts/kconfig/confdata.c
519
} else if (!sym_has_value(sym) && !(sym->flags & SYMBOL_WRITE))
scripts/kconfig/confdata.c
610
static void __print_symbol(FILE *fp, struct symbol *sym, enum output_n output_n,
scripts/kconfig/confdata.c
616
if (sym->type == S_UNKNOWN)
scripts/kconfig/confdata.c
619
val = sym_get_string_value(sym);
scripts/kconfig/confdata.c
621
if ((sym->type == S_BOOLEAN || sym->type == S_TRISTATE) &&
scripts/kconfig/confdata.c
624
fprintf(fp, "# %s%s is not set\n", CONFIG_, sym->name);
scripts/kconfig/confdata.c
628
if (sym->type == S_STRING && escape_string) {
scripts/kconfig/confdata.c
633
fprintf(fp, "%s%s=%s\n", CONFIG_, sym->name, val);
scripts/kconfig/confdata.c
638
static void print_symbol_for_dotconfig(FILE *fp, struct symbol *sym)
scripts/kconfig/confdata.c
640
__print_symbol(fp, sym, OUTPUT_N_AS_UNSET, true);
scripts/kconfig/confdata.c
643
static void print_symbol_for_autoconf(FILE *fp, struct symbol *sym)
scripts/kconfig/confdata.c
645
__print_symbol(fp, sym, OUTPUT_N_NONE, false);
scripts/kconfig/confdata.c
648
void print_symbol_for_listconfig(struct symbol *sym)
scripts/kconfig/confdata.c
650
__print_symbol(stdout, sym, OUTPUT_N, true);
scripts/kconfig/confdata.c
653
static void print_symbol_for_c(FILE *fp, struct symbol *sym)
scripts/kconfig/confdata.c
660
if (sym->type == S_UNKNOWN)
scripts/kconfig/confdata.c
663
val = sym_get_string_value(sym);
scripts/kconfig/confdata.c
665
switch (sym->type) {
scripts/kconfig/confdata.c
689
fprintf(fp, "#define %s%s%s %s%s\n", CONFIG_, sym->name, sym_suffix,
scripts/kconfig/confdata.c
695
static void print_symbol_for_rustccfg(FILE *fp, struct symbol *sym)
scripts/kconfig/confdata.c
703
if (sym->type == S_UNKNOWN)
scripts/kconfig/confdata.c
706
val = sym_get_string_value(sym);
scripts/kconfig/confdata.c
708
switch (sym->type) {
scripts/kconfig/confdata.c
727
fprintf(fp, "--cfg=%s%s\n", CONFIG_, sym->name);
scripts/kconfig/confdata.c
748
fprintf(fp, "--cfg=%s%s=%s\n", CONFIG_, sym->name, val);
scripts/kconfig/confdata.c
760
struct symbol *sym;
scripts/kconfig/confdata.c
773
sym = menu->sym;
scripts/kconfig/confdata.c
775
if (!sym || sym_is_choice(sym))
scripts/kconfig/confdata.c
778
sym_calc_value(sym);
scripts/kconfig/confdata.c
779
if (!(sym->flags & SYMBOL_WRITE))
scripts/kconfig/confdata.c
781
sym->flags &= ~SYMBOL_WRITE;
scripts/kconfig/confdata.c
783
if (!sym_is_changeable(sym))
scripts/kconfig/confdata.c
786
if (!strcmp(sym_get_string_value(sym), sym_get_string_default(sym)))
scripts/kconfig/confdata.c
790
choice = sym_get_choice_menu(sym);
scripts/kconfig/confdata.c
795
if (sym == ds && sym_get_tristate_value(sym) == yes)
scripts/kconfig/confdata.c
798
print_symbol_for_dotconfig(out, sym);
scripts/kconfig/confdata.c
807
struct symbol *sym;
scripts/kconfig/confdata.c
849
sym = menu->sym;
scripts/kconfig/confdata.c
850
if (!sym) {
scripts/kconfig/confdata.c
859
} else if (!sym_is_choice(sym) &&
scripts/kconfig/confdata.c
860
!(sym->flags & SYMBOL_WRITTEN)) {
scripts/kconfig/confdata.c
861
sym_calc_value(sym);
scripts/kconfig/confdata.c
862
if (!(sym->flags & SYMBOL_WRITE))
scripts/kconfig/confdata.c
868
sym->flags |= SYMBOL_WRITTEN;
scripts/kconfig/confdata.c
869
print_symbol_for_dotconfig(out, sym);
scripts/kconfig/confdata.c
879
if (!menu->sym && menu_is_visible(menu) && menu != &rootmenu &&
scripts/kconfig/confdata.c
895
for_all_symbols(sym)
scripts/kconfig/confdata.c
896
sym->flags &= ~SYMBOL_WRITTEN;
scripts/kconfig/confdata.c
964
struct symbol *sym;
scripts/kconfig/confdata.c
978
for_all_symbols(sym) {
scripts/kconfig/confdata.c
979
if (sym_is_choice(sym))
scripts/kconfig/confdata.c
981
if (sym->flags & SYMBOL_WRITE) {
scripts/kconfig/confdata.c
982
if (sym->flags & SYMBOL_DEF_AUTO) {
scripts/kconfig/confdata.c
987
switch (sym->type) {
scripts/kconfig/confdata.c
990
if (sym_get_tristate_value(sym) ==
scripts/kconfig/confdata.c
991
sym->def[S_DEF_AUTO].tri)
scripts/kconfig/confdata.c
997
if (!strcmp(sym_get_string_value(sym),
scripts/kconfig/confdata.c
998
sym->def[S_DEF_AUTO].val))
scripts/kconfig/expr.c
1035
if (e->left.sym->name)
scripts/kconfig/expr.c
1036
fn(data, e->left.sym, e->left.sym->name);
scripts/kconfig/expr.c
1045
if (e->left.sym->name)
scripts/kconfig/expr.c
1046
fn(data, e->left.sym, e->left.sym->name);
scripts/kconfig/expr.c
1050
fn(data, e->right.sym, e->right.sym->name);
scripts/kconfig/expr.c
1054
if (e->left.sym->name)
scripts/kconfig/expr.c
1055
fn(data, e->left.sym, e->left.sym->name);
scripts/kconfig/expr.c
1059
fn(data, e->right.sym, e->right.sym->name);
scripts/kconfig/expr.c
1063
if (e->left.sym->name)
scripts/kconfig/expr.c
1064
fn(data, e->left.sym, e->left.sym->name);
scripts/kconfig/expr.c
1068
fn(data, e->right.sym, e->right.sym->name);
scripts/kconfig/expr.c
1071
if (e->left.sym->name)
scripts/kconfig/expr.c
1072
fn(data, e->left.sym, e->left.sym->name);
scripts/kconfig/expr.c
1076
fn(data, e->right.sym, e->right.sym->name);
scripts/kconfig/expr.c
1090
fn(data, e->left.sym, e->left.sym->name);
scripts/kconfig/expr.c
1092
fn(data, e->right.sym, e->right.sym->name);
scripts/kconfig/expr.c
1107
static void expr_print_file_helper(void *data, struct symbol *sym, const char *str)
scripts/kconfig/expr.c
1117
static void expr_print_gstr_helper(void *data, struct symbol *sym, const char *str)
scripts/kconfig/expr.c
1122
if (sym)
scripts/kconfig/expr.c
1123
sym_str = sym_get_string_value(sym);
scripts/kconfig/expr.c
1143
if (sym && sym->type != S_UNKNOWN)
scripts/kconfig/expr.c
127
(*ep1)->left.sym == (*ep2)->left.sym &&
scripts/kconfig/expr.c
128
((*ep1)->left.sym == &symbol_yes || (*ep1)->left.sym == &symbol_no))
scripts/kconfig/expr.c
228
return e1->left.sym == e2->left.sym && e1->right.sym == e2->right.sym;
scripts/kconfig/expr.c
230
return e1->left.sym == e2->left.sym;
scripts/kconfig/expr.c
238
e1->left.sym == e2->left.sym);
scripts/kconfig/expr.c
276
if (l->left.sym == &symbol_no)
scripts/kconfig/expr.c
278
else if (l->left.sym == &symbol_yes)
scripts/kconfig/expr.c
282
if (r->left.sym == &symbol_no)
scripts/kconfig/expr.c
284
else if (r->left.sym == &symbol_yes)
scripts/kconfig/expr.c
292
if (l->left.sym == &symbol_no)
scripts/kconfig/expr.c
294
else if (l->left.sym == &symbol_yes)
scripts/kconfig/expr.c
298
if (r->left.sym == &symbol_no)
scripts/kconfig/expr.c
300
else if (r->left.sym == &symbol_yes)
scripts/kconfig/expr.c
328
sym1 = tmp->left.sym;
scripts/kconfig/expr.c
330
sym1 = e1->left.sym;
scripts/kconfig/expr.c
334
sym2 = e2->left.expr->left.sym;
scripts/kconfig/expr.c
336
sym2 = e2->left.sym;
scripts/kconfig/expr.c
343
((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_mod) ||
scripts/kconfig/expr.c
344
(e1->right.sym == &symbol_mod && e2->right.sym == &symbol_yes))) {
scripts/kconfig/expr.c
349
((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_no) ||
scripts/kconfig/expr.c
350
(e1->right.sym == &symbol_no && e2->right.sym == &symbol_yes))) {
scripts/kconfig/expr.c
355
((e1->right.sym == &symbol_mod && e2->right.sym == &symbol_no) ||
scripts/kconfig/expr.c
356
(e1->right.sym == &symbol_no && e2->right.sym == &symbol_mod))) {
scripts/kconfig/expr.c
393
sym1 = tmp->left.sym;
scripts/kconfig/expr.c
395
sym1 = e1->left.sym;
scripts/kconfig/expr.c
399
sym2 = e2->left.expr->left.sym;
scripts/kconfig/expr.c
401
sym2 = e2->left.sym;
scripts/kconfig/expr.c
407
if ((e1->type == E_SYMBOL && e2->type == E_EQUAL && e2->right.sym == &symbol_yes) ||
scripts/kconfig/expr.c
408
(e2->type == E_SYMBOL && e1->type == E_EQUAL && e1->right.sym == &symbol_yes))
scripts/kconfig/expr.c
412
if ((e1->type == E_SYMBOL && e2->type == E_UNEQUAL && e2->right.sym == &symbol_no) ||
scripts/kconfig/expr.c
413
(e2->type == E_SYMBOL && e1->type == E_UNEQUAL && e1->right.sym == &symbol_no))
scripts/kconfig/expr.c
417
if ((e1->type == E_SYMBOL && e2->type == E_UNEQUAL && e2->right.sym == &symbol_mod) ||
scripts/kconfig/expr.c
418
(e2->type == E_SYMBOL && e1->type == E_UNEQUAL && e1->right.sym == &symbol_mod))
scripts/kconfig/expr.c
425
sym2 = e1->right.sym;
scripts/kconfig/expr.c
426
if ((e2->right.sym->flags & SYMBOL_CONST) && (sym2->flags & SYMBOL_CONST))
scripts/kconfig/expr.c
427
return sym2 != e2->right.sym ? expr_alloc_comp(E_EQUAL, sym1, sym2)
scripts/kconfig/expr.c
432
sym2 = e2->right.sym;
scripts/kconfig/expr.c
433
if ((e1->right.sym->flags & SYMBOL_CONST) && (sym2->flags & SYMBOL_CONST))
scripts/kconfig/expr.c
434
return sym2 != e1->right.sym ? expr_alloc_comp(E_EQUAL, sym1, sym2)
scripts/kconfig/expr.c
438
((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_no) ||
scripts/kconfig/expr.c
439
(e1->right.sym == &symbol_no && e2->right.sym == &symbol_yes)))
scripts/kconfig/expr.c
444
((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_mod) ||
scripts/kconfig/expr.c
445
(e1->right.sym == &symbol_mod && e2->right.sym == &symbol_yes)))
scripts/kconfig/expr.c
450
((e1->right.sym == &symbol_mod && e2->right.sym == &symbol_no) ||
scripts/kconfig/expr.c
451
(e1->right.sym == &symbol_no && e2->right.sym == &symbol_mod)))
scripts/kconfig/expr.c
455
if ((e1->type == E_SYMBOL && e2->type == E_EQUAL && e2->right.sym == &symbol_mod) ||
scripts/kconfig/expr.c
456
(e2->type == E_SYMBOL && e1->type == E_EQUAL && e1->right.sym == &symbol_mod) ||
scripts/kconfig/expr.c
457
(e1->type == E_SYMBOL && e2->type == E_UNEQUAL && e2->right.sym == &symbol_yes) ||
scripts/kconfig/expr.c
458
(e2->type == E_SYMBOL && e1->type == E_UNEQUAL && e1->right.sym == &symbol_yes))
scripts/kconfig/expr.c
57
struct expr *expr_alloc_symbol(struct symbol *sym)
scripts/kconfig/expr.c
59
return expr_lookup(E_SYMBOL, sym, NULL);
scripts/kconfig/expr.c
614
if (e->left.sym->type != S_BOOLEAN)
scripts/kconfig/expr.c
616
if (e->right.sym == &symbol_no) {
scripts/kconfig/expr.c
618
e = expr_alloc_one(E_NOT, expr_alloc_symbol(e->left.sym));
scripts/kconfig/expr.c
621
if (e->right.sym == &symbol_mod) {
scripts/kconfig/expr.c
623
printf("boolean symbol %s tested for 'm'? test forced to 'n'\n", e->left.sym->name);
scripts/kconfig/expr.c
627
if (e->right.sym == &symbol_yes) {
scripts/kconfig/expr.c
629
e = expr_alloc_symbol(e->left.sym);
scripts/kconfig/expr.c
634
if (e->left.sym->type != S_BOOLEAN)
scripts/kconfig/expr.c
636
if (e->right.sym == &symbol_no) {
scripts/kconfig/expr.c
638
e = expr_alloc_symbol(e->left.sym);
scripts/kconfig/expr.c
641
if (e->right.sym == &symbol_mod) {
scripts/kconfig/expr.c
643
printf("boolean symbol %s tested for 'm'? test forced to 'y'\n", e->left.sym->name);
scripts/kconfig/expr.c
647
if (e->right.sym == &symbol_yes) {
scripts/kconfig/expr.c
663
e->left.expr->left.sym,
scripts/kconfig/expr.c
664
e->left.expr->right.sym);
scripts/kconfig/expr.c
670
e->left.expr->left.sym,
scripts/kconfig/expr.c
671
e->left.expr->right.sym);
scripts/kconfig/expr.c
677
e->left.expr->left.sym,
scripts/kconfig/expr.c
678
e->left.expr->right.sym);
scripts/kconfig/expr.c
693
if (e->left.expr->left.sym == &symbol_yes)
scripts/kconfig/expr.c
696
else if (e->left.expr->left.sym == &symbol_mod)
scripts/kconfig/expr.c
699
else if (e->left.expr->left.sym == &symbol_no)
scripts/kconfig/expr.c
713
bool expr_contains_symbol(struct expr *dep, struct symbol *sym)
scripts/kconfig/expr.c
721
return expr_contains_symbol(dep->left.expr, sym) ||
scripts/kconfig/expr.c
722
expr_contains_symbol(dep->right.expr, sym);
scripts/kconfig/expr.c
724
return dep->left.sym == sym;
scripts/kconfig/expr.c
731
return dep->left.sym == sym ||
scripts/kconfig/expr.c
732
dep->right.sym == sym;
scripts/kconfig/expr.c
734
return expr_contains_symbol(dep->left.expr, sym);
scripts/kconfig/expr.c
741
bool expr_depends_symbol(struct expr *dep, struct symbol *sym)
scripts/kconfig/expr.c
748
return expr_depends_symbol(dep->left.expr, sym) ||
scripts/kconfig/expr.c
749
expr_depends_symbol(dep->right.expr, sym);
scripts/kconfig/expr.c
751
return dep->left.sym == sym;
scripts/kconfig/expr.c
753
if (dep->left.sym == sym) {
scripts/kconfig/expr.c
754
if (dep->right.sym == &symbol_yes || dep->right.sym == &symbol_mod)
scripts/kconfig/expr.c
759
if (dep->left.sym == sym) {
scripts/kconfig/expr.c
760
if (dep->right.sym == &symbol_no)
scripts/kconfig/expr.c
784
struct expr *expr_trans_compare(struct expr *e, enum expr_type type, struct symbol *sym)
scripts/kconfig/expr.c
789
e = expr_alloc_symbol(sym);
scripts/kconfig/expr.c
796
e1 = expr_trans_compare(e->left.expr, E_EQUAL, sym);
scripts/kconfig/expr.c
797
e2 = expr_trans_compare(e->right.expr, E_EQUAL, sym);
scripts/kconfig/expr.c
798
if (sym == &symbol_yes)
scripts/kconfig/expr.c
800
if (sym == &symbol_no)
scripts/kconfig/expr.c
806
e1 = expr_trans_compare(e->left.expr, E_EQUAL, sym);
scripts/kconfig/expr.c
807
e2 = expr_trans_compare(e->right.expr, E_EQUAL, sym);
scripts/kconfig/expr.c
808
if (sym == &symbol_yes)
scripts/kconfig/expr.c
810
if (sym == &symbol_no)
scripts/kconfig/expr.c
816
return expr_trans_compare(e->left.expr, type == E_EQUAL ? E_UNEQUAL : E_EQUAL, sym);
scripts/kconfig/expr.c
824
if (sym == &symbol_yes)
scripts/kconfig/expr.c
826
if (sym == &symbol_mod)
scripts/kconfig/expr.c
828
if (sym == &symbol_no)
scripts/kconfig/expr.c
831
if (sym == &symbol_yes)
scripts/kconfig/expr.c
833
if (sym == &symbol_mod)
scripts/kconfig/expr.c
835
if (sym == &symbol_no)
scripts/kconfig/expr.c
840
return expr_alloc_comp(type, e->left.sym, sym);
scripts/kconfig/expr.c
901
sym_calc_value(e->left.sym);
scripts/kconfig/expr.c
902
return e->left.sym->curr.tri;
scripts/kconfig/expr.c
926
sym_calc_value(e->left.sym);
scripts/kconfig/expr.c
927
sym_calc_value(e->right.sym);
scripts/kconfig/expr.c
928
str1 = sym_get_string_value(e->left.sym);
scripts/kconfig/expr.c
929
str2 = sym_get_string_value(e->right.sym);
scripts/kconfig/expr.c
931
if (e->left.sym->type != S_STRING || e->right.sym->type != S_STRING) {
scripts/kconfig/expr.c
932
k1 = expr_parse_string(str1, e->left.sym->type, &lval);
scripts/kconfig/expr.c
933
k2 = expr_parse_string(str2, e->right.sym->type, &rval);
scripts/kconfig/expr.h
201
#define for_all_properties(sym, st, tok) \
scripts/kconfig/expr.h
202
for (st = sym->prop; st; st = st->next) \
scripts/kconfig/expr.h
204
#define for_all_defaults(sym, st) for_all_properties(sym, st, P_DEFAULT)
scripts/kconfig/expr.h
205
#define for_all_prompts(sym, st) \
scripts/kconfig/expr.h
206
for (st = sym->prop; st; st = st->next) \
scripts/kconfig/expr.h
242
struct symbol *sym;
scripts/kconfig/expr.h
298
struct expr *expr_alloc_symbol(struct symbol *sym);
scripts/kconfig/expr.h
309
bool expr_contains_symbol(struct expr *dep, struct symbol *sym);
scripts/kconfig/expr.h
310
bool expr_depends_symbol(struct expr *dep, struct symbol *sym);
scripts/kconfig/expr.h
311
struct expr *expr_trans_compare(struct expr *e, enum expr_type type, struct symbol *sym);
scripts/kconfig/expr.h
321
return !e || (e->type == E_SYMBOL && e->left.sym == &symbol_yes);
scripts/kconfig/expr.h
33
struct symbol * const sym;
scripts/kconfig/gconf.c
153
struct symbol *sym = menu->sym;
scripts/kconfig/gconf.c
168
sym && !sym_has_value(sym) ? "(NEW)" : "");
scripts/kconfig/gconf.c
172
if (!sym)
scripts/kconfig/gconf.c
175
sym_calc_value(sym);
scripts/kconfig/gconf.c
182
if (menu_is_visible(child) && child->sym == def_sym)
scripts/kconfig/gconf.c
192
switch (sym_get_type(sym)) {
scripts/kconfig/gconf.c
198
val = sym_get_tristate_value(sym);
scripts/kconfig/gconf.c
214
if (val != no && sym_tristate_within_range(sym, no))
scripts/kconfig/gconf.c
216
if (val != mod && sym_tristate_within_range(sym, mod))
scripts/kconfig/gconf.c
218
if (val != yes && sym_tristate_within_range(sym, yes))
scripts/kconfig/gconf.c
222
value = sym_get_string_value(sym);
scripts/kconfig/gconf.c
230
COL_NAME, sym ? sym->name : "",
scripts/kconfig/gconf.c
243
COL_BTNRAD, sym && sym_is_choice_value(sym),
scripts/kconfig/gconf.c
665
struct symbol *sym;
scripts/kconfig/gconf.c
671
sym = menu->sym;
scripts/kconfig/gconf.c
676
sym_set_string_value(sym, new_def);
scripts/kconfig/gconf.c
687
struct symbol *sym = menu->sym;
scripts/kconfig/gconf.c
690
if (!sym)
scripts/kconfig/gconf.c
702
switch (sym_get_type(sym)) {
scripts/kconfig/gconf.c
705
if (!sym_tristate_within_range(sym, newval))
scripts/kconfig/gconf.c
707
sym_set_tristate_value(sym, newval);
scripts/kconfig/gconf.c
720
if (!menu->sym)
scripts/kconfig/gconf.c
723
sym_toggle_tristate_value(menu->sym);
scripts/kconfig/internal.h
11
#define for_all_symbols(sym) \
scripts/kconfig/internal.h
12
hash_for_each(sym_hashtable, sym, node)
scripts/kconfig/lkc.h
111
struct property *sym_get_range_prop(struct symbol *sym);
scripts/kconfig/lkc.h
112
const char *sym_get_string_default(struct symbol *sym);
scripts/kconfig/lkc.h
113
struct symbol *sym_check_deps(struct symbol *sym);
scripts/kconfig/lkc.h
116
static inline tristate sym_get_tristate_value(const struct symbol *sym)
scripts/kconfig/lkc.h
118
return sym->curr.tri;
scripts/kconfig/lkc.h
121
static inline bool sym_is_choice(const struct symbol *sym)
scripts/kconfig/lkc.h
124
return sym->name == NULL;
scripts/kconfig/lkc.h
127
bool sym_is_choice_value(const struct symbol *sym);
scripts/kconfig/lkc.h
129
static inline bool sym_has_value(const struct symbol *sym)
scripts/kconfig/lkc.h
131
return sym->flags & SYMBOL_DEF_USER ? true : false;
scripts/kconfig/lkc.h
84
void menu_add_entry(struct symbol *sym, enum menu_type type);
scripts/kconfig/lkc.h
90
void menu_add_symbol(enum prop_type type, struct symbol *sym, struct expr *dep);
scripts/kconfig/lkc_proto.h
23
void print_symbol_for_listconfig(struct symbol *sym);
scripts/kconfig/lkc_proto.h
26
void sym_calc_value(struct symbol *sym);
scripts/kconfig/lkc_proto.h
28
enum symbol_type sym_get_type(const struct symbol *sym);
scripts/kconfig/lkc_proto.h
29
bool sym_tristate_within_range(const struct symbol *sym, tristate tri);
scripts/kconfig/lkc_proto.h
30
bool sym_set_tristate_value(struct symbol *sym,tristate tri);
scripts/kconfig/lkc_proto.h
31
void choice_set_value(struct menu *choice, struct symbol *sym);
scripts/kconfig/lkc_proto.h
32
tristate sym_toggle_tristate_value(struct symbol *sym);
scripts/kconfig/lkc_proto.h
33
bool sym_string_valid(struct symbol *sym, const char *newval);
scripts/kconfig/lkc_proto.h
34
bool sym_string_within_range(struct symbol *sym, const char *str);
scripts/kconfig/lkc_proto.h
35
bool sym_set_string_value(struct symbol *sym, const char *newval);
scripts/kconfig/lkc_proto.h
36
bool sym_is_changeable(const struct symbol *sym);
scripts/kconfig/lkc_proto.h
37
struct menu *sym_get_prompt_menu(const struct symbol *sym);
scripts/kconfig/lkc_proto.h
38
struct menu *sym_get_choice_menu(const struct symbol *sym);
scripts/kconfig/lkc_proto.h
39
const char * sym_get_string_value(struct symbol *sym);
scripts/kconfig/mconf.c
457
struct symbol *sym;
scripts/kconfig/mconf.c
475
sym = menu->sym;
scripts/kconfig/mconf.c
477
if (!sym) {
scripts/kconfig/mconf.c
517
type = sym_get_type(sym);
scripts/kconfig/mconf.c
518
if (sym_is_choice(sym)) {
scripts/kconfig/mconf.c
524
if (menu_is_visible(child) && child->sym == def_sym)
scripts/kconfig/mconf.c
544
val = sym_get_tristate_value(sym);
scripts/kconfig/mconf.c
547
if (sym_is_changeable(sym))
scripts/kconfig/mconf.c
560
if (sym_is_changeable(sym)) {
scripts/kconfig/mconf.c
561
if (sym->rev_dep.tri == mod)
scripts/kconfig/mconf.c
571
tmp = 2 + strlen(sym_get_string_value(sym)); /* () = 2 */
scripts/kconfig/mconf.c
572
item_make("(%s)", sym_get_string_value(sym));
scripts/kconfig/mconf.c
577
(sym_has_value(sym) || !sym_is_changeable(sym)) ?
scripts/kconfig/mconf.c
584
(sym_has_value(sym) || !sym_is_changeable(sym)) ?
scripts/kconfig/mconf.c
615
if (child->sym)
scripts/kconfig/mconf.c
622
if (child->sym == active)
scripts/kconfig/mconf.c
624
if (child->sym == sym_calc_choice(menu))
scripts/kconfig/mconf.c
638
if (!child->sym)
scripts/kconfig/mconf.c
641
choice_set_value(menu, child->sym);
scripts/kconfig/mconf.c
648
active = child->sym;
scripts/kconfig/mconf.c
668
switch (sym_get_type(menu->sym)) {
scripts/kconfig/mconf.c
684
sym_get_string_value(menu->sym));
scripts/kconfig/mconf.c
687
if (sym_set_string_value(menu->sym, dialog_input_result))
scripts/kconfig/mconf.c
759
struct symbol *sym;
scripts/kconfig/mconf.c
791
sym = submenu->sym;
scripts/kconfig/mconf.c
793
sym = NULL;
scripts/kconfig/mconf.c
805
if (sym_is_choice(sym))
scripts/kconfig/mconf.c
816
if (sym)
scripts/kconfig/mconf.c
833
if (sym_set_tristate_value(sym, yes))
scripts/kconfig/mconf.c
835
if (sym_set_tristate_value(sym, mod))
scripts/kconfig/mconf.c
841
sym_set_tristate_value(sym, no);
scripts/kconfig/mconf.c
845
sym_set_tristate_value(sym, mod);
scripts/kconfig/mconf.c
849
sym_toggle_tristate_value(sym);
scripts/kconfig/menu.c
121
if (e->left.sym == &symbol_mod)
scripts/kconfig/menu.c
147
struct symbol *sym = current_entry->sym;
scripts/kconfig/menu.c
149
if (sym->type == type)
scripts/kconfig/menu.c
151
if (sym->type == S_UNKNOWN) {
scripts/kconfig/menu.c
152
sym->type = type;
scripts/kconfig/menu.c
157
sym->name ? sym->name : "<choice>",
scripts/kconfig/menu.c
158
sym_type_name(sym->type), sym_type_name(type));
scripts/kconfig/menu.c
176
if (current_entry->sym) {
scripts/kconfig/menu.c
179
for (propp = ¤t_entry->sym->prop;
scripts/kconfig/menu.c
232
void menu_add_symbol(enum prop_type type, struct symbol *sym, struct expr *dep)
scripts/kconfig/menu.c
234
menu_add_prop(type, expr_alloc_symbol(sym), dep);
scripts/kconfig/menu.c
237
static int menu_validate_number(struct symbol *sym, struct symbol *sym2)
scripts/kconfig/menu.c
240
(sym2->type == S_UNKNOWN && sym_string_valid(sym, sym2->name));
scripts/kconfig/menu.c
243
static void sym_check_prop(struct symbol *sym)
scripts/kconfig/menu.c
249
for (prop = sym->prop; prop; prop = prop->next) {
scripts/kconfig/menu.c
252
if ((sym->type == S_STRING || sym->type == S_INT || sym->type == S_HEX) &&
scripts/kconfig/menu.c
256
" must be a single symbol", sym->name);
scripts/kconfig/menu.c
260
if (sym->type == S_HEX || sym->type == S_INT) {
scripts/kconfig/menu.c
261
if (!menu_validate_number(sym, sym2))
scripts/kconfig/menu.c
264
sym->name);
scripts/kconfig/menu.c
266
if (sym_is_choice(sym)) {
scripts/kconfig/menu.c
269
if (!choice || choice->sym != sym)
scripts/kconfig/menu.c
279
if (sym->type != S_BOOLEAN && sym->type != S_TRISTATE)
scripts/kconfig/menu.c
282
"not bool or tristate", sym->name, use);
scripts/kconfig/menu.c
292
if (sym->type != S_INT && sym->type != S_HEX)
scripts/kconfig/menu.c
295
if (!menu_validate_number(sym, prop->expr->left.sym) ||
scripts/kconfig/menu.c
296
!menu_validate_number(sym, prop->expr->right.sym))
scripts/kconfig/menu.c
308
struct symbol *sym;
scripts/kconfig/menu.c
312
sym = parent->sym;
scripts/kconfig/menu.c
331
if (menu->sym)
scripts/kconfig/menu.c
336
prop = menu->sym->prop;
scripts/kconfig/menu.c
382
expr_alloc_and(expr_alloc_symbol(menu->sym), dep));
scripts/kconfig/menu.c
386
expr_alloc_and(expr_alloc_symbol(menu->sym), dep));
scripts/kconfig/menu.c
396
_menu_finalize(menu, sym && sym_is_choice(sym));
scripts/kconfig/menu.c
397
} else if (!inside_choice && sym) {
scripts/kconfig/menu.c
428
if (!expr_contains_symbol(dep, sym))
scripts/kconfig/menu.c
431
if (expr_depends_symbol(dep, sym))
scripts/kconfig/menu.c
464
sym->dir_dep.expr = expr_alloc_or(sym->dir_dep.expr, parent->dep);
scripts/kconfig/menu.c
507
if (sym && !(sym->flags & SYMBOL_WARNED)) {
scripts/kconfig/menu.c
508
if (sym->type == S_UNKNOWN)
scripts/kconfig/menu.c
512
sym_check_prop(sym);
scripts/kconfig/menu.c
513
sym->flags |= SYMBOL_WARNED;
scripts/kconfig/menu.c
548
struct symbol *sym;
scripts/kconfig/menu.c
559
sym = menu->sym;
scripts/kconfig/menu.c
560
if (sym) {
scripts/kconfig/menu.c
561
sym_calc_value(sym);
scripts/kconfig/menu.c
569
if (!sym || sym_get_tristate_value(menu->sym) == no)
scripts/kconfig/menu.c
583
else if (menu->sym)
scripts/kconfig/menu.c
584
return menu->sym->name;
scripts/kconfig/menu.c
68
void menu_add_entry(struct symbol *sym, enum menu_type type)
scripts/kconfig/menu.c
691
if (menu->sym) {
scripts/kconfig/menu.c
692
str_printf(r, " (%s [=%s])", menu->sym->name ?
scripts/kconfig/menu.c
693
menu->sym->name : "<choice>",
scripts/kconfig/menu.c
694
sym_get_string_value(menu->sym));
scripts/kconfig/menu.c
700
static void get_symbol_props_str(struct gstr *r, struct symbol *sym,
scripts/kconfig/menu.c
706
for_all_properties(sym, prop, tok) {
scripts/kconfig/menu.c
721
static void get_symbol_str(struct gstr *r, struct symbol *sym,
scripts/kconfig/menu.c
727
if (sym && sym->name) {
scripts/kconfig/menu.c
728
str_printf(r, "Symbol: %s [=%s]\n", sym->name,
scripts/kconfig/menu.c
729
sym_get_string_value(sym));
scripts/kconfig/menu.c
730
str_printf(r, "Type : %s\n", sym_type_name(sym->type));
scripts/kconfig/menu.c
731
if (sym->type == S_INT || sym->type == S_HEX) {
scripts/kconfig/menu.c
732
prop = sym_get_range_prop(sym);
scripts/kconfig/menu.c
742
list_for_each_entry(menu, &sym->menus, link) {
scripts/kconfig/menu.c
749
list_for_each_entry(menu, &sym->menus, link) {
scripts/kconfig/menu.c
75
menu->sym = sym;
scripts/kconfig/menu.c
756
get_symbol_props_str(r, sym, P_SELECT, "Selects: ");
scripts/kconfig/menu.c
757
if (sym->rev_dep.expr) {
scripts/kconfig/menu.c
758
expr_gstr_print_revdep(sym->rev_dep.expr, r, yes, "Selected by [y]:\n");
scripts/kconfig/menu.c
759
expr_gstr_print_revdep(sym->rev_dep.expr, r, mod, "Selected by [m]:\n");
scripts/kconfig/menu.c
760
expr_gstr_print_revdep(sym->rev_dep.expr, r, no, "Selected by [n]:\n");
scripts/kconfig/menu.c
763
get_symbol_props_str(r, sym, P_IMPLY, "Implies: ");
scripts/kconfig/menu.c
764
if (sym->implied.expr) {
scripts/kconfig/menu.c
765
expr_gstr_print_revdep(sym->implied.expr, r, yes, "Implied by [y]:\n");
scripts/kconfig/menu.c
766
expr_gstr_print_revdep(sym->implied.expr, r, mod, "Implied by [m]:\n");
scripts/kconfig/menu.c
767
expr_gstr_print_revdep(sym->implied.expr, r, no, "Implied by [n]:\n");
scripts/kconfig/menu.c
775
struct symbol *sym;
scripts/kconfig/menu.c
779
for (i = 0; sym_arr && (sym = sym_arr[i]); i++)
scripts/kconfig/menu.c
780
get_symbol_str(&res, sym, head);
scripts/kconfig/menu.c
789
struct symbol *sym = menu->sym;
scripts/kconfig/menu.c
793
if (sym->name)
scripts/kconfig/menu.c
794
str_printf(help, "%s%s:\n\n", CONFIG_, sym->name);
scripts/kconfig/menu.c
798
if (sym)
scripts/kconfig/menu.c
799
get_symbol_str(help, sym, NULL);
scripts/kconfig/menu.c
83
if (sym)
scripts/kconfig/menu.c
839
if (!menu->sym) {
scripts/kconfig/menu.c
84
list_add_tail(&menu->link, &sym->menus);
scripts/kconfig/menu.c
846
printf("symbol %s\n", menu->sym->name);
scripts/kconfig/nconf.c
1060
struct symbol *sym;
scripts/kconfig/nconf.c
1161
sym = submenu->sym;
scripts/kconfig/nconf.c
1166
sym_toggle_tristate_value(sym);
scripts/kconfig/nconf.c
1181
if (sym_is_choice(sym))
scripts/kconfig/nconf.c
1187
sym_toggle_tristate_value(sym);
scripts/kconfig/nconf.c
1196
if (sym_set_tristate_value(sym, yes))
scripts/kconfig/nconf.c
1198
if (sym_set_tristate_value(sym, mod))
scripts/kconfig/nconf.c
1204
sym_set_tristate_value(sym, no);
scripts/kconfig/nconf.c
1208
sym_set_tristate_value(sym, mod);
scripts/kconfig/nconf.c
1255
if (child->sym == sym_calc_choice(menu))
scripts/kconfig/nconf.c
1258
else if (child->sym)
scripts/kconfig/nconf.c
1265
if (child->sym == active){
scripts/kconfig/nconf.c
1332
if (!child || !menu_is_visible(child) || !child->sym)
scripts/kconfig/nconf.c
1338
choice_set_value(menu, child->sym);
scripts/kconfig/nconf.c
1343
active = child->sym;
scripts/kconfig/nconf.c
1359
switch (sym_get_type(menu->sym)) {
scripts/kconfig/nconf.c
1375
sym_get_string_value(menu->sym),
scripts/kconfig/nconf.c
1380
if (sym_set_string_value(menu->sym,
scripts/kconfig/nconf.c
764
struct symbol *sym;
scripts/kconfig/nconf.c
774
sym = menu->sym;
scripts/kconfig/nconf.c
776
if (!sym) {
scripts/kconfig/nconf.c
820
type = sym_get_type(sym);
scripts/kconfig/nconf.c
821
if (sym_is_choice(sym)) {
scripts/kconfig/nconf.c
827
if (menu_is_visible(child) && child->sym == def_sym)
scripts/kconfig/nconf.c
831
val = sym_get_tristate_value(sym);
scripts/kconfig/nconf.c
847
val = sym_get_tristate_value(sym);
scripts/kconfig/nconf.c
850
if (sym_is_changeable(sym))
scripts/kconfig/nconf.c
869
if (sym_is_changeable(sym)) {
scripts/kconfig/nconf.c
870
if (sym->rev_dep.tri == mod)
scripts/kconfig/nconf.c
878
tmp = 2 + strlen(sym_get_string_value(sym));
scripts/kconfig/nconf.c
880
sym_get_string_value(sym));
scripts/kconfig/nconf.c
885
(sym_has_value(sym) ||
scripts/kconfig/nconf.c
886
!sym_is_changeable(sym)) ? "" : " (NEW)");
scripts/kconfig/nconf.c
891
(sym_has_value(sym) || !sym_is_changeable(sym)) ?
scripts/kconfig/parser.y
156
if (current_entry->sym->type != S_BOOLEAN) {
scripts/kconfig/parser.y
167
if (list_empty(¤t_entry->sym->choice_link))
scripts/kconfig/parser.y
168
list_add_tail(¤t_entry->sym->choice_link,
scripts/kconfig/parser.y
211
current_entry->sym->flags |= SYMBOL_TRANS;
scripts/kconfig/parser.y
246
current_entry->sym->name, modules_sym->name);
scripts/kconfig/parser.y
247
modules_sym = current_entry->sym;
scripts/kconfig/parser.y
254
struct symbol *sym = sym_lookup(NULL, 0);
scripts/kconfig/parser.y
256
menu_add_entry(sym, M_CHOICE);
scripts/kconfig/parser.y
412
current_entry->sym->name ?: "<choice>");
scripts/kconfig/parser.y
418
current_entry->sym->name ?: "<choice>");
scripts/kconfig/parser.y
504
if (!menu->sym || !(menu->sym->flags & SYMBOL_TRANS))
scripts/kconfig/parser.y
517
for (prop = menu->sym->prop; prop; prop = prop->next) {
scripts/kconfig/parser.y
541
for (prop = menu->sym->prop; prop; prop = prop->next) {
scripts/kconfig/parser.y
602
if (menu->sym && sym_check_deps(menu->sym))
scripts/kconfig/parser.y
608
if (menu->sym && sym_is_choice(menu->sym)) {
scripts/kconfig/parser.y
610
if (child->sym && choice_check_sanity(child))
scripts/kconfig/parser.y
677
struct symbol *sym = menu->sym;
scripts/kconfig/parser.y
680
if (sym_is_choice(sym))
scripts/kconfig/parser.y
683
fprintf(out, "\nconfig %s\n", sym->name);
scripts/kconfig/parser.y
684
switch (sym->type) {
scripts/kconfig/parser.y
704
for (prop = sym->prop; prop; prop = prop->next) {
scripts/kconfig/parser.y
762
struct symbol *sym;
scripts/kconfig/parser.y
767
if ((sym = menu->sym))
scripts/kconfig/qconf.cc
1003
struct symbol* sym;
scripts/kconfig/qconf.cc
1007
sym = _menu->sym;
scripts/kconfig/qconf.cc
1008
if (sym) {
scripts/kconfig/qconf.cc
1013
if (sym->name) {
scripts/kconfig/qconf.cc
1016
stream << "<a href=\"" << sym->name << "\">";
scripts/kconfig/qconf.cc
1017
stream << print_filter(sym->name);
scripts/kconfig/qconf.cc
1022
} else if (sym->name) {
scripts/kconfig/qconf.cc
1025
stream << "<a href=\"" << sym->name << "\">";
scripts/kconfig/qconf.cc
1026
stream << print_filter(sym->name);
scripts/kconfig/qconf.cc
1034
stream << debug_info(sym);
scripts/kconfig/qconf.cc
1061
QString ConfigInfoView::debug_info(struct symbol *sym)
scripts/kconfig/qconf.cc
1067
stream << print_filter(sym_type_name(sym->type));
scripts/kconfig/qconf.cc
1068
if (sym_is_choice(sym))
scripts/kconfig/qconf.cc
1071
if (sym->rev_dep.expr) {
scripts/kconfig/qconf.cc
1073
expr_print(sym->rev_dep.expr, expr_print_help, &stream, E_NONE);
scripts/kconfig/qconf.cc
1076
for (struct property *prop = sym->prop; prop; prop = prop->next) {
scripts/kconfig/qconf.cc
110
sym = menu->sym;
scripts/kconfig/qconf.cc
1134
void ConfigInfoView::expr_print_help(void *data, struct symbol *sym, const char *str)
scripts/kconfig/qconf.cc
1138
if (sym && sym->name && !(sym->flags & SYMBOL_CONST)) {
scripts/kconfig/qconf.cc
1139
*stream << "<a href=\"" << sym->name << "\">";
scripts/kconfig/qconf.cc
1151
sym = sym_find(url.toEncoded().constData());
scripts/kconfig/qconf.cc
1153
m = sym_get_prompt_menu(sym);
scripts/kconfig/qconf.cc
119
if (sym && list->rootEntry == menu)
scripts/kconfig/qconf.cc
123
if (sym)
scripts/kconfig/qconf.cc
134
sym = sym_calc_choice(menu);
scripts/kconfig/qconf.cc
135
if (sym)
scripts/kconfig/qconf.cc
136
setText(dataColIdx, sym->name);
scripts/kconfig/qconf.cc
141
if (!sym)
scripts/kconfig/qconf.cc
144
setText(nameColIdx, sym->name);
scripts/kconfig/qconf.cc
146
type = sym_get_type(sym);
scripts/kconfig/qconf.cc
152
if (!sym_is_changeable(sym) && list->optMode == normalOpt) {
scripts/kconfig/qconf.cc
156
expr = sym_get_tristate_value(sym);
scripts/kconfig/qconf.cc
159
if (sym_is_choice_value(sym))
scripts/kconfig/qconf.cc
170
if (sym_is_choice_value(sym))
scripts/kconfig/qconf.cc
183
setText(dataColIdx, sym_get_string_value(sym));
scripts/kconfig/qconf.cc
186
if (!sym_has_value(sym))
scripts/kconfig/qconf.cc
202
sym_calc_value(menu->sym);
scripts/kconfig/qconf.cc
226
sym_calc_value(menu->sym);
scripts/kconfig/qconf.cc
228
if (menu->sym) {
scripts/kconfig/qconf.cc
229
enum symbol_type type = menu->sym->type;
scripts/kconfig/qconf.cc
282
struct symbol *sym;
scripts/kconfig/qconf.cc
295
sym = item->menu->sym;
scripts/kconfig/qconf.cc
296
if (!sym)
scripts/kconfig/qconf.cc
299
success = sym_set_string_value(sym, lineEdit->text().toUtf8().data());
scripts/kconfig/qconf.cc
306
lineEdit->setText(sym_get_string_value(sym));
scripts/kconfig/qconf.cc
457
rootEntry->sym && rootEntry->prompt) {
scripts/kconfig/qconf.cc
499
struct symbol* sym;
scripts/kconfig/qconf.cc
503
sym = item->menu ? item->menu->sym : 0;
scripts/kconfig/qconf.cc
504
if (!sym)
scripts/kconfig/qconf.cc
507
type = sym_get_type(sym);
scripts/kconfig/qconf.cc
511
oldval = sym_get_tristate_value(sym);
scripts/kconfig/qconf.cc
513
if (!sym_set_tristate_value(sym, val))
scripts/kconfig/qconf.cc
524
struct symbol* sym;
scripts/kconfig/qconf.cc
531
sym = menu->sym;
scripts/kconfig/qconf.cc
532
if (!sym) {
scripts/kconfig/qconf.cc
538
type = sym_get_type(sym);
scripts/kconfig/qconf.cc
542
oldexpr = sym_get_tristate_value(sym);
scripts/kconfig/qconf.cc
543
newexpr = sym_toggle_tristate_value(sym);
scripts/kconfig/qconf.cc
643
if (!child->sym && !child->list && !child->prompt)
scripts/kconfig/qconf.cc
706
if (!child->sym && !child->list && !child->prompt)
scripts/kconfig/qconf.cc
857
} else if (menu->sym)
scripts/kconfig/qconf.cc
926
: Parent(parent), sym(0), _menu(0)
scripts/kconfig/qconf.cc
967
else if (sym)
scripts/kconfig/qconf.cc
978
sym = NULL;
scripts/kconfig/qconf.cc
98
struct symbol* sym;
scripts/kconfig/qconf.cc
990
str += print_filter(sym->name);
scripts/kconfig/qconf.cc
992
str += print_filter(sym_get_string_value(sym));
scripts/kconfig/qconf.cc
994
str += sym->visible == yes ? "y" : sym->visible == mod ? "m" : "n";
scripts/kconfig/qconf.cc
996
str += debug_info(sym);
scripts/kconfig/qconf.h
205
QString debug_info(struct symbol *sym);
scripts/kconfig/qconf.h
207
static void expr_print_help(void *data, struct symbol *sym, const char *str);
scripts/kconfig/qconf.h
210
struct symbol *sym;
scripts/kconfig/symbol.c
1012
exact1 = (s1->eo - s1->so) == strlen(s1->sym->name);
scripts/kconfig/symbol.c
1013
exact2 = (s2->eo - s2->so) == strlen(s2->sym->name);
scripts/kconfig/symbol.c
1020
return strcmp(s1->sym->name, s2->sym->name);
scripts/kconfig/symbol.c
1025
struct symbol *sym, **sym_arr = NULL;
scripts/kconfig/symbol.c
1038
for_all_symbols(sym) {
scripts/kconfig/symbol.c
1039
if (sym->flags & SYMBOL_CONST || !sym->name)
scripts/kconfig/symbol.c
1041
if (regexec(&re, sym->name, 1, match, 0))
scripts/kconfig/symbol.c
1051
sym_calc_value(sym);
scripts/kconfig/symbol.c
1057
sym_match_arr[cnt++].sym = sym;
scripts/kconfig/symbol.c
106
menu = sym_get_prompt_menu(sym);
scripts/kconfig/symbol.c
1065
sym_arr[i] = sym_match_arr[i].sym;
scripts/kconfig/symbol.c
1084
struct symbol *sym;
scripts/kconfig/symbol.c
1089
static void dep_stack_insert(struct dep_stack *stack, struct symbol *sym)
scripts/kconfig/symbol.c
1095
stack->sym = sym;
scripts/kconfig/symbol.c
1114
struct symbol *sym, *next_sym;
scripts/kconfig/symbol.c
112
} while (menu && !menu->sym);
scripts/kconfig/symbol.c
1122
last_sym = choice->sym;
scripts/kconfig/symbol.c
1126
if (stack->sym == last_sym)
scripts/kconfig/symbol.c
1134
sym = stack->sym;
scripts/kconfig/symbol.c
1135
next_sym = stack->next ? stack->next->sym : last_sym;
scripts/kconfig/symbol.c
1138
if (stack->sym == last_sym)
scripts/kconfig/symbol.c
114
if (menu && menu->sym && sym_is_choice(menu->sym))
scripts/kconfig/symbol.c
1145
sym->name ? sym->name : "<choice>",
scripts/kconfig/symbol.c
1147
} else if (stack->expr == &sym->dir_dep.expr) {
scripts/kconfig/symbol.c
1149
sym->name ? sym->name : "<choice>",
scripts/kconfig/symbol.c
1151
} else if (stack->expr == &sym->rev_dep.expr) {
scripts/kconfig/symbol.c
1153
sym->name, next_sym->name);
scripts/kconfig/symbol.c
1154
} else if (stack->expr == &sym->implied.expr) {
scripts/kconfig/symbol.c
1156
sym->name, next_sym->name);
scripts/kconfig/symbol.c
1159
sym->name ? sym->name : "<choice>",
scripts/kconfig/symbol.c
1164
sym->name ? sym->name : "<choice>",
scripts/kconfig/symbol.c
1181
struct symbol *sym;
scripts/kconfig/symbol.c
1188
sym = sym_check_expr_deps(e->left.expr);
scripts/kconfig/symbol.c
1189
if (sym)
scripts/kconfig/symbol.c
1190
return sym;
scripts/kconfig/symbol.c
120
static struct property *sym_get_default_prop(struct symbol *sym)
scripts/kconfig/symbol.c
1200
sym = sym_check_deps(e->left.sym);
scripts/kconfig/symbol.c
1201
if (sym)
scripts/kconfig/symbol.c
1202
return sym;
scripts/kconfig/symbol.c
1203
return sym_check_deps(e->right.sym);
scripts/kconfig/symbol.c
1205
return sym_check_deps(e->left.sym);
scripts/kconfig/symbol.c
1214
static struct symbol *sym_check_sym_deps(struct symbol *sym)
scripts/kconfig/symbol.c
1220
dep_stack_insert(&stack, sym);
scripts/kconfig/symbol.c
1222
stack.expr = &sym->dir_dep.expr;
scripts/kconfig/symbol.c
1223
sym2 = sym_check_expr_deps(sym->dir_dep.expr);
scripts/kconfig/symbol.c
1227
stack.expr = &sym->rev_dep.expr;
scripts/kconfig/symbol.c
1228
sym2 = sym_check_expr_deps(sym->rev_dep.expr);
scripts/kconfig/symbol.c
1232
stack.expr = &sym->implied.expr;
scripts/kconfig/symbol.c
1233
sym2 = sym_check_expr_deps(sym->implied.expr);
scripts/kconfig/symbol.c
1239
for (prop = sym->prop; prop; prop = prop->next) {
scripts/kconfig/symbol.c
124
for_all_defaults(sym, prop) {
scripts/kconfig/symbol.c
1246
if (prop->type != P_DEFAULT || sym_is_choice(sym))
scripts/kconfig/symbol.c
1272
if (menu->sym)
scripts/kconfig/symbol.c
1273
menu->sym->flags |= SYMBOL_CHECK | SYMBOL_CHECKED;
scripts/kconfig/symbol.c
1283
if (!menu->sym)
scripts/kconfig/symbol.c
1285
sym2 = sym_check_sym_deps(menu->sym);
scripts/kconfig/symbol.c
1291
if (menu->sym)
scripts/kconfig/symbol.c
1292
menu->sym->flags &= ~SYMBOL_CHECK;
scripts/kconfig/symbol.c
1307
struct symbol *sym_check_deps(struct symbol *sym)
scripts/kconfig/symbol.c
1312
if (sym->flags & SYMBOL_CHECK) {
scripts/kconfig/symbol.c
1313
sym_check_print_recursive(sym);
scripts/kconfig/symbol.c
1314
return sym;
scripts/kconfig/symbol.c
1316
if (sym->flags & SYMBOL_CHECKED)
scripts/kconfig/symbol.c
1319
choice = sym_get_choice_menu(sym);
scripts/kconfig/symbol.c
132
struct property *sym_get_range_prop(struct symbol *sym)
scripts/kconfig/symbol.c
1324
dep_stack_insert(&stack, sym);
scripts/kconfig/symbol.c
1325
sym2 = sym_check_deps(choice->sym);
scripts/kconfig/symbol.c
1327
} else if (sym_is_choice(sym)) {
scripts/kconfig/symbol.c
1328
sym2 = sym_check_choice_deps(sym);
scripts/kconfig/symbol.c
1330
sym->flags |= (SYMBOL_CHECK | SYMBOL_CHECKED);
scripts/kconfig/symbol.c
1331
sym2 = sym_check_sym_deps(sym);
scripts/kconfig/symbol.c
1332
sym->flags &= ~SYMBOL_CHECK;
scripts/kconfig/symbol.c
1341
return prop->expr->left.sym;
scripts/kconfig/symbol.c
136
for_all_properties(sym, prop, P_RANGE) {
scripts/kconfig/symbol.c
144
static long long sym_get_range_val(struct symbol *sym, int base)
scripts/kconfig/symbol.c
146
sym_calc_value(sym);
scripts/kconfig/symbol.c
147
switch (sym->type) {
scripts/kconfig/symbol.c
157
return strtoll(sym->curr.val, NULL, base);
scripts/kconfig/symbol.c
160
static void sym_validate_range(struct symbol *sym)
scripts/kconfig/symbol.c
167
switch (sym->type) {
scripts/kconfig/symbol.c
177
prop = sym_get_range_prop(sym);
scripts/kconfig/symbol.c
180
val = strtoll(sym->curr.val, NULL, base);
scripts/kconfig/symbol.c
181
range_sym = prop->expr->left.sym;
scripts/kconfig/symbol.c
184
range_sym = prop->expr->right.sym;
scripts/kconfig/symbol.c
189
sym->curr.val = range_sym->curr.val;
scripts/kconfig/symbol.c
192
static void sym_set_changed(struct symbol *sym)
scripts/kconfig/symbol.c
196
list_for_each_entry(menu, &sym->menus, link)
scripts/kconfig/symbol.c
199
menu = sym_get_choice_menu(sym);
scripts/kconfig/symbol.c
206
struct symbol *sym;
scripts/kconfig/symbol.c
208
for_all_symbols(sym)
scripts/kconfig/symbol.c
209
sym_set_changed(sym);
scripts/kconfig/symbol.c
212
static void sym_calc_visibility(struct symbol *sym)
scripts/kconfig/symbol.c
217
if (sym->flags & SYMBOL_TRANS) {
scripts/kconfig/symbol.c
218
sym->visible = yes;
scripts/kconfig/symbol.c
224
for_all_prompts(sym, prop) {
scripts/kconfig/symbol.c
228
if (tri == mod && (sym->type != S_TRISTATE || modules_val == no))
scripts/kconfig/symbol.c
230
if (sym->visible != tri) {
scripts/kconfig/symbol.c
231
sym->visible = tri;
scripts/kconfig/symbol.c
232
sym_set_changed(sym);
scripts/kconfig/symbol.c
234
if (sym_is_choice_value(sym))
scripts/kconfig/symbol.c
238
if (sym->dir_dep.expr)
scripts/kconfig/symbol.c
239
tri = expr_calc_value(sym->dir_dep.expr);
scripts/kconfig/symbol.c
240
if (tri == mod && sym_get_type(sym) == S_BOOLEAN)
scripts/kconfig/symbol.c
242
if (sym->dir_dep.tri != tri) {
scripts/kconfig/symbol.c
243
sym->dir_dep.tri = tri;
scripts/kconfig/symbol.c
244
sym_set_changed(sym);
scripts/kconfig/symbol.c
247
if (sym->rev_dep.expr)
scripts/kconfig/symbol.c
248
tri = expr_calc_value(sym->rev_dep.expr);
scripts/kconfig/symbol.c
249
if (tri == mod && sym_get_type(sym) == S_BOOLEAN)
scripts/kconfig/symbol.c
251
if (sym->rev_dep.tri != tri) {
scripts/kconfig/symbol.c
252
sym->rev_dep.tri = tri;
scripts/kconfig/symbol.c
253
sym_set_changed(sym);
scripts/kconfig/symbol.c
256
if (sym->implied.expr)
scripts/kconfig/symbol.c
257
tri = expr_calc_value(sym->implied.expr);
scripts/kconfig/symbol.c
258
if (tri == mod && sym_get_type(sym) == S_BOOLEAN)
scripts/kconfig/symbol.c
260
if (sym->implied.tri != tri) {
scripts/kconfig/symbol.c
261
sym->implied.tri = tri;
scripts/kconfig/symbol.c
262
sym_set_changed(sym);
scripts/kconfig/symbol.c
279
for_all_defaults(choice->sym, prop) {
scripts/kconfig/symbol.c
290
if (menu->sym && menu->sym->visible != no)
scripts/kconfig/symbol.c
291
return menu->sym;
scripts/kconfig/symbol.c
307
struct symbol *sym;
scripts/kconfig/symbol.c
311
list_for_each_entry(sym, &choice->choice_members, choice_link) {
scripts/kconfig/symbol.c
312
sym_calc_visibility(sym);
scripts/kconfig/symbol.c
313
if (sym->visible == no)
scripts/kconfig/symbol.c
317
if (sym_has_value(sym) && sym->def[S_DEF_USER].tri == yes) {
scripts/kconfig/symbol.c
318
res = sym;
scripts/kconfig/symbol.c
336
sym = menu->sym;
scripts/kconfig/symbol.c
338
if (!sym || sym->visible == no || sym_has_value(sym))
scripts/kconfig/symbol.c
341
res = sym;
scripts/kconfig/symbol.c
351
list_for_each_entry_reverse(sym, &choice->choice_members,
scripts/kconfig/symbol.c
353
if (sym->visible == no)
scripts/kconfig/symbol.c
356
res = sym;
scripts/kconfig/symbol.c
364
sym = menu->sym;
scripts/kconfig/symbol.c
366
if (!sym || sym->visible == no)
scripts/kconfig/symbol.c
369
val = sym == res ? yes : no;
scripts/kconfig/symbol.c
371
if (sym->curr.tri != val)
scripts/kconfig/symbol.c
372
sym_set_changed(sym);
scripts/kconfig/symbol.c
374
sym->curr.tri = val;
scripts/kconfig/symbol.c
375
sym->flags |= SYMBOL_VALID | SYMBOL_WRITE;
scripts/kconfig/symbol.c
381
static void sym_warn_unmet_dep(const struct symbol *sym)
scripts/kconfig/symbol.c
387
sym->name);
scripts/kconfig/symbol.c
390
sym->dir_dep.tri == mod ? 'm' : 'n');
scripts/kconfig/symbol.c
391
expr_gstr_print(sym->dir_dep.expr, &gs);
scripts/kconfig/symbol.c
394
expr_gstr_print_revdep(sym->rev_dep.expr, &gs, yes,
scripts/kconfig/symbol.c
396
expr_gstr_print_revdep(sym->rev_dep.expr, &gs, mod,
scripts/kconfig/symbol.c
411
void sym_calc_value(struct symbol *sym)
scripts/kconfig/symbol.c
417
if (!sym)
scripts/kconfig/symbol.c
420
if (sym->flags & SYMBOL_VALID)
scripts/kconfig/symbol.c
423
sym->flags |= SYMBOL_VALID;
scripts/kconfig/symbol.c
425
oldval = sym->curr;
scripts/kconfig/symbol.c
429
switch (sym->type) {
scripts/kconfig/symbol.c
444
sym->curr.val = sym->name;
scripts/kconfig/symbol.c
445
sym->curr.tri = no;
scripts/kconfig/symbol.c
448
sym->flags &= ~SYMBOL_WRITE;
scripts/kconfig/symbol.c
45
enum symbol_type sym_get_type(const struct symbol *sym)
scripts/kconfig/symbol.c
450
sym_calc_visibility(sym);
scripts/kconfig/symbol.c
452
if (sym->visible != no)
scripts/kconfig/symbol.c
453
sym->flags |= SYMBOL_WRITE;
scripts/kconfig/symbol.c
456
sym->curr = newval;
scripts/kconfig/symbol.c
458
switch (sym_get_type(sym)) {
scripts/kconfig/symbol.c
461
choice_menu = sym_get_choice_menu(sym);
scripts/kconfig/symbol.c
465
newval.tri = sym->curr.tri;
scripts/kconfig/symbol.c
467
if (sym->visible != no) {
scripts/kconfig/symbol.c
47
enum symbol_type type = sym->type;
scripts/kconfig/symbol.c
471
if (sym_has_value(sym)) {
scripts/kconfig/symbol.c
472
newval.tri = EXPR_AND(sym->def[S_DEF_USER].tri,
scripts/kconfig/symbol.c
473
sym->visible);
scripts/kconfig/symbol.c
477
if (sym->rev_dep.tri != no)
scripts/kconfig/symbol.c
478
sym->flags |= SYMBOL_WRITE;
scripts/kconfig/symbol.c
479
if (!sym_is_choice(sym)) {
scripts/kconfig/symbol.c
480
prop = sym_get_default_prop(sym);
scripts/kconfig/symbol.c
485
sym->flags |= SYMBOL_WRITE;
scripts/kconfig/symbol.c
487
if (sym->implied.tri != no) {
scripts/kconfig/symbol.c
488
sym->flags |= SYMBOL_WRITE;
scripts/kconfig/symbol.c
489
newval.tri = EXPR_OR(newval.tri, sym->implied.tri);
scripts/kconfig/symbol.c
491
sym->dir_dep.tri);
scripts/kconfig/symbol.c
495
if (sym->dir_dep.tri < sym->rev_dep.tri)
scripts/kconfig/symbol.c
496
sym_warn_unmet_dep(sym);
scripts/kconfig/symbol.c
497
newval.tri = EXPR_OR(newval.tri, sym->rev_dep.tri);
scripts/kconfig/symbol.c
499
if (newval.tri == mod && sym_get_type(sym) == S_BOOLEAN)
scripts/kconfig/symbol.c
505
if (sym->visible != no && sym_has_value(sym)) {
scripts/kconfig/symbol.c
506
newval.val = sym->def[S_DEF_USER].val;
scripts/kconfig/symbol.c
509
prop = sym_get_default_prop(sym);
scripts/kconfig/symbol.c
513
sym->flags |= SYMBOL_WRITE;
scripts/kconfig/symbol.c
528
if (prop && !sym_has_value(sym)) {
scripts/kconfig/symbol.c
531
sym->def[S_DEF_USER] = newval;
scripts/kconfig/symbol.c
532
sym->flags |= SYMBOL_DEF_USER;
scripts/kconfig/symbol.c
536
sym->curr = newval;
scripts/kconfig/symbol.c
537
sym_validate_range(sym);
scripts/kconfig/symbol.c
539
if (memcmp(&oldval, &sym->curr, sizeof(oldval))) {
scripts/kconfig/symbol.c
540
sym_set_changed(sym);
scripts/kconfig/symbol.c
541
if (modules_sym == sym) {
scripts/kconfig/symbol.c
547
if (sym_is_choice(sym) || sym->flags & SYMBOL_TRANS)
scripts/kconfig/symbol.c
548
sym->flags &= ~SYMBOL_WRITE;
scripts/kconfig/symbol.c
553
struct symbol *sym;
scripts/kconfig/symbol.c
555
for_all_symbols(sym)
scripts/kconfig/symbol.c
556
sym->flags &= ~SYMBOL_VALID;
scripts/kconfig/symbol.c
562
bool sym_tristate_within_range(const struct symbol *sym, tristate val)
scripts/kconfig/symbol.c
564
int type = sym_get_type(sym);
scripts/kconfig/symbol.c
566
if (sym->visible == no)
scripts/kconfig/symbol.c
574
if (sym->visible <= sym->rev_dep.tri)
scripts/kconfig/symbol.c
576
return val >= sym->rev_dep.tri && val <= sym->visible;
scripts/kconfig/symbol.c
579
bool sym_set_tristate_value(struct symbol *sym, tristate val)
scripts/kconfig/symbol.c
581
tristate oldval = sym_get_tristate_value(sym);
scripts/kconfig/symbol.c
583
if (!sym_tristate_within_range(sym, val))
scripts/kconfig/symbol.c
586
if (!(sym->flags & SYMBOL_DEF_USER) || sym->def[S_DEF_USER].tri != val) {
scripts/kconfig/symbol.c
587
sym->def[S_DEF_USER].tri = val;
scripts/kconfig/symbol.c
588
sym->flags |= SYMBOL_DEF_USER;
scripts/kconfig/symbol.c
589
sym_set_changed(sym);
scripts/kconfig/symbol.c
604
void choice_set_value(struct menu *choice, struct symbol *sym)
scripts/kconfig/symbol.c
612
if (!menu->sym)
scripts/kconfig/symbol.c
615
if (menu->sym->visible == no)
scripts/kconfig/symbol.c
618
val = menu->sym == sym ? yes : no;
scripts/kconfig/symbol.c
620
if (menu->sym->curr.tri != val)
scripts/kconfig/symbol.c
623
menu->sym->def[S_DEF_USER].tri = val;
scripts/kconfig/symbol.c
624
menu->sym->flags |= SYMBOL_DEF_USER;
scripts/kconfig/symbol.c
634
list_move(&menu->sym->choice_link, &choice->choice_members);
scripts/kconfig/symbol.c
641
tristate sym_toggle_tristate_value(struct symbol *sym)
scripts/kconfig/symbol.c
646
choice = sym_get_choice_menu(sym);
scripts/kconfig/symbol.c
648
choice_set_value(choice, sym);
scripts/kconfig/symbol.c
652
oldval = newval = sym_get_tristate_value(sym);
scripts/kconfig/symbol.c
665
if (sym_set_tristate_value(sym, newval))
scripts/kconfig/symbol.c
671
bool sym_string_valid(struct symbol *sym, const char *str)
scripts/kconfig/symbol.c
675
switch (sym->type) {
scripts/kconfig/symbol.c
714
bool sym_string_within_range(struct symbol *sym, const char *str)
scripts/kconfig/symbol.c
719
switch (sym->type) {
scripts/kconfig/symbol.c
721
return sym_string_valid(sym, str);
scripts/kconfig/symbol.c
723
if (!sym_string_valid(sym, str))
scripts/kconfig/symbol.c
725
prop = sym_get_range_prop(sym);
scripts/kconfig/symbol.c
729
return val >= sym_get_range_val(prop->expr->left.sym, 10) &&
scripts/kconfig/symbol.c
730
val <= sym_get_range_val(prop->expr->right.sym, 10);
scripts/kconfig/symbol.c
732
if (!sym_string_valid(sym, str))
scripts/kconfig/symbol.c
734
prop = sym_get_range_prop(sym);
scripts/kconfig/symbol.c
738
return val >= sym_get_range_val(prop->expr->left.sym, 16) &&
scripts/kconfig/symbol.c
739
val <= sym_get_range_val(prop->expr->right.sym, 16);
scripts/kconfig/symbol.c
744
return sym_tristate_within_range(sym, yes);
scripts/kconfig/symbol.c
746
return sym_tristate_within_range(sym, mod);
scripts/kconfig/symbol.c
748
return sym_tristate_within_range(sym, no);
scripts/kconfig/symbol.c
756
bool sym_set_string_value(struct symbol *sym, const char *newval)
scripts/kconfig/symbol.c
762
switch (sym->type) {
scripts/kconfig/symbol.c
767
return sym_set_tristate_value(sym, yes);
scripts/kconfig/symbol.c
769
return sym_set_tristate_value(sym, mod);
scripts/kconfig/symbol.c
771
return sym_set_tristate_value(sym, no);
scripts/kconfig/symbol.c
778
if (!sym_string_within_range(sym, newval))
scripts/kconfig/symbol.c
781
if (!(sym->flags & SYMBOL_DEF_USER)) {
scripts/kconfig/symbol.c
782
sym->flags |= SYMBOL_DEF_USER;
scripts/kconfig/symbol.c
783
sym_set_changed(sym);
scripts/kconfig/symbol.c
786
oldval = sym->def[S_DEF_USER].val;
scripts/kconfig/symbol.c
788
if (sym->type == S_HEX && (newval[0] != '0' || (newval[1] != 'x' && newval[1] != 'X'))) {
scripts/kconfig/symbol.c
790
sym->def[S_DEF_USER].val = val = xmalloc(size);
scripts/kconfig/symbol.c
794
sym->def[S_DEF_USER].val = val = xmalloc(size);
scripts/kconfig/symbol.c
80
struct menu *sym_get_prompt_menu(const struct symbol *sym)
scripts/kconfig/symbol.c
812
const char *sym_get_string_default(struct symbol *sym)
scripts/kconfig/symbol.c
819
sym_calc_visibility(sym);
scripts/kconfig/symbol.c
824
prop = sym_get_default_prop(sym);
scripts/kconfig/symbol.c
826
switch (sym->type) {
scripts/kconfig/symbol.c
84
list_for_each_entry(m, &sym->menus, link)
scripts/kconfig/symbol.c
847
val = EXPR_OR(val, sym->rev_dep.tri);
scripts/kconfig/symbol.c
851
if (!sym_is_choice_value(sym) && modules_sym->curr.tri == no)
scripts/kconfig/symbol.c
855
if (sym->type == S_BOOLEAN && val == mod)
scripts/kconfig/symbol.c
859
if (val < sym->implied.tri)
scripts/kconfig/symbol.c
860
val = sym->implied.tri;
scripts/kconfig/symbol.c
862
switch (sym->type) {
scripts/kconfig/symbol.c
884
const char *sym_get_string_value(struct symbol *sym)
scripts/kconfig/symbol.c
888
switch (sym->type) {
scripts/kconfig/symbol.c
891
val = sym_get_tristate_value(sym);
scripts/kconfig/symbol.c
904
return sym->curr.val;
scripts/kconfig/symbol.c
907
bool sym_is_changeable(const struct symbol *sym)
scripts/kconfig/symbol.c
909
return !sym_is_choice(sym) && sym->visible > sym->rev_dep.tri;
scripts/kconfig/symbol.c
912
bool sym_is_choice_value(const struct symbol *sym)
scripts/kconfig/symbol.c
914
return !list_empty(&sym->choice_link);
scripts/kconfig/symbol.c
98
struct menu *sym_get_choice_menu(const struct symbol *sym)
scripts/kconfig/symbol.c
989
struct symbol *sym;
scripts/mod/file2alias.c
1485
Elf_Sym *sym, const char *symname)
scripts/mod/file2alias.c
1494
if (!sym->st_shndx || get_secindex(info, sym) >= info->num_sections)
scripts/mod/file2alias.c
1498
if (ELF_ST_TYPE(sym->st_info) != STT_OBJECT)
scripts/mod/file2alias.c
1523
if (info->sechdrs[get_secindex(info, sym)].sh_type & SHT_NOBITS) {
scripts/mod/file2alias.c
1524
zeros = calloc(1, sym->st_size);
scripts/mod/file2alias.c
1527
symval = sym_get_data(info, sym);
scripts/mod/file2alias.c
1534
do_table(name, symval, sym->st_size, p->id_size,
scripts/mod/modpost.c
1004
new_sym = symsearch_find_nearest(elf, addr, get_secindex(elf, sym),
scripts/mod/modpost.c
1006
return new_sym ? new_sym : sym;
scripts/mod/modpost.c
1077
Elf_Sym *sym)
scripts/mod/modpost.c
1094
if (ELF_ST_BIND(sym->st_info) != STB_GLOBAL &&
scripts/mod/modpost.c
1095
ELF_ST_BIND(sym->st_info) != STB_WEAK) {
scripts/mod/modpost.c
1101
name = sym_name(elf, sym);
scripts/mod/modpost.c
1126
s->is_func = (ELF_ST_TYPE(sym->st_info) == STT_FUNC);
scripts/mod/modpost.c
1134
ELF_ST_TYPE(sym->st_info) == STT_LOPROC)
scripts/mod/modpost.c
1146
Elf_Sym *sym,
scripts/mod/modpost.c
1150
const char *tosec = sec_name(elf, get_secindex(elf, sym));
scripts/mod/modpost.c
1154
check_export_symbol(mod, elf, faddr, tosec, sym);
scripts/mod/modpost.c
1162
default_mismatch_handler(mod->name, elf, mismatch, sym,
scripts/mod/modpost.c
1186
static Elf_Addr addend_arm_rel(void *loc, Elf_Sym *sym, unsigned int r_type)
scripts/mod/modpost.c
1195
return inst + sym->st_value;
scripts/mod/modpost.c
1201
return offset + sym->st_value;
scripts/mod/modpost.c
1207
return offset + sym->st_value + 8;
scripts/mod/modpost.c
1217
return offset + sym->st_value;
scripts/mod/modpost.c
1238
return offset + sym->st_value + 4;
scripts/mod/modpost.c
1264
return offset + sym->st_value + 4;
scripts/mod/modpost.c
1504
struct symbol *sym;
scripts/mod/modpost.c
1530
sym = sym_find_with_module(name, mod);
scripts/mod/modpost.c
1531
if (sym)
scripts/mod/modpost.c
1532
sym_set_crc(sym, crc);
scripts/mod/modpost.c
1576
Elf_Sym *sym;
scripts/mod/modpost.c
1623
for (sym = info.symtab_start; sym < info.symtab_stop; sym++) {
scripts/mod/modpost.c
1624
symname = remove_dot(info.strtab + sym->st_name);
scripts/mod/modpost.c
1626
handle_symbol(mod, &info, sym, symname);
scripts/mod/modpost.c
1627
handle_moddevtable(mod, &info, sym, symname);
scripts/mod/modpost.c
1790
struct symbol *sym = find_symbol(name);
scripts/mod/modpost.c
1792
if (sym)
scripts/mod/modpost.c
1793
sym->used = true;
scripts/mod/modpost.c
1809
struct symbol *sym;
scripts/mod/modpost.c
1815
sym = find_symbol(s);
scripts/mod/modpost.c
1816
if (sym)
scripts/mod/modpost.c
1817
sym->used = true;
scripts/mod/modpost.c
1866
struct symbol *sym;
scripts/mod/modpost.c
1870
list_for_each_entry(sym, &mod->exported_symbols, list) {
scripts/mod/modpost.c
1871
if (trim_unused_exports && !sym->used)
scripts/mod/modpost.c
1875
sym->is_func ? "FUNC" : "DATA", sym->name,
scripts/mod/modpost.c
1876
sym->is_gpl_only ? "_gpl" : "", sym->namespace);
scripts/mod/modpost.c
1884
list_for_each_entry(sym, &mod->exported_symbols, list) {
scripts/mod/modpost.c
1885
if (trim_unused_exports && !sym->used)
scripts/mod/modpost.c
1888
if (!sym->crc_valid)
scripts/mod/modpost.c
1891
sym->name, mod->name, mod->is_vmlinux ? "" : ".ko",
scripts/mod/modpost.c
1892
sym->name);
scripts/mod/modpost.c
1895
sym->name, sym->crc, sym->is_gpl_only ? "_gpl" : "");
scripts/mod/modpost.c
2204
struct symbol *sym;
scripts/mod/modpost.c
2209
list_for_each_entry(sym, &mod->exported_symbols, list) {
scripts/mod/modpost.c
2210
if (trim_unused_exports && !sym->used)
scripts/mod/modpost.c
2214
sym->crc, sym->name, mod->name,
scripts/mod/modpost.c
2215
sym->is_gpl_only ? "_GPL" : "",
scripts/mod/modpost.c
2216
sym->namespace);
scripts/mod/modpost.c
248
static void hash_add_symbol(struct symbol *sym)
scripts/mod/modpost.c
250
hash_add(symbol_hashtable, &sym->hnode, hash_str(sym->name));
scripts/mod/modpost.c
255
struct symbol *sym;
scripts/mod/modpost.c
257
sym = alloc_symbol(name);
scripts/mod/modpost.c
258
sym->weak = weak;
scripts/mod/modpost.c
260
list_add_tail(&sym->list, &mod->unresolved_symbols);
scripts/mod/modpost.c
326
void *sym_get_data(const struct elf_info *info, const Elf_Sym *sym)
scripts/mod/modpost.c
328
return sym_get_data_by_offset(info, get_secindex(info, sym),
scripts/mod/modpost.c
329
sym->st_value);
scripts/mod/modpost.c
372
static void sym_set_crc(struct symbol *sym, unsigned int crc)
scripts/mod/modpost.c
374
sym->crc = crc;
scripts/mod/modpost.c
375
sym->crc_valid = true;
scripts/mod/modpost.c
410
Elf_Sym *sym;
scripts/mod/modpost.c
554
for (sym = info->symtab_start; sym < info->symtab_stop; sym++) {
scripts/mod/modpost.c
555
sym->st_shndx = TO_NATIVE(sym->st_shndx);
scripts/mod/modpost.c
556
sym->st_name = TO_NATIVE(sym->st_name);
scripts/mod/modpost.c
557
sym->st_value = TO_NATIVE(sym->st_value);
scripts/mod/modpost.c
558
sym->st_size = TO_NATIVE(sym->st_size);
scripts/mod/modpost.c
623
const Elf_Sym *sym, const char *symname)
scripts/mod/modpost.c
625
switch (sym->st_shndx) {
scripts/mod/modpost.c
634
if (ELF_ST_BIND(sym->st_info) != STB_GLOBAL &&
scripts/mod/modpost.c
635
ELF_ST_BIND(sym->st_info) != STB_WEAK)
scripts/mod/modpost.c
642
if (ELF_ST_TYPE(sym->st_info) == STT_SPARC_REGISTER)
scripts/mod/modpost.c
653
ELF_ST_BIND(sym->st_info) == STB_WEAK);
scripts/mod/modpost.c
711
static const char *sym_name(struct elf_info *elf, Elf_Sym *sym)
scripts/mod/modpost.c
713
return sym ? elf->strtab + sym->st_name : "";
scripts/mod/modpost.c
992
static Elf_Sym *find_tosym(struct elf_info *elf, Elf_Addr addr, Elf_Sym *sym)
scripts/mod/modpost.c
997
if (is_valid_name(elf, sym))
scripts/mod/modpost.c
998
return sym;
scripts/mod/modpost.h
167
const Elf_Sym *sym)
scripts/mod/modpost.h
169
unsigned int index = sym->st_shndx;
scripts/mod/modpost.h
176
return info->symtab_shndx_start[sym - info->symtab_start];
scripts/mod/modpost.h
195
static inline bool is_valid_name(struct elf_info *elf, Elf_Sym *sym)
scripts/mod/modpost.h
197
const char *name = elf->strtab + sym->st_name;
scripts/mod/modpost.h
213
Elf_Sym *sym, const char *symname);
scripts/mod/modpost.h
224
void *sym_get_data(const struct elf_info *info, const Elf_Sym *sym);
scripts/mod/symsearch.c
54
for (Elf_Sym *sym = elf->symtab_start; sym < elf->symtab_stop; sym++) {
scripts/mod/symsearch.c
55
if (is_valid_name(elf, sym))
scripts/mod/symsearch.c
74
for (Elf_Sym *sym = elf->symtab_start; sym < elf->symtab_stop; sym++) {
scripts/mod/symsearch.c
75
if (is_valid_name(elf, sym)) {
scripts/mod/symsearch.c
78
table->symbol_index = sym - elf->symtab_start;
scripts/mod/symsearch.c
79
table->section_index = get_secindex(elf, sym);
scripts/mod/symsearch.c
80
table->addr = sym->st_value;
scripts/mod/symsearch.c
87
if (is_arm && ELF_ST_TYPE(sym->st_info) == STT_FUNC)
scripts/recordmcount.c
504
static void MIPS64_r_info(Elf64_Rel *const rp, unsigned sym, unsigned type)
scripts/recordmcount.c
507
.r_mips = { .r_sym = w(sym), .r_type = type }
scripts/recordmcount.h
149
static void fn_ELF_R_INFO(Elf_Rel *const rp, unsigned sym, unsigned type)
scripts/recordmcount.h
151
rp->r_info = _w(ELF_R_INFO(sym, type));
scripts/recordmcount.h
153
static void (*Elf_r_info)(Elf_Rel *const rp, unsigned sym, unsigned type) = fn_ELF_R_INFO;
scripts/recordmcount.h
191
static unsigned int get_symindex(Elf_Sym const *sym, Elf32_Word const *symtab,
scripts/recordmcount.h
195
unsigned short shndx = w2(sym->st_shndx);
scripts/recordmcount.h
202
offset = (unsigned long)sym - (unsigned long)symtab;
scripts/recordmcount.h
203
index = offset / sizeof(*sym);
scripts/sorttable.c
556
Elf_Sym *sym, *end_sym;
scripts/sorttable.c
560
sym = (void *)emloc->ehdr + shdr_offset(symtab_sec);
scripts/sorttable.c
561
end_sym = (void *)sym + shdr_size(symtab_sec);
scripts/sorttable.c
563
while (sym < end_sym) {
scripts/sorttable.c
564
if (!strcmp(strtab + sym_name(sym), "__start_mcount_loc")) {
scripts/sorttable.c
565
emloc->start_mcount_loc = sym_value(sym);
scripts/sorttable.c
568
} else if (!strcmp(strtab + sym_name(sym), "__stop_mcount_loc")) {
scripts/sorttable.c
569
emloc->stop_mcount_loc = sym_value(sym);
scripts/sorttable.c
573
sym = (void *)sym + symentsize;
scripts/sorttable.c
600
Elf_Sym *sym;
scripts/sorttable.c
754
for (sym = sym_start; (void *)sym + symentsize < sym_end;
scripts/sorttable.c
755
sym = (void *)sym + symentsize) {
scripts/sorttable.c
756
if (sym_type(sym) != STT_OBJECT)
scripts/sorttable.c
758
if (!strcmp(strtab + sym_name(sym),
scripts/sorttable.c
760
sort_needed_sym = sym;
scripts/sorttable.c
772
sort_need_index = get_secindex(sym_shndx(sym),
scripts/unifdef.c
1154
addsym(bool ignorethis, bool definethis, char *sym)
scripts/unifdef.c
1159
symind = findsym(sym);
scripts/unifdef.c
1165
symname[symind] = sym;
scripts/unifdef.c
1167
val = sym + (skipsym(sym) - sym);
scripts/unifdef.c
829
int sym;
scripts/unifdef.c
869
sym = findsym(cp);
scripts/unifdef.c
870
if (sym < 0) {
scripts/unifdef.c
873
*valp = (value[sym] != NULL);
scripts/unifdef.c
883
sym = findsym(cp);
scripts/unifdef.c
885
if (sym < 0) {
scripts/unifdef.c
888
} else if (value[sym] == NULL) {
scripts/unifdef.c
892
*valp = strtol(value[sym], &ep, 0);
scripts/unifdef.c
893
if (*ep != '\0' || ep == value[sym])
tools/bpf/bpftool/prog.c
777
struct kernel_sym *sym = NULL;
tools/bpf/bpftool/prog.c
795
sym = kernel_syms_search(&dd, ksyms[i]);
tools/bpf/bpftool/prog.c
796
if (sym)
tools/bpf/bpftool/prog.c
797
sprintf(sym_name, "%s", sym->name);
tools/bpf/bpftool/xlated_dumper.c
146
struct kernel_sym *sym,
tools/bpf/bpftool/xlated_dumper.c
154
else if (sym)
tools/bpf/bpftool/xlated_dumper.c
156
"%+d#%s", insn->off, sym->name);
tools/bpf/bpftool/xlated_dumper.c
164
struct kernel_sym *sym,
tools/bpf/bpftool/xlated_dumper.c
167
if (sym)
tools/bpf/bpftool/xlated_dumper.c
169
"%s", sym->name);
tools/bpf/bpftool/xlated_dumper.c
181
struct kernel_sym *sym;
tools/bpf/bpftool/xlated_dumper.c
187
sym = kernel_syms_search(dd, address);
tools/bpf/bpftool/xlated_dumper.c
189
return print_call_pcrel(dd, sym, address, insn);
tools/bpf/bpftool/xlated_dumper.c
191
return print_call_helper(dd, sym, address);
tools/bpf/bpftool/xlated_dumper.c
28
struct kernel_sym *sym;
tools/bpf/bpftool/xlated_dumper.c
48
sym = &dd->sym_mapping[dd->sym_count];
tools/bpf/bpftool/xlated_dumper.c
51
sym->module[0] = '\0';
tools/bpf/bpftool/xlated_dumper.c
53
if (sscanf(buff, "%p %*c %s [%[^]]s", &address, sym->name, sym->module) < 2)
tools/bpf/bpftool/xlated_dumper.c
55
sym->address = (unsigned long)address;
tools/bpf/bpftool/xlated_dumper.c
56
if (!strcmp(sym->name, "__bpf_call_base")) {
tools/bpf/bpftool/xlated_dumper.c
57
dd->address_call_base = sym->address;
tools/bpf/bpftool/xlated_dumper.c
59
if (!sym->address)
tools/bpf/bpftool/xlated_dumper.c
62
if (sym->address)
tools/bpf/bpftool/xlated_dumper.c
80
struct kernel_sym sym = {
tools/bpf/bpftool/xlated_dumper.c
85
bsearch(&sym, dd->sym_mapping, dd->sym_count,
tools/bpf/resolve_btfids/main.c
506
GElf_Sym sym;
tools/bpf/resolve_btfids/main.c
508
if (!gelf_getsym(obj->efile.symbols, i, &sym))
tools/bpf/resolve_btfids/main.c
511
if (sym.st_shndx != obj->efile.idlist_shndx)
tools/bpf/resolve_btfids/main.c
515
sym.st_name);
tools/bpf/resolve_btfids/main.c
551
id->cnt = sym.st_size / sizeof(uint64_t) - 1;
tools/bpf/resolve_btfids/main.c
561
id->cnt = sym.st_size / sizeof(int) - 1;
tools/bpf/resolve_btfids/main.c
575
id->addr[id->addr_cnt++] = sym.st_value;
tools/include/linux/export.h
4
#define EXPORT_SYMBOL(sym)
tools/include/linux/export.h
5
#define EXPORT_SYMBOL_GPL(sym)
tools/lib/bpf/bpf_helpers.h
199
#define bpf_ksym_exists(sym) ({ \
tools/lib/bpf/bpf_helpers.h
200
_Static_assert(!__builtin_constant_p(!!sym), \
tools/lib/bpf/bpf_helpers.h
201
#sym " should be marked as __weak"); \
tools/lib/bpf/bpf_helpers.h
202
!!sym; \
tools/lib/bpf/bpf_helpers.h
205
#define bpf_ksym_exists(sym) ({ \
tools/lib/bpf/bpf_helpers.h
206
_Static_assert(__builtin_has_attribute (*sym, __weak__), \
tools/lib/bpf/bpf_helpers.h
207
#sym " should be marked as __weak"); \
tools/lib/bpf/bpf_helpers.h
208
!!sym; \
tools/lib/bpf/bpf_helpers.h
211
#define bpf_ksym_exists(sym) !!sym
tools/lib/bpf/elf.c
157
struct elf_sym *ret = &iter->sym;
tools/lib/bpf/elf.c
158
GElf_Sym *sym = &ret->sym;
tools/lib/bpf/elf.c
165
if (!gelf_getsym(iter->syms, idx, sym))
tools/lib/bpf/elf.c
167
if (GELF_ST_TYPE(sym->st_info) != iter->st_type)
tools/lib/bpf/elf.c
169
name = elf_strptr(iter->elf, iter->strtabidx, sym->st_name);
tools/lib/bpf/elf.c
172
sym_scn = elf_getscn(iter->elf, sym->st_shndx);
tools/lib/bpf/elf.c
223
static bool symbol_match(struct elf_sym_iter *iter, int sh_type, struct elf_sym *sym,
tools/lib/bpf/elf.c
231
if (strncmp(sym->name, name, name_len) != 0)
tools/lib/bpf/elf.c
237
if (sym->name[name_len] != '\0' && sym->name[name_len] != '@')
tools/lib/bpf/elf.c
248
ver_name = elf_get_vername(iter, sym->ver);
tools/lib/bpf/elf.c
255
return strcmp(sym->name, name) == 0;
tools/lib/bpf/elf.c
266
static unsigned long elf_sym_offset(struct elf_sym *sym)
tools/lib/bpf/elf.c
268
return sym->sym.st_value - sym->sh.sh_addr + sym->sh.sh_offset;
tools/lib/bpf/elf.c
313
struct elf_sym *sym;
tools/lib/bpf/elf.c
323
while ((sym = elf_sym_iter_next(&iter))) {
tools/lib/bpf/elf.c
324
if (!symbol_match(&iter, sh_types[i], sym, name, name_len, lib_ver))
tools/lib/bpf/elf.c
327
cur_bind = GELF_ST_BIND(sym->sym.st_info);
tools/lib/bpf/elf.c
331
if (elf_sym_offset(sym) == ret) {
tools/lib/bpf/elf.c
337
sym->name, name, binary_path);
tools/lib/bpf/elf.c
348
ret = elf_sym_offset(sym);
tools/lib/bpf/elf.c
438
struct elf_sym *sym;
tools/lib/bpf/elf.c
446
while ((sym = elf_sym_iter_next(&iter))) {
tools/lib/bpf/elf.c
447
unsigned long sym_offset = elf_sym_offset(sym);
tools/lib/bpf/elf.c
448
int bind = GELF_ST_BIND(sym->sym.st_info);
tools/lib/bpf/elf.c
450
.name = sym->name,
tools/lib/bpf/elf.c
467
sym->name, sym_offset, binary_path, *offset);
tools/lib/bpf/elf.c
519
struct elf_sym *sym;
tools/lib/bpf/elf.c
527
while ((sym = elf_sym_iter_next(&iter))) {
tools/lib/bpf/elf.c
528
if (!glob_match(sym->name, pattern))
tools/lib/bpf/elf.c
536
offsets[cnt++] = elf_sym_offset(sym);
tools/lib/bpf/elf.c
77
GElf_Sym sym;
tools/lib/bpf/elf.c
92
struct elf_sym sym;
tools/lib/bpf/libbpf.c
10206
Elf64_Sym *sym;
tools/lib/bpf/libbpf.c
10219
sym = elf_sym_by_idx(obj, ELF64_R_SYM(rel->r_info));
tools/lib/bpf/libbpf.c
10220
if (!sym) {
tools/lib/bpf/libbpf.c
10226
name = elf_sym_str(obj, sym->st_name) ?: "<?>";
tools/lib/bpf/libbpf.c
10235
shdr_idx = sym->st_shndx;
tools/lib/bpf/libbpf.c
10240
(long long)sym->st_value,
tools/lib/bpf/libbpf.c
10242
map->sec_offset, sym->st_name, name);
tools/lib/bpf/libbpf.c
10249
if (sym->st_value % BPF_INSN_SZ) {
tools/lib/bpf/libbpf.c
10251
map->name, (unsigned long long)sym->st_value);
tools/lib/bpf/libbpf.c
10254
insn_idx = sym->st_value / BPF_INSN_SZ;
tools/lib/bpf/libbpf.c
1740
Elf64_Sym *sym = elf_sym_by_idx(obj, si);
tools/lib/bpf/libbpf.c
1742
if (ELF64_ST_TYPE(sym->st_info) != STT_OBJECT)
tools/lib/bpf/libbpf.c
1745
if (ELF64_ST_BIND(sym->st_info) != STB_GLOBAL &&
tools/lib/bpf/libbpf.c
1746
ELF64_ST_BIND(sym->st_info) != STB_WEAK)
tools/lib/bpf/libbpf.c
1749
sname = elf_sym_str(obj, sym->st_name);
tools/lib/bpf/libbpf.c
1755
return sym;
tools/lib/bpf/libbpf.c
3402
Elf64_Sym *sym;
tools/lib/bpf/libbpf.c
3421
sym = find_elf_var_sym(obj, var_name);
tools/lib/bpf/libbpf.c
3422
if (IS_ERR(sym)) {
tools/lib/bpf/libbpf.c
3429
vsi->offset = sym->st_value;
tools/lib/bpf/libbpf.c
3438
if (ELF64_ST_VISIBILITY(sym->st_other) == STV_HIDDEN
tools/lib/bpf/libbpf.c
3439
|| ELF64_ST_VISIBILITY(sym->st_other) == STV_INTERNAL)
tools/lib/bpf/libbpf.c
4042
static bool sym_is_extern(const Elf64_Sym *sym)
tools/lib/bpf/libbpf.c
4044
int bind = ELF64_ST_BIND(sym->st_info);
tools/lib/bpf/libbpf.c
4046
return sym->st_shndx == SHN_UNDEF &&
tools/lib/bpf/libbpf.c
4048
ELF64_ST_TYPE(sym->st_info) == STT_NOTYPE;
tools/lib/bpf/libbpf.c
4051
static bool sym_is_subprog(const Elf64_Sym *sym, int text_shndx)
tools/lib/bpf/libbpf.c
4053
int bind = ELF64_ST_BIND(sym->st_info);
tools/lib/bpf/libbpf.c
4054
int type = ELF64_ST_TYPE(sym->st_info);
tools/lib/bpf/libbpf.c
4057
if (sym->st_shndx != text_shndx)
tools/lib/bpf/libbpf.c
4275
Elf64_Sym *sym = elf_sym_by_idx(obj, i);
tools/lib/bpf/libbpf.c
4277
if (!sym)
tools/lib/bpf/libbpf.c
4279
if (!sym_is_extern(sym))
tools/lib/bpf/libbpf.c
4281
ext_name = elf_sym_str(obj, sym->st_name);
tools/lib/bpf/libbpf.c
4305
ext->is_weak = ELF64_ST_BIND(sym->st_info) == STB_WEAK;
tools/lib/bpf/libbpf.c
4567
const Elf64_Sym *sym, const Elf64_Rel *rel)
tools/lib/bpf/libbpf.c
4572
__u32 shdr_idx = sym->st_shndx;
tools/lib/bpf/libbpf.c
4583
if (sym_is_extern(sym)) {
tools/lib/bpf/libbpf.c
4622
if (sym->st_value % BPF_INSN_SZ) {
tools/lib/bpf/libbpf.c
4624
prog->name, sym_name, (size_t)sym->st_value);
tools/lib/bpf/libbpf.c
4629
reloc_desc->sym_off = sym->st_value;
tools/lib/bpf/libbpf.c
4640
if (sym_is_subprog(sym, obj->efile.text_shndx)) {
tools/lib/bpf/libbpf.c
4644
if ((sym->st_value % BPF_INSN_SZ) || (insn->imm % BPF_INSN_SZ)) {
tools/lib/bpf/libbpf.c
4646
prog->name, sym_name, (size_t)sym->st_value, insn->imm);
tools/lib/bpf/libbpf.c
4652
reloc_desc->sym_off = sym->st_value;
tools/lib/bpf/libbpf.c
4669
reloc_desc->sym_off = sym->st_value;
tools/lib/bpf/libbpf.c
4683
reloc_desc->sym_off = sym->st_value;
tools/lib/bpf/libbpf.c
4684
reloc_desc->sym_size = sym->st_size;
tools/lib/bpf/libbpf.c
4698
map->sec_idx != sym->st_shndx ||
tools/lib/bpf/libbpf.c
4699
map->sec_offset != sym->st_value)
tools/lib/bpf/libbpf.c
4708
prog->name, sym_sec_name, (size_t)sym->st_value);
tools/lib/bpf/libbpf.c
4726
if (map->libbpf_type != type || map->sec_idx != sym->st_shndx)
tools/lib/bpf/libbpf.c
4742
reloc_desc->sym_off = sym->st_value;
tools/lib/bpf/libbpf.c
4792
Elf64_Sym *sym;
tools/lib/bpf/libbpf.c
4820
sym = elf_sym_by_idx(obj, sym_idx);
tools/lib/bpf/libbpf.c
4821
if (!sym) {
tools/lib/bpf/libbpf.c
4827
if (sym->st_shndx >= obj->efile.sec_cnt) {
tools/lib/bpf/libbpf.c
4829
relo_sec_name, sym_idx, (size_t)sym->st_shndx, i);
tools/lib/bpf/libbpf.c
4846
if (ELF64_ST_TYPE(sym->st_info) == STT_SECTION && sym->st_name == 0)
tools/lib/bpf/libbpf.c
4847
sym_name = elf_sec_name(obj, elf_sec_by_idx(obj, sym->st_shndx));
tools/lib/bpf/libbpf.c
4849
sym_name = elf_sym_str(obj, sym->st_name);
tools/lib/bpf/libbpf.c
4871
insn_idx, sym_name, sym, rel);
tools/lib/bpf/libbpf.c
7504
Elf64_Sym *sym;
tools/lib/bpf/libbpf.c
7522
sym = elf_sym_by_idx(obj, ELF64_R_SYM(rel->r_info));
tools/lib/bpf/libbpf.c
7523
if (!sym) {
tools/lib/bpf/libbpf.c
7528
name = elf_sym_str(obj, sym->st_name) ?: "<?>";
tools/lib/bpf/libbpf.c
7531
i, (ssize_t)(rel->r_info >> 32), (size_t)sym->st_value,
tools/lib/bpf/libbpf.c
7532
(size_t)rel->r_offset, sym->st_name, name);
tools/lib/bpf/libbpf.c
7554
if (sym->st_shndx != obj->efile.btf_maps_shndx) {
tools/lib/bpf/libbpf.c
7578
if (targ_prog->sec_idx != sym->st_shndx ||
tools/lib/bpf/libbpf.c
7579
targ_prog->sec_insn_off * 8 != sym->st_value ||
tools/lib/bpf/libbpf.c
909
Elf64_Sym *sym;
tools/lib/bpf/libbpf.c
916
sym = elf_sym_by_idx(obj, i);
tools/lib/bpf/libbpf.c
918
if (sym->st_shndx != sec_idx)
tools/lib/bpf/libbpf.c
920
if (ELF64_ST_TYPE(sym->st_info) != STT_FUNC)
tools/lib/bpf/libbpf.c
923
prog_sz = sym->st_size;
tools/lib/bpf/libbpf.c
924
sec_off = sym->st_value;
tools/lib/bpf/libbpf.c
926
name = elf_sym_str(obj, sym->st_name);
tools/lib/bpf/libbpf.c
939
if (sec_idx != obj->efile.text_shndx && ELF64_ST_BIND(sym->st_info) == STB_LOCAL) {
tools/lib/bpf/libbpf.c
967
if (ELF64_ST_BIND(sym->st_info) != STB_LOCAL)
tools/lib/bpf/libbpf.c
975
if (prog->sym_global && (ELF64_ST_VISIBILITY(sym->st_other) == STV_HIDDEN
tools/lib/bpf/libbpf.c
976
|| ELF64_ST_VISIBILITY(sym->st_other) == STV_INTERNAL))
tools/lib/bpf/linker.c
1408
Elf64_Sym *sym = symtab->data->d_buf;
tools/lib/bpf/linker.c
1417
for (i = 0; i < n; i++, sym++) {
tools/lib/bpf/linker.c
1424
sym_name = elf_strptr(obj->elf, str_sec_idx, sym->st_name);
tools/lib/bpf/linker.c
1430
err = linker_append_elf_sym(linker, obj, sym, sym_name, i);
tools/lib/bpf/linker.c
1465
struct glob_sym *syms, *sym;
tools/lib/bpf/linker.c
1472
sym = &syms[linker->glob_sym_cnt];
tools/lib/bpf/linker.c
1473
memset(sym, 0, sizeof(*sym));
tools/lib/bpf/linker.c
1474
sym->var_idx = -1;
tools/lib/bpf/linker.c
1479
return sym;
tools/lib/bpf/linker.c
1766
struct src_obj *obj, Elf64_Sym *sym, int btf_id)
tools/lib/bpf/linker.c
1806
struct src_obj *obj, Elf64_Sym *sym, size_t sym_idx, int btf_id)
tools/lib/bpf/linker.c
182
Elf64_Sym *sym, const char *sym_name, int src_sym_idx);
tools/lib/bpf/linker.c
1827
return glob_map_defs_match(sym_name, linker, glob_sym, obj, sym, btf_id);
tools/lib/bpf/linker.c
1842
static int find_glob_sym_btf(struct src_obj *obj, Elf64_Sym *sym, const char *sym_name,
tools/lib/bpf/linker.c
1976
static void sym_update_bind(Elf64_Sym *sym, int sym_bind)
tools/lib/bpf/linker.c
1978
sym->st_info = ELF64_ST_INFO(sym_bind, ELF64_ST_TYPE(sym->st_info));
tools/lib/bpf/linker.c
1981
static void sym_update_type(Elf64_Sym *sym, int sym_type)
tools/lib/bpf/linker.c
1983
sym->st_info = ELF64_ST_INFO(ELF64_ST_BIND(sym->st_info), sym_type);
tools/lib/bpf/linker.c
1986
static void sym_update_visibility(Elf64_Sym *sym, int sym_vis)
tools/lib/bpf/linker.c
1991
sym->st_other &= ~0x03;
tools/lib/bpf/linker.c
1992
sym->st_other |= sym_vis;
tools/lib/bpf/linker.c
1996
Elf64_Sym *sym, const char *sym_name, int src_sym_idx)
tools/lib/bpf/linker.c
2007
sym_type = ELF64_ST_TYPE(sym->st_info);
tools/lib/bpf/linker.c
2008
sym_bind = ELF64_ST_BIND(sym->st_info);
tools/lib/bpf/linker.c
2009
sym_vis = ELF64_ST_VISIBILITY(sym->st_other);
tools/lib/bpf/linker.c
2010
sym_is_extern = sym->st_shndx == SHN_UNDEF;
tools/lib/bpf/linker.c
2017
} else if (sym->st_shndx < SHN_LORESERVE) {
tools/lib/bpf/linker.c
2018
src_sec = &obj->secs[sym->st_shndx];
tools/lib/bpf/linker.c
2037
err = find_glob_sym_btf(obj, sym, sym_name, &btf_sec_id, &btf_id);
tools/lib/bpf/linker.c
2083
if (!glob_syms_match(sym_name, linker, glob_sym, obj, sym, src_sym_idx, btf_id))
tools/lib/bpf/linker.c
2132
dst_sym->st_value = src_sec->dst_off + sym->st_value;
tools/lib/bpf/linker.c
2133
dst_sym->st_size = sym->st_size;
tools/lib/bpf/linker.c
2160
dst_sym->st_info = sym->st_info;
tools/lib/bpf/linker.c
2161
dst_sym->st_other = sym->st_other;
tools/lib/bpf/linker.c
2162
dst_sym->st_shndx = dst_sec ? dst_sec->sec_idx : sym->st_shndx;
tools/lib/bpf/linker.c
2163
dst_sym->st_value = (src_sec ? src_sec->dst_off : 0) + sym->st_value;
tools/lib/bpf/linker.c
2164
dst_sym->st_size = sym->st_size;
tools/lib/bpf/linker.c
2293
Elf64_Sym *sym = symtab->data->d_buf;
tools/lib/bpf/linker.c
2298
for (i = 0; i < n; i++, sym++) {
tools/lib/bpf/linker.c
2299
if (sym->st_shndx != sec_idx)
tools/lib/bpf/linker.c
2301
if (ELF64_ST_TYPE(sym->st_info) != sym_type)
tools/lib/bpf/linker.c
2304
name = elf_strptr(obj->elf, str_sec_idx, sym->st_name);
tools/lib/bpf/linker.c
2311
return sym;
tools/lib/bpf/linker.c
2386
Elf64_Sym *sym;
tools/lib/bpf/linker.c
2399
sym = find_sym_by_name(obj, sec->sec_idx, STT_OBJECT, var_name);
tools/lib/bpf/linker.c
2400
if (!sym) {
tools/lib/bpf/linker.c
2405
vi->offset = sym->st_value;
tools/lib/bpf/linker.c
338
Elf64_Sym *syms, *sym;
tools/lib/bpf/linker.c
339
size_t sym_cnt = symtab->sec_sz / sizeof(*sym);
tools/lib/bpf/linker.c
341
syms = libbpf_reallocarray(symtab->raw_data, sym_cnt + 1, sizeof(*sym));
tools/lib/bpf/linker.c
345
sym = &syms[sym_cnt];
tools/lib/bpf/linker.c
346
memset(sym, 0, sizeof(*sym));
tools/lib/bpf/linker.c
349
symtab->sec_sz += sizeof(*sym);
tools/lib/bpf/linker.c
350
symtab->shdr->sh_size += sizeof(*sym);
tools/lib/bpf/linker.c
351
symtab->data->d_size += sizeof(*sym);
tools/lib/bpf/linker.c
356
return sym;
tools/lib/bpf/linker.c
914
Elf64_Sym *sym;
tools/lib/bpf/linker.c
935
sym = sec->data->d_buf;
tools/lib/bpf/linker.c
936
for (i = 0; i < n; i++, sym++) {
tools/lib/bpf/linker.c
937
int sym_type = ELF64_ST_TYPE(sym->st_info);
tools/lib/bpf/linker.c
938
int sym_bind = ELF64_ST_BIND(sym->st_info);
tools/lib/bpf/linker.c
939
int sym_vis = ELF64_ST_VISIBILITY(sym->st_other);
tools/lib/bpf/linker.c
942
if (sym->st_name != 0 || sym->st_info != 0
tools/lib/bpf/linker.c
943
|| sym->st_other != 0 || sym->st_shndx != 0
tools/lib/bpf/linker.c
944
|| sym->st_value != 0 || sym->st_size != 0) {
tools/lib/bpf/linker.c
960
if (sym->st_shndx == 0) {
tools/lib/bpf/linker.c
962
|| sym->st_value != 0 || sym->st_size != 0) {
tools/lib/bpf/linker.c
970
if (sym->st_shndx < SHN_LORESERVE && sym->st_shndx >= obj->sec_cnt) {
tools/lib/bpf/linker.c
972
i, sec->sec_idx, (size_t)sym->st_shndx, obj->filename);
tools/lib/bpf/linker.c
976
if (sym->st_value != 0)
tools/objtool/arch/loongarch/decode.c
423
return reloc->sym->offset + reloc_addend(reloc) -
tools/objtool/arch/loongarch/decode.c
426
return reloc->sym->offset + reloc_addend(reloc);
tools/objtool/arch/loongarch/special.c
125
if (reloc->sym->sec->rodata)
tools/objtool/arch/loongarch/special.c
128
if (strcmp(insn->sec->name, reloc->sym->sec->name))
tools/objtool/arch/loongarch/special.c
131
offset = reloc->sym->offset + reloc_addend(reloc);
tools/objtool/arch/loongarch/special.c
157
if (!strcmp(reloc->sym->sec->name, C_JUMP_TABLE_SECTION)) {
tools/objtool/arch/loongarch/special.c
183
table_sec = annotate_reloc->sym->sec;
tools/objtool/arch/loongarch/special.c
184
table_offset = annotate_reloc->sym->offset + reloc_addend(annotate_reloc);
tools/objtool/arch/loongarch/special.c
39
if (reloc->sym->sec->rodata)
tools/objtool/arch/loongarch/special.c
42
if (strcmp(insn->sec->name, reloc->sym->sec->name))
tools/objtool/arch/loongarch/special.c
51
orig_table->insn_offset = reloc->sym->offset + reloc_addend(reloc);
tools/objtool/arch/loongarch/special.c
53
orig_table->rodata_offset = reloc->sym->offset + reloc_addend(reloc);
tools/objtool/arch/loongarch/special.c
60
if (strcmp(insn->sec->name, (reloc + 1)->sym->sec->name)) {
tools/objtool/arch/x86/decode.c
230
struct symbol *sym;
tools/objtool/arch/x86/decode.c
698
if (!immr || strncmp(immr->sym->name, "pv_ops", 6))
tools/objtool/arch/x86/decode.c
701
idx = pv_ops_idx_off(immr->sym->name);
tools/objtool/arch/x86/decode.c
707
func = disp->sym;
tools/objtool/arch/x86/decode.c
708
if (disp->sym->type == STT_SECTION)
tools/objtool/arch/x86/decode.c
709
func = find_symbol_by_offset(disp->sym->sec, reloc_addend(disp));
tools/objtool/arch/x86/decode.c
725
sym = find_symbol_containing(sec, offset);
tools/objtool/arch/x86/decode.c
726
if (sym && sym->type == STT_FUNC) {
tools/objtool/arch/x86/decode.c
906
bool arch_is_retpoline(struct symbol *sym)
tools/objtool/arch/x86/decode.c
908
return !strncmp(sym->name, "__x86_indirect_", 15) ||
tools/objtool/arch/x86/decode.c
909
!strncmp(sym->name, "__pi___x86_indirect_", 20);
tools/objtool/arch/x86/decode.c
912
bool arch_is_rethunk(struct symbol *sym)
tools/objtool/arch/x86/decode.c
914
return !strcmp(sym->name, "__x86_return_thunk") ||
tools/objtool/arch/x86/decode.c
915
!strcmp(sym->name, "__pi___x86_return_thunk");
tools/objtool/arch/x86/decode.c
918
bool arch_is_embedded_insn(struct symbol *sym)
tools/objtool/arch/x86/decode.c
920
return !strcmp(sym->name, "retbleed_return_thunk") ||
tools/objtool/arch/x86/decode.c
921
!strcmp(sym->name, "srso_alias_safe_ret") ||
tools/objtool/arch/x86/decode.c
922
!strcmp(sym->name, "srso_safe_ret");
tools/objtool/arch/x86/special.c
101
table_sec = text_reloc->sym->sec;
tools/objtool/arch/x86/special.c
96
if (!text_reloc || !is_sec_sym(text_reloc->sym) ||
tools/objtool/arch/x86/special.c
97
!text_reloc->sym->sec->rodata)
tools/objtool/check.c
1030
struct symbol *sym;
tools/objtool/check.c
1043
for_each_sym(file->elf, sym)
tools/objtool/check.c
1044
if (sym->csum.checksum)
tools/objtool/check.c
1056
for_each_sym(file->elf, sym) {
tools/objtool/check.c
1057
if (!sym->csum.checksum)
tools/objtool/check.c
1061
sym, 0, R_TEXT64))
tools/objtool/check.c
1066
checksum->checksum = sym->csum.checksum;
tools/objtool/check.c
1093
switch (reloc->sym->type) {
tools/objtool/check.c
1095
func = reloc->sym;
tools/objtool/check.c
1099
func = find_func_by_offset(reloc->sym->sec, reloc_addend(reloc));
tools/objtool/check.c
1106
rsec->name, reloc->sym->type);
tools/objtool/check.c
121
#define sym_for_each_insn(file, sym, insn) \
tools/objtool/check.c
122
for (insn = find_insn(file, sym->sec, sym->offset); \
tools/objtool/check.c
123
insn && insn->offset < sym->offset + sym->len; \
tools/objtool/check.c
126
#define sym_for_each_insn_continue_reverse(file, sym, insn) \
tools/objtool/check.c
128
insn && insn->offset >= sym->offset; \
tools/objtool/check.c
1329
__weak bool arch_is_retpoline(struct symbol *sym)
tools/objtool/check.c
1338
__weak bool arch_is_rethunk(struct symbol *sym)
tools/objtool/check.c
1347
__weak bool arch_is_embedded_insn(struct symbol *sym)
tools/objtool/check.c
1387
struct symbol *sym = insn_call_dest(insn);
tools/objtool/check.c
1389
if (!sym)
tools/objtool/check.c
1390
sym = reloc->sym;
tools/objtool/check.c
1392
if (sym->static_call_tramp) {
tools/objtool/check.c
1397
if (sym->retpoline_thunk) {
tools/objtool/check.c
1407
if (opts.hack_noinstr && insn->sec->noinstr && sym->profiling_func) {
tools/objtool/check.c
1433
if (opts.mcount && sym->fentry) {
tools/objtool/check.c
1457
if (!sibling && dead_end_function(file, sym))
tools/objtool/check.c
1582
dest_sym = dest_sec->sym;
tools/objtool/check.c
1584
dest_sym = reloc->sym;
tools/objtool/check.c
1615
struct symbol *sym = find_symbol_by_offset(dest_sec, dest_off);
tools/objtool/check.c
1625
if (sym && sym->embedded_insn) {
tools/objtool/check.c
1645
dest_sym = dest_insn->sym;
tools/objtool/check.c
1661
if (!insn->sym || insn->sym->pfunc == dest_sym->pfunc)
tools/objtool/check.c
1729
} else if (is_sec_sym(reloc->sym)) {
tools/objtool/check.c
1731
dest = find_call_destination(reloc->sym->sec, dest_off);
tools/objtool/check.c
1734
reloc->sym->sec->name, dest_off);
tools/objtool/check.c
1741
} else if (reloc->sym->retpoline_thunk) {
tools/objtool/check.c
1746
if (add_call_dest(file, insn, reloc->sym, false))
tools/objtool/check.c
1834
nop->sym = orig_insn->sym;
tools/objtool/check.c
1853
insn->sym = orig_insn->sym;
tools/objtool/check.c
2051
return reloc->sym->offset + reloc_addend(reloc);
tools/objtool/check.c
2084
if (reloc->sym->sec == pfunc->sec && sym_offset == pfunc->offset)
tools/objtool/check.c
2091
if (reloc->sym->sec == pfunc->sec &&
tools/objtool/check.c
2095
dest_insn = find_insn(file, reloc->sym->sec, sym_offset);
tools/objtool/check.c
2159
sym_offset = table_reloc->sym->offset + reloc_addend(table_reloc);
tools/objtool/check.c
2161
dest_insn = find_insn(file, table_reloc->sym->sec, sym_offset);
tools/objtool/check.c
2290
offset = reloc->sym->offset + reloc_addend(reloc);
tools/objtool/check.c
2292
insn = find_insn(file, reloc->sym->sec, offset);
tools/objtool/check.c
2317
struct symbol *sym = find_symbol_by_offset(insn->sec, insn->offset);
tools/objtool/check.c
2319
if (sym && is_global_sym(sym)) {
tools/objtool/check.c
2382
offset = reloc->sym->offset + reloc_addend(reloc);
tools/objtool/check.c
2383
insn = find_insn(file, reloc->sym->sec, offset);
tools/objtool/check.c
2452
struct symbol *sym;
tools/objtool/check.c
2496
sym = insn->sym;
tools/objtool/check.c
2497
if (!sym) {
tools/objtool/check.c
2501
insn->sym->nocfi = 1;
tools/objtool/check.c
2607
if (insn->sym || !find_symbol_hole_containing(insn->sec, insn->offset)) {
tools/objtool/check.c
3030
insn->sym->frame_pointer) {
tools/objtool/check.c
3042
if (insn->sym->frame_pointer) {
tools/objtool/check.c
3455
if (reloc && !strcmp(reloc->sym->name, "pv_ops")) {
tools/objtool/check.c
3471
if (!reloc || strcmp(reloc->sym->name, "pv_ops"))
tools/objtool/check.c
3708
struct symbol *sym;
tools/objtool/check.c
3724
sym = reloc->sym;
tools/objtool/check.c
3727
if (is_string_sec(sym->sec)) {
tools/objtool/check.c
3730
str = sym->sec->data->d_buf + sym->offset + offset;
tools/objtool/check.c
3735
if (is_sec_sym(sym)) {
tools/objtool/check.c
3736
sym = find_symbol_containing(reloc->sym->sec, offset);
tools/objtool/check.c
3737
if (!sym)
tools/objtool/check.c
3740
offset -= sym->offset;
tools/objtool/check.c
3743
checksum_update(func, insn, sym->demangled_name, strlen(sym->demangled_name));
tools/objtool/check.c
4307
struct symbol *sym = insn->sym;
tools/objtool/check.c
4309
if (sym && (sym->type == STT_NOTYPE ||
tools/objtool/check.c
4310
sym->type == STT_FUNC) && !sym->nocfi) {
tools/objtool/check.c
4472
GELF_ST_BIND(func->sym.st_info),
tools/objtool/check.c
4473
GELF_ST_TYPE(func->sym.st_info),
tools/objtool/check.c
4518
struct symbol *sym, struct insn_state *state)
tools/objtool/check.c
4524
if (!sym->len) {
tools/objtool/check.c
4525
WARN("%s() is missing an ELF size annotation", sym->name);
tools/objtool/check.c
4529
if (sym->pfunc != sym || sym->alias != sym)
tools/objtool/check.c
4532
insn = find_insn(file, sec, sym->offset);
tools/objtool/check.c
4537
state->uaccess = sym->uaccess_safe;
tools/objtool/check.c
4544
if (opts.trace && !fnmatch(opts.trace, sym->name, 0)) {
tools/objtool/check.c
4546
TRACE("%s: validation begin\n", sym->name);
tools/objtool/check.c
4553
TRACE("%s: validation %s\n\n", sym->name, ret ? "failed" : "end");
tools/objtool/check.c
4630
struct symbol *sym = find_symbol_containing(insn->sec, insn->offset-1);
tools/objtool/check.c
4633
if (!sym)
tools/objtool/check.c
4636
first = find_insn(file, sym->sec, sym->offset);
tools/objtool/check.c
4643
return insn->offset == sym->offset + sym->len;
tools/objtool/check.c
4740
off = reloc->sym->offset + arch_insn_adjusted_addend(insn, reloc);
tools/objtool/check.c
4742
dest = find_insn(file, reloc->sym->sec, off);
tools/objtool/check.c
4757
dest = find_insn(file, reloc->sym->sec,
tools/objtool/check.c
4758
reloc->sym->offset + reloc_addend(reloc));
tools/objtool/check.c
503
insn->sym = func;
tools/objtool/check.c
556
struct symbol *sym, *func;
tools/objtool/check.c
563
sym = find_symbol_by_name(file->elf, symname);
tools/objtool/check.c
564
if (!sym) {
tools/objtool/check.c
569
off = sym->offset;
tools/objtool/check.c
570
end = off + sym->len;
tools/objtool/check.c
578
reloc = find_reloc_by_dest_range(file->elf, sym->sec, off, end - off);
tools/objtool/check.c
582
idx = (reloc_offset(reloc) - sym->offset) / sizeof(unsigned long);
tools/objtool/check.c
584
func = reloc->sym;
tools/objtool/check.c
586
func = find_symbol_by_offset(reloc->sym->sec,
tools/objtool/check.c
589
ERROR_FUNC(reloc->sym->sec, reloc_addend(reloc),
tools/objtool/check.c
610
struct symbol *sym;
tools/objtool/check.c
620
sym = find_symbol_by_name(file->elf, pv_ops_tables[idx].name);
tools/objtool/check.c
621
if (!sym) {
tools/objtool/check.c
626
nr += sym->len / sizeof(unsigned long);
tools/objtool/check.c
867
struct symbol *sym = insn->sym;
tools/objtool/check.c
870
if (opts.module && sym && is_func_sym(sym) &&
tools/objtool/check.c
871
insn->offset == sym->offset &&
tools/objtool/check.c
872
(!strcmp(sym->name, "init_module") ||
tools/objtool/check.c
873
!strcmp(sym->name, "cleanup_module"))) {
tools/objtool/check.c
875
sym->name);
tools/objtool/check.c
893
struct symbol *sym;
tools/objtool/check.c
903
for_each_sym(file->elf, sym) {
tools/objtool/check.c
904
if (!is_func_sym(sym))
tools/objtool/check.c
907
if (strncmp(sym->name, "__cfi_", 6))
tools/objtool/check.c
919
for_each_sym(file->elf, sym) {
tools/objtool/check.c
920
if (!is_func_sym(sym))
tools/objtool/check.c
923
if (strncmp(sym->name, "__cfi_", 6))
tools/objtool/check.c
928
sym->sec, sym->offset))
tools/objtool/disas.c
1215
struct symbol *sym;
tools/objtool/disas.c
1220
for_each_sym(dctx->file->elf, sym) {
tools/objtool/disas.c
1221
if (sym->warned)
tools/objtool/disas.c
1222
disas_func(dctx, sym);
tools/objtool/disas.c
1230
struct symbol *sym;
tools/objtool/disas.c
1237
sec_for_each_sym(sec, sym) {
tools/objtool/disas.c
1243
if (opts.verbose && sym->warned)
tools/objtool/disas.c
1246
if (disas_all || fnmatch(opts.disas, sym->name, 0) == 0)
tools/objtool/disas.c
1247
disas_func(dctx, sym);
tools/objtool/disas.c
167
static void disas_print_addr_sym(struct section *sec, struct symbol *sym,
tools/objtool/disas.c
173
if (sym) {
tools/objtool/disas.c
174
sprint_name(symstr, sym->name, addr - sym->offset);
tools/objtool/disas.c
189
struct symbol *sym;
tools/objtool/disas.c
213
sym = orig_first_insn->sym;
tools/objtool/disas.c
215
disas_print_addr_sym(orig_first_insn->sec, sym, addr, dinfo);
tools/objtool/disas.c
225
struct symbol *sym = NULL;
tools/objtool/disas.c
230
if (insn->sym && addr >= insn->sym->offset &&
tools/objtool/disas.c
231
addr < insn->sym->offset + insn->sym->len) {
tools/objtool/disas.c
232
sym = insn->sym;
tools/objtool/disas.c
235
disas_print_addr_sym(insn->sec, sym, addr, dinfo);
tools/objtool/disas.c
267
if (reloc->sym->type == STT_SECTION) {
tools/objtool/disas.c
268
str = offstr(reloc->sym->sec, reloc->sym->offset + offset);
tools/objtool/disas.c
272
sprint_name(symstr, reloc->sym->name, offset);
tools/objtool/disas.c
285
struct symbol *sym;
tools/objtool/disas.c
294
if (jump_dest && jump_dest->sym && jump_dest->offset == addr) {
tools/objtool/disas.c
296
disas_print_addr_sym(jump_dest->sec, jump_dest->sym,
tools/objtool/disas.c
314
sym = insn_call_dest(insn);
tools/objtool/disas.c
315
if (sym && (sym->offset == addr || (sym->offset == 0 && is_reloc))) {
tools/objtool/disas.c
316
DINFO_FPRINTF(dinfo, bfd_vma_fmt, addr, sym->name);
tools/objtool/disas.c
771
dest_insn->offset, dest_insn->sym->name,
tools/objtool/disas.c
772
dest_insn->offset - dest_insn->sym->offset);
tools/objtool/disas.c
797
alt_insn->offset, alt_insn->sym->name,
tools/objtool/disas.c
798
alt_insn->offset - alt_insn->sym->offset);
tools/objtool/elf.c
1000
reloc->sym = sym;
tools/objtool/elf.c
1003
set_reloc_sym(elf, reloc, sym->idx);
tools/objtool/elf.c
1008
set_sym_next_reloc(reloc, sym->relocs);
tools/objtool/elf.c
1009
sym->relocs = reloc;
tools/objtool/elf.c
1020
struct symbol *sym = insn_sec->sym;
tools/objtool/elf.c
1024
ERROR("bad call to %s() for data symbol %s", __func__, sym->name);
tools/objtool/elf.c
1028
if (!sym) {
tools/objtool/elf.c
1035
sym = elf_create_section_symbol(elf, insn_sec);
tools/objtool/elf.c
1036
if (!sym)
tools/objtool/elf.c
1040
return elf_init_reloc(elf, sec->rsec, reloc_idx, offset, sym, addend,
tools/objtool/elf.c
1047
struct symbol *sym,
tools/objtool/elf.c
1051
ERROR("bad call to %s() for text symbol %s", __func__, sym->name);
tools/objtool/elf.c
1055
return elf_init_reloc(elf, sec->rsec, reloc_idx, offset, sym, addend,
tools/objtool/elf.c
1065
struct symbol *sym;
tools/objtool/elf.c
1098
reloc->sym = sym = find_symbol_by_index(elf, symndx);
tools/objtool/elf.c
1099
if (!reloc->sym) {
tools/objtool/elf.c
1105
set_sym_next_reloc(reloc, sym->relocs);
tools/objtool/elf.c
1106
sym->relocs = reloc;
tools/objtool/elf.c
111
const struct symbol *sym;
tools/objtool/elf.c
1192
struct symbol *sym;
tools/objtool/elf.c
126
sh->sym = s;
tools/objtool/elf.c
1292
sym = calloc(1, sizeof(*sym));
tools/objtool/elf.c
1293
if (!sym) {
tools/objtool/elf.c
1298
sym->name = "";
tools/objtool/elf.c
1299
sym->sec = null;
tools/objtool/elf.c
1300
elf_add_symbol(elf, sym);
tools/objtool/elf.c
1470
struct symbol *sym;
tools/objtool/elf.c
1532
for_each_sym(elf, sym) {
tools/objtool/elf.c
1535
reloc = sym->relocs;
tools/objtool/elf.c
1540
sym->relocs = &new_relocs[reloc - old_relocs];
tools/objtool/elf.c
160
struct symbol *sym;
tools/objtool/elf.c
1615
struct symbol *sym, s64 addend,
tools/objtool/elf.c
162
elf_hash_for_each_possible(symbol, sym, hash, idx) {
tools/objtool/elf.c
163
if (sym->idx == idx)
tools/objtool/elf.c
1636
return elf_init_reloc(elf, rsec, sec_num_entries(rsec) - 1, offset, sym,
tools/objtool/elf.c
164
return sym;
tools/objtool/elf.c
173
struct symbol *sym;
tools/objtool/elf.c
175
__sym_for_each(sym, tree, offset, offset) {
tools/objtool/elf.c
176
if (sym->offset == offset && !is_sec_sym(sym))
tools/objtool/elf.c
177
return sym->alias;
tools/objtool/elf.c
199
struct symbol *sym = NULL, *tmp;
tools/objtool/elf.c
203
if (!sym) {
tools/objtool/elf.c
204
sym = tmp;
tools/objtool/elf.c
208
if (sym->offset != tmp->offset || sym->len != tmp->len) {
tools/objtool/elf.c
215
if (tmp->len < sym->len)
tools/objtool/elf.c
216
sym = tmp;
tools/objtool/elf.c
221
return sym ? sym->alias : NULL;
tools/objtool/elf.c
231
.sym = NULL,
tools/objtool/elf.c
251
if (hole.sym)
tools/objtool/elf.c
252
n = rb_next(&hole.sym->node);
tools/objtool/elf.c
279
struct symbol *sym;
tools/objtool/elf.c
281
elf_hash_for_each_possible(symbol_name, sym, name_hash, str_hash(name)) {
tools/objtool/elf.c
282
if (!strcmp(sym->name, name))
tools/objtool/elf.c
283
return sym;
tools/objtool/elf.c
294
struct symbol *sym;
tools/objtool/elf.c
296
elf_hash_for_each_possible(symbol_name, sym, name_hash, str_hash(name)) {
tools/objtool/elf.c
297
if (sym->bind == STB_LOCAL && sym->file == file &&
tools/objtool/elf.c
298
!strcmp(sym->name, name)) {
tools/objtool/elf.c
299
return sym;
tools/objtool/elf.c
308
struct symbol *sym;
tools/objtool/elf.c
310
elf_hash_for_each_possible(symbol_name, sym, name_hash, str_hash(name)) {
tools/objtool/elf.c
311
if (!strcmp(sym->name, name) && !is_local_sym(sym))
tools/objtool/elf.c
312
return sym;
tools/objtool/elf.c
443
static const char *demangle_name(struct symbol *sym)
tools/objtool/elf.c
447
if (!is_local_sym(sym))
tools/objtool/elf.c
448
return sym->name;
tools/objtool/elf.c
450
if (!is_func_sym(sym) && !is_object_sym(sym))
tools/objtool/elf.c
451
return sym->name;
tools/objtool/elf.c
453
if (!strstarts(sym->name, "__UNIQUE_ID_") && !strchr(sym->name, '.'))
tools/objtool/elf.c
454
return sym->name;
tools/objtool/elf.c
456
str = strdup(sym->name);
tools/objtool/elf.c
474
static int elf_add_symbol(struct elf *elf, struct symbol *sym)
tools/objtool/elf.c
480
INIT_LIST_HEAD(&sym->pv_target);
tools/objtool/elf.c
481
sym->alias = sym;
tools/objtool/elf.c
483
sym->type = GELF_ST_TYPE(sym->sym.st_info);
tools/objtool/elf.c
484
sym->bind = GELF_ST_BIND(sym->sym.st_info);
tools/objtool/elf.c
486
if (is_file_sym(sym))
tools/objtool/elf.c
489
sym->offset = sym->sym.st_value;
tools/objtool/elf.c
490
sym->len = sym->sym.st_size;
tools/objtool/elf.c
492
__sym_for_each(iter, &sym->sec->symbol_tree, sym->offset, sym->offset) {
tools/objtool/elf.c
493
if (!is_undef_sym(iter) && iter->offset == sym->offset &&
tools/objtool/elf.c
494
iter->type == sym->type && iter->len == sym->len)
tools/objtool/elf.c
495
iter->alias = sym;
tools/objtool/elf.c
498
__sym_insert(sym, &sym->sec->symbol_tree);
tools/objtool/elf.c
499
pnode = rb_prev(&sym->node);
tools/objtool/elf.c
503
entry = &sym->sec->symbol_list;
tools/objtool/elf.c
504
list_add(&sym->list, entry);
tools/objtool/elf.c
506
list_add_tail(&sym->global_list, &elf->symbols);
tools/objtool/elf.c
507
elf_hash_add(symbol, &sym->hash, sym->idx);
tools/objtool/elf.c
508
elf_hash_add(symbol_name, &sym->name_hash, str_hash(sym->name));
tools/objtool/elf.c
510
if (is_func_sym(sym) &&
tools/objtool/elf.c
511
(strstarts(sym->name, "__pfx_") ||
tools/objtool/elf.c
512
strstarts(sym->name, "__cfi_") ||
tools/objtool/elf.c
513
strstarts(sym->name, "__pi___pfx_") ||
tools/objtool/elf.c
514
strstarts(sym->name, "__pi___cfi_")))
tools/objtool/elf.c
515
sym->prefix = 1;
tools/objtool/elf.c
517
if (strstarts(sym->name, ".klp.sym"))
tools/objtool/elf.c
518
sym->klp = 1;
tools/objtool/elf.c
520
if (!sym->klp && !is_sec_sym(sym) && strstr(sym->name, ".cold")) {
tools/objtool/elf.c
521
sym->cold = 1;
tools/objtool/elf.c
527
sym->type = STT_FUNC;
tools/objtool/elf.c
530
sym->pfunc = sym->cfunc = sym;
tools/objtool/elf.c
532
sym->demangled_name = demangle_name(sym);
tools/objtool/elf.c
533
if (!sym->demangled_name)
tools/objtool/elf.c
542
struct symbol *sym, *pfunc, *file = NULL;
tools/objtool/elf.c
569
elf->symbol_data = calloc(symbols_nr, sizeof(*sym));
tools/objtool/elf.c
578
sym = &elf->symbol_data[i];
tools/objtool/elf.c
580
sym->idx = i;
tools/objtool/elf.c
582
if (!gelf_getsymshndx(symtab->data, shndx_data, i, &sym->sym,
tools/objtool/elf.c
588
sym->name = elf_strptr(elf->elf, symtab->sh.sh_link,
tools/objtool/elf.c
589
sym->sym.st_name);
tools/objtool/elf.c
590
if (!sym->name) {
tools/objtool/elf.c
595
if ((sym->sym.st_shndx > SHN_UNDEF &&
tools/objtool/elf.c
596
sym->sym.st_shndx < SHN_LORESERVE) ||
tools/objtool/elf.c
597
(shndx_data && sym->sym.st_shndx == SHN_XINDEX)) {
tools/objtool/elf.c
598
if (sym->sym.st_shndx != SHN_XINDEX)
tools/objtool/elf.c
599
shndx = sym->sym.st_shndx;
tools/objtool/elf.c
601
sym->sec = find_section_by_index(elf, shndx);
tools/objtool/elf.c
602
if (!sym->sec) {
tools/objtool/elf.c
603
ERROR("couldn't find section for symbol %s", sym->name);
tools/objtool/elf.c
606
if (GELF_ST_TYPE(sym->sym.st_info) == STT_SECTION) {
tools/objtool/elf.c
607
sym->name = sym->sec->name;
tools/objtool/elf.c
608
sym->sec->sym = sym;
tools/objtool/elf.c
611
sym->sec = find_section_by_index(elf, 0);
tools/objtool/elf.c
613
if (elf_add_symbol(elf, sym))
tools/objtool/elf.c
616
if (sym->type == STT_FILE)
tools/objtool/elf.c
617
file = sym;
tools/objtool/elf.c
618
else if (sym->bind == STB_LOCAL)
tools/objtool/elf.c
619
sym->file = file;
tools/objtool/elf.c
629
sec_for_each_sym(sec, sym) {
tools/objtool/elf.c
633
if (!sym->cold)
tools/objtool/elf.c
636
coldstr = strstr(sym->name, ".cold");
tools/objtool/elf.c
638
ERROR("%s(): cold subfunction without \".cold\"?", sym->name);
tools/objtool/elf.c
642
pnamelen = coldstr - sym->name;
tools/objtool/elf.c
643
pname = strndup(sym->name, pnamelen);
tools/objtool/elf.c
645
ERROR("%s(): failed to allocate memory", sym->name);
tools/objtool/elf.c
649
pfunc = find_local_symbol_by_file_and_name(elf, sym->file, pname);
tools/objtool/elf.c
655
ERROR("%s(): can't find parent function", sym->name);
tools/objtool/elf.c
659
sym->pfunc = pfunc->alias;
tools/objtool/elf.c
660
pfunc->cfunc = sym;
tools/objtool/elf.c
661
pfunc->alias->cfunc = sym;
tools/objtool/elf.c
671
if (sym->sec == pfunc->sec &&
tools/objtool/elf.c
672
sym->offset >= pfunc->offset &&
tools/objtool/elf.c
673
sym->offset + sym->len == pfunc->offset + pfunc->len) {
tools/objtool/elf.c
674
pfunc->len -= sym->len;
tools/objtool/elf.c
685
struct symbol *sym;
tools/objtool/elf.c
696
sym = find_symbol_by_index(elf, sec->sh.sh_info);
tools/objtool/elf.c
697
if (!sym) {
tools/objtool/elf.c
703
sym->group_sec = sec;
tools/objtool/elf.c
713
static int elf_update_sym_relocs(struct elf *elf, struct symbol *sym)
tools/objtool/elf.c
717
for (reloc = sym->relocs; reloc; reloc = sym_next_reloc(reloc))
tools/objtool/elf.c
718
set_reloc_sym(elf, reloc, reloc->sym->idx);
tools/objtool/elf.c
732
struct section *symtab_shndx, struct symbol *sym)
tools/objtool/elf.c
737
int max_idx, idx = sym->idx;
tools/objtool/elf.c
739
bool is_special_shndx = sym->sym.st_shndx >= SHN_LORESERVE &&
tools/objtool/elf.c
740
sym->sym.st_shndx != SHN_XINDEX;
tools/objtool/elf.c
742
shndx = is_special_shndx ? sym->sym.st_shndx : sym->sec->idx;
tools/objtool/elf.c
771
int num = max(1U, sym->idx/3);
tools/objtool/elf.c
841
sym->sym.st_shndx = shndx;
tools/objtool/elf.c
845
sym->sym.st_shndx = SHN_XINDEX;
tools/objtool/elf.c
852
if (!gelf_update_symshndx(symtab_data, shndx_data, idx, &sym->sym, shndx)) {
tools/objtool/elf.c
867
struct symbol *old, *sym;
tools/objtool/elf.c
869
sym = calloc(1, sizeof(*sym));
tools/objtool/elf.c
870
if (!sym) {
tools/objtool/elf.c
875
sym->name = strdup(name);
tools/objtool/elf.c
876
if (!sym->name) {
tools/objtool/elf.c
882
sym->sym.st_name = elf_add_string(elf, NULL, sym->name);
tools/objtool/elf.c
883
if (sym->sym.st_name == -1)
tools/objtool/elf.c
888
sym->sec = sec;
tools/objtool/elf.c
890
sym->sec = find_section_by_index(elf, 0);
tools/objtool/elf.c
891
if (!sym->sec) {
tools/objtool/elf.c
897
sym->sym.st_info = GELF_ST_INFO(bind, type);
tools/objtool/elf.c
898
sym->sym.st_value = offset;
tools/objtool/elf.c
899
sym->sym.st_size = size;
tools/objtool/elf.c
948
sym->idx = new_idx;
tools/objtool/elf.c
949
if (sym->idx && elf_update_symbol(elf, symtab, symtab_shndx, sym))
tools/objtool/elf.c
960
if (elf_add_symbol(elf, sym))
tools/objtool/elf.c
963
return sym;
tools/objtool/elf.c
968
struct symbol *sym = calloc(1, sizeof(*sym));
tools/objtool/elf.c
970
sym = elf_create_symbol(elf, sec->name, sec, STB_LOCAL, STT_SECTION, 0, 0);
tools/objtool/elf.c
971
if (!sym)
tools/objtool/elf.c
974
sec->sym = sym;
tools/objtool/elf.c
976
return sym;
tools/objtool/elf.c
981
struct symbol *sym, s64 addend, unsigned int type)
tools/objtool/include/objtool/arch.h
94
bool arch_is_retpoline(struct symbol *sym);
tools/objtool/include/objtool/arch.h
95
bool arch_is_rethunk(struct symbol *sym);
tools/objtool/include/objtool/arch.h
96
bool arch_is_embedded_insn(struct symbol *sym);
tools/objtool/include/objtool/check.h
104
struct symbol *sym = insn->sym;
tools/objtool/include/objtool/check.h
106
if (sym && sym->type != STT_FUNC)
tools/objtool/include/objtool/check.h
107
sym = NULL;
tools/objtool/include/objtool/check.h
109
return sym;
tools/objtool/include/objtool/check.h
153
#define sym_for_each_insn(file, sym, insn) \
tools/objtool/include/objtool/check.h
154
for (insn = find_insn(file, sym->sec, sym->offset); \
tools/objtool/include/objtool/check.h
155
insn && insn->offset < sym->offset + sym->len; \
tools/objtool/include/objtool/check.h
97
struct symbol *sym;
tools/objtool/include/objtool/elf.h
102
struct symbol *sym;
tools/objtool/include/objtool/elf.h
159
unsigned long offset, struct symbol *sym,
tools/objtool/include/objtool/elf.h
164
struct symbol *sym, s64 addend, unsigned int type);
tools/objtool/include/objtool/elf.h
175
struct symbol *sym,
tools/objtool/include/objtool/elf.h
226
static inline bool is_undef_sym(struct symbol *sym)
tools/objtool/include/objtool/elf.h
228
return !sym->sec->idx;
tools/objtool/include/objtool/elf.h
231
static inline bool is_null_sym(struct symbol *sym)
tools/objtool/include/objtool/elf.h
233
return !sym->idx;
tools/objtool/include/objtool/elf.h
236
static inline bool is_sec_sym(struct symbol *sym)
tools/objtool/include/objtool/elf.h
238
return sym->type == STT_SECTION;
tools/objtool/include/objtool/elf.h
241
static inline bool is_object_sym(struct symbol *sym)
tools/objtool/include/objtool/elf.h
243
return sym->type == STT_OBJECT;
tools/objtool/include/objtool/elf.h
246
static inline bool is_func_sym(struct symbol *sym)
tools/objtool/include/objtool/elf.h
248
return sym->type == STT_FUNC;
tools/objtool/include/objtool/elf.h
251
static inline bool is_file_sym(struct symbol *sym)
tools/objtool/include/objtool/elf.h
253
return sym->type == STT_FILE;
tools/objtool/include/objtool/elf.h
256
static inline bool is_notype_sym(struct symbol *sym)
tools/objtool/include/objtool/elf.h
258
return sym->type == STT_NOTYPE;
tools/objtool/include/objtool/elf.h
261
static inline bool is_global_sym(struct symbol *sym)
tools/objtool/include/objtool/elf.h
263
return sym->bind == STB_GLOBAL;
tools/objtool/include/objtool/elf.h
266
static inline bool is_weak_sym(struct symbol *sym)
tools/objtool/include/objtool/elf.h
268
return sym->bind == STB_WEAK;
tools/objtool/include/objtool/elf.h
271
static inline bool is_local_sym(struct symbol *sym)
tools/objtool/include/objtool/elf.h
273
return sym->bind == STB_LOCAL;
tools/objtool/include/objtool/elf.h
276
static inline bool is_prefix_func(struct symbol *sym)
tools/objtool/include/objtool/elf.h
278
return sym->prefix;
tools/objtool/include/objtool/elf.h
397
static inline void set_reloc_sym(struct elf *elf, struct reloc *reloc, unsigned int sym)
tools/objtool/include/objtool/elf.h
400
ELF32_R_INFO(sym, reloc_type(reloc)) :
tools/objtool/include/objtool/elf.h
401
ELF64_R_INFO(sym, reloc_type(reloc));
tools/objtool/include/objtool/elf.h
455
#define sec_for_each_sym(sec, sym) \
tools/objtool/include/objtool/elf.h
456
list_for_each_entry(sym, &sec->symbol_list, list)
tools/objtool/include/objtool/elf.h
458
#define sec_prev_sym(sym) \
tools/objtool/include/objtool/elf.h
459
sym->sec && sym->list.prev != &sym->sec->symbol_list ? \
tools/objtool/include/objtool/elf.h
460
list_prev_entry(sym, list) : NULL
tools/objtool/include/objtool/elf.h
462
#define for_each_sym(elf, sym) \
tools/objtool/include/objtool/elf.h
463
list_for_each_entry(sym, &elf->symbols, global_list)
tools/objtool/include/objtool/elf.h
465
#define for_each_sym_continue(elf, sym) \
tools/objtool/include/objtool/elf.h
466
list_for_each_entry_continue(sym, &elf->symbols, global_list)
tools/objtool/include/objtool/elf.h
481
#define sym_for_each_reloc(elf, sym, reloc) \
tools/objtool/include/objtool/elf.h
482
for (reloc = find_reloc_by_dest_range(elf, sym->sec, \
tools/objtool/include/objtool/elf.h
483
sym->offset, sym->len); \
tools/objtool/include/objtool/elf.h
484
reloc && reloc_offset(reloc) < sym->offset + sym->len; \
tools/objtool/include/objtool/elf.h
485
reloc = rsec_next_reloc(sym->sec->rsec, reloc))
tools/objtool/include/objtool/elf.h
50
struct symbol *sym;
tools/objtool/include/objtool/elf.h
66
GElf_Sym sym;
tools/objtool/include/objtool/klp.h
28
void *sym;
tools/objtool/include/objtool/warn.h
152
if (unlikely(insn->sym && insn->sym->pfunc && \
tools/objtool/include/objtool/warn.h
153
insn->sym->pfunc->debug_checksum)) { \
tools/objtool/include/objtool/warn.h
23
struct symbol *sym = NULL;
tools/objtool/include/objtool/warn.h
28
sym = find_func_containing(sec, offset);
tools/objtool/include/objtool/warn.h
29
if (!sym)
tools/objtool/include/objtool/warn.h
30
sym = find_symbol_containing(sec, offset);
tools/objtool/include/objtool/warn.h
32
if (sym) {
tools/objtool/include/objtool/warn.h
33
str = malloc(strlen(sym->name) + strlen(sec->name) + 40);
tools/objtool/include/objtool/warn.h
34
len = sprintf(str, "%s+0x%lx", sym->name, offset - sym->offset);
tools/objtool/include/objtool/warn.h
80
if (!_insn->sym || !_insn->sym->warned) { \
tools/objtool/include/objtool/warn.h
85
if (_insn->sym) \
tools/objtool/include/objtool/warn.h
86
_insn->sym->warned = 1; \
tools/objtool/klp-diff.c
1028
if (!sec->sym && !elf_create_section_symbol(e->out, sec))
tools/objtool/klp-diff.c
1033
sec->sym, offset, R_ABS64))
tools/objtool/klp-diff.c
1038
klp_reloc_off + offsetof(struct klp_reloc, sym),
tools/objtool/klp-diff.c
1060
struct symbol *patched_sym = patched_reloc->sym;
tools/objtool/klp-diff.c
109
char *sym, *mod, *type;
tools/objtool/klp-diff.c
112
sym = strchr(line, '\t');
tools/objtool/klp-diff.c
113
if (!sym) {
tools/objtool/klp-diff.c
1164
if (patched_reloc->sym->sec &&
tools/objtool/klp-diff.c
1165
!strcmp(patched_reloc->sym->sec->name, ".altinstr_aux"))
tools/objtool/klp-diff.c
1171
patched_reloc->sym->name);
tools/objtool/klp-diff.c
118
*sym++ = '\0';
tools/objtool/klp-diff.c
120
mod = strchr(sym, '\t');
tools/objtool/klp-diff.c
1265
next_reloc->sym->sec != reloc->sym->sec)
tools/objtool/klp-diff.c
1273
size = sec_size(reloc->sym->sec) - offset;
tools/objtool/klp-diff.c
1275
if (create_fake_symbol(elf, reloc->sym->sec, offset, size))
tools/objtool/klp-diff.c
1314
static bool should_keep_special_sym(struct elf *elf, struct symbol *sym)
tools/objtool/klp-diff.c
1318
if (is_sec_sym(sym) || !sym->sec->rsec)
tools/objtool/klp-diff.c
1321
sym_for_each_reloc(elf, sym, reloc) {
tools/objtool/klp-diff.c
1325
if (is_func_sym(reloc->sym) && reloc->sym->included)
tools/objtool/klp-diff.c
1352
static int validate_special_section_klp_reloc(struct elfs *e, struct symbol *sym)
tools/objtool/klp-diff.c
1354
bool static_branch = !strcmp(sym->sec->name, "__jump_table");
tools/objtool/klp-diff.c
1355
bool static_call = !strcmp(sym->sec->name, ".static_call_sites");
tools/objtool/klp-diff.c
136
if (*sym == '\0' || *mod == '\0') {
tools/objtool/klp-diff.c
1364
sym_for_each_reloc(e->patched, sym, reloc) {
tools/objtool/klp-diff.c
1372
if (reloc->sym->type != STT_OBJECT) {
tools/objtool/klp-diff.c
1375
if (reloc->sym->type == STT_FUNC && !code_sym) {
tools/objtool/klp-diff.c
1376
code_sym = reloc->sym->name;
tools/objtool/klp-diff.c
1386
export = find_export(reloc->sym);
tools/objtool/klp-diff.c
1403
if (strstarts(reloc->sym->name, "__tracepoint_")) {
tools/objtool/klp-diff.c
1405
code_sym, reloc->sym->name + 13);
tools/objtool/klp-diff.c
1410
if (strstr(reloc->sym->name, "__UNIQUE_ID_ddebug_")) {
tools/objtool/klp-diff.c
1418
code_sym, code_offset, reloc->sym->name);
tools/objtool/klp-diff.c
1423
if (strstarts(reloc->sym->name, "__SCK__tp_func_")) {
tools/objtool/klp-diff.c
1429
code_sym, code_offset, reloc->sym->name);
tools/objtool/klp-diff.c
1491
struct symbol *funcs_sym, *str_sym, *sym;
tools/objtool/klp-diff.c
153
export->sym = strdup(sym);
tools/objtool/klp-diff.c
154
if (!export->sym) {
tools/objtool/klp-diff.c
1549
for_each_sym(e->out, sym) {
tools/objtool/klp-diff.c
1554
if (!is_func_sym(sym) || sym->cold || !sym->clone || !sym->clone->changed)
tools/objtool/klp-diff.c
1563
addend = elf_add_string(e->out, str_sec, sym->clone->twin->name);
tools/objtool/klp-diff.c
1575
sym, 0, R_ABS64))
tools/objtool/klp-diff.c
1580
sympos = find_sympos(e->orig, sym->clone->twin);
tools/objtool/klp-diff.c
159
hash_add(exports, &export->hash, str_hash(sym));
tools/objtool/klp-diff.c
1602
sym = find_symbol_by_name(e->out, sym_name);
tools/objtool/klp-diff.c
1603
if (sym) {
tools/objtool/klp-diff.c
1606
reloc = find_reloc_by_dest(e->out, sym->sec, sym->offset);
tools/objtool/klp-diff.c
1611
reloc->sym, reloc_addend(reloc), R_ABS64))
tools/objtool/klp-diff.c
1618
sym = find_symbol_by_name(e->out, sym_name);
tools/objtool/klp-diff.c
1619
if (sym) {
tools/objtool/klp-diff.c
1622
reloc = find_reloc_by_dest(e->out, sym->sec, sym->offset);
tools/objtool/klp-diff.c
1627
reloc->sym, reloc_addend(reloc), R_ABS64))
tools/objtool/klp-diff.c
1634
sym = find_symbol_by_name(e->out, sym_name);
tools/objtool/klp-diff.c
1635
if (sym) {
tools/objtool/klp-diff.c
1638
reloc = find_reloc_by_dest(e->out, sym->sec, sym->offset);
tools/objtool/klp-diff.c
1643
reloc->sym, reloc_addend(reloc), R_ABS64))
tools/objtool/klp-diff.c
1650
sym = find_symbol_by_name(e->out, sym_name);
tools/objtool/klp-diff.c
1651
if (sym) {
tools/objtool/klp-diff.c
1654
reloc = find_reloc_by_dest(e->out, sym->sec, sym->offset);
tools/objtool/klp-diff.c
1659
reloc->sym, reloc_addend(reloc), R_ABS64))
tools/objtool/klp-diff.c
192
struct symbol *sym;
tools/objtool/klp-diff.c
202
sym = reloc->sym;
tools/objtool/klp-diff.c
204
if (is_sec_sym(sym)) {
tools/objtool/klp-diff.c
205
ERROR("not sure how to handle section %s", sym->name);
tools/objtool/klp-diff.c
209
if (is_func_sym(sym))
tools/objtool/klp-diff.c
210
sym->csum.checksum = sym_checksum->checksum;
tools/objtool/klp-diff.c
218
struct symbol *sym;
tools/objtool/klp-diff.c
220
for_each_sym(elf, sym) {
tools/objtool/klp-diff.c
221
if (is_file_sym(sym))
tools/objtool/klp-diff.c
222
return sym;
tools/objtool/klp-diff.c
228
static struct symbol *next_file_symbol(struct elf *elf, struct symbol *sym)
tools/objtool/klp-diff.c
230
for_each_sym_continue(elf, sym) {
tools/objtool/klp-diff.c
231
if (is_file_sym(sym))
tools/objtool/klp-diff.c
232
return sym;
tools/objtool/klp-diff.c
242
static bool is_uncorrelated_static_local(struct symbol *sym)
tools/objtool/klp-diff.c
256
if (!is_object_sym(sym) || !is_local_sym(sym))
tools/objtool/klp-diff.c
259
if (!strcmp(sym->sec->name, ".data.once"))
tools/objtool/klp-diff.c
263
if (strstarts(sym->name, vars[i]))
tools/objtool/klp-diff.c
273
static bool is_clang_tmp_label(struct symbol *sym)
tools/objtool/klp-diff.c
275
return sym->type == STT_NOTYPE &&
tools/objtool/klp-diff.c
276
is_text_sec(sym->sec) &&
tools/objtool/klp-diff.c
277
strstarts(sym->name, ".Ltmp") &&
tools/objtool/klp-diff.c
278
isdigit(sym->name[5]);
tools/objtool/klp-diff.c
33
char *mod, *sym;
tools/objtool/klp-diff.c
345
static bool dont_correlate(struct symbol *sym)
tools/objtool/klp-diff.c
347
return is_file_sym(sym) ||
tools/objtool/klp-diff.c
348
is_null_sym(sym) ||
tools/objtool/klp-diff.c
349
is_sec_sym(sym) ||
tools/objtool/klp-diff.c
350
is_prefix_func(sym) ||
tools/objtool/klp-diff.c
351
is_uncorrelated_static_local(sym) ||
tools/objtool/klp-diff.c
352
is_clang_tmp_label(sym) ||
tools/objtool/klp-diff.c
353
is_string_sec(sym->sec) ||
tools/objtool/klp-diff.c
354
is_special_section(sym->sec) ||
tools/objtool/klp-diff.c
355
is_special_section_aux(sym->sec) ||
tools/objtool/klp-diff.c
356
strstarts(sym->name, "__initcall__");
tools/objtool/klp-diff.c
474
static unsigned long find_sympos(struct elf *elf, struct symbol *sym)
tools/objtool/klp-diff.c
481
if (sym->bind != STB_LOCAL)
tools/objtool/klp-diff.c
484
if (vmlinux && sym->type == STT_FUNC) {
tools/objtool/klp-diff.c
494
!strcmp(s->name, sym->name)) {
tools/objtool/klp-diff.c
496
if (s == sym)
tools/objtool/klp-diff.c
504
!strcmp(s->name, sym->name)) {
tools/objtool/klp-diff.c
506
if (s == sym)
tools/objtool/klp-diff.c
514
if (!strcmp(s->name, sym->name)) {
tools/objtool/klp-diff.c
516
if (s == sym)
tools/objtool/klp-diff.c
525
ERROR("can't find sympos for %s", sym->name);
tools/objtool/klp-diff.c
597
static const char *sym_type(struct symbol *sym)
tools/objtool/klp-diff.c
599
switch (sym->type) {
tools/objtool/klp-diff.c
609
static const char *sym_bind(struct symbol *sym)
tools/objtool/klp-diff.c
611
switch (sym->bind) {
tools/objtool/klp-diff.c
757
return section_reference_needed(reloc->sym->sec) == is_sec_sym(reloc->sym);
tools/objtool/klp-diff.c
760
static struct export *find_export(struct symbol *sym)
tools/objtool/klp-diff.c
764
hash_for_each_possible(exports, export, hash, str_hash(sym->name)) {
tools/objtool/klp-diff.c
765
if (!strcmp(export->sym, sym->name))
tools/objtool/klp-diff.c
829
struct symbol *patched_sym = patched_reloc->sym;
tools/objtool/klp-diff.c
870
struct symbol *sym = reloc->sym;
tools/objtool/klp-diff.c
871
struct section *sec = sym->sec;
tools/objtool/klp-diff.c
873
if (!sec->sym && !elf_create_section_symbol(elf, sec))
tools/objtool/klp-diff.c
876
reloc->sym = sec->sym;
tools/objtool/klp-diff.c
877
set_reloc_sym(elf, reloc, sym->idx);
tools/objtool/klp-diff.c
878
set_reloc_addend(elf, reloc, sym->offset + reloc_addend(reloc));
tools/objtool/klp-diff.c
884
struct symbol *sym = reloc->sym;
tools/objtool/klp-diff.c
885
struct section *sec = sym->sec;
tools/objtool/klp-diff.c
888
sym = find_symbol_by_offset(sec, 0);
tools/objtool/klp-diff.c
889
if (sym && sym->len == sec_size(sec))
tools/objtool/klp-diff.c
893
sym = find_symbol_containing(sec, arch_adjusted_addend(reloc));
tools/objtool/klp-diff.c
894
if (!sym) {
tools/objtool/klp-diff.c
903
reloc->sym = sym;
tools/objtool/klp-diff.c
904
set_reloc_sym(elf, reloc, sym->idx);
tools/objtool/klp-diff.c
905
set_reloc_addend(elf, reloc, reloc_addend(reloc) - sym->offset);
tools/objtool/klp-diff.c
918
if (section_reference_needed(reloc->sym->sec))
tools/objtool/klp-diff.c
931
struct symbol *patched_sym = patched_reloc->sym;
tools/objtool/klp-diff.c
935
struct symbol *sym, *klp_sym;
tools/objtool/klp-diff.c
954
sym = patched_sym->clone;
tools/objtool/klp-diff.c
955
if (!sym) {
tools/objtool/klp-diff.c
957
sym = elf_create_symbol(e->out, patched_sym->name, NULL,
tools/objtool/klp-diff.c
959
if (!sym)
tools/objtool/klp-diff.c
962
patched_sym->clone = sym;
tools/objtool/klp-diff.c
963
sym->clone = patched_sym;
tools/objtool/klp-diff.c
966
if (!elf_create_reloc(e->out, sec, offset, sym, addend, reloc_type(patched_reloc)))
tools/objtool/klp-diff.c
975
sym_orig_name = export->sym;
tools/objtool/klp-post-link.c
114
klp_sym->sym.st_shndx = SHN_LIVEPATCH;
tools/objtool/klp-post-link.c
115
if (!gelf_update_sym(symtab->data, klp_sym->idx, &klp_sym->sym)) {
tools/objtool/klp-post-link.c
125
sym = reloc->sym;
tools/objtool/klp-post-link.c
126
sym->sym.st_shndx = SHN_LIVEPATCH;
tools/objtool/klp-post-link.c
128
if (!gelf_update_sym(symtab->data, sym->idx, &sym->sym)) {
tools/objtool/klp-post-link.c
45
struct symbol *sym, *klp_sym;
tools/objtool/klp-post-link.c
62
sec = reloc->sym->sec;
tools/objtool/klp-post-link.c
67
klp_reloc_off + offsetof(struct klp_reloc, sym));
tools/objtool/klp-post-link.c
73
klp_sym = reloc->sym;
tools/objtool/orc_dump.c
113
if (!gelf_getsym(symtab, GELF_R_SYM(rela.r_info), &sym)) {
tools/objtool/orc_dump.c
118
if (GELF_ST_TYPE(sym.st_info) == STT_SECTION) {
tools/objtool/orc_dump.c
119
scn = elf_getscn(elf, sym.st_shndx);
tools/objtool/orc_dump.c
136
name = elf_strptr(elf, strtab_idx, sym.st_name);
tools/objtool/orc_dump.c
24
GElf_Sym sym;
tools/objtool/special.c
63
*sec = reloc->sym->sec;
tools/objtool/special.c
64
*off = reloc->sym->offset + reloc_addend(reloc);
tools/objtool/trace.c
172
orig_insn->offset, orig_insn->sym->name,
tools/objtool/trace.c
173
orig_insn->offset - orig_insn->sym->offset);
tools/objtool/trace.c
188
alt_insn->offset, alt_insn->sym->name,
tools/objtool/trace.c
189
alt_insn->offset - alt_insn->sym->offset);
tools/perf/arch/powerpc/util/skip-callchain-idx.c
240
dso__long_name(dso), al.sym->name, ip, rc);
tools/perf/arch/powerpc/util/sym-handling.c
105
lep_offset = PPC64_LOCAL_ENTRY_OFFSET(sym->arch_sym);
tools/perf/arch/powerpc/util/sym-handling.c
123
struct symbol *sym = NULL;
tools/perf/arch/powerpc/util/sym-handling.c
133
map__for_each_symbol(map, sym, tmp) {
tools/perf/arch/powerpc/util/sym-handling.c
134
if (map__unmap_ip(map, sym->start) == tev->point.address) {
tools/perf/arch/powerpc/util/sym-handling.c
135
arch__fix_tev_from_maps(pev, tev, map, sym);
tools/perf/arch/powerpc/util/sym-handling.c
16
char *sym = syma->name;
tools/perf/arch/powerpc/util/sym-handling.c
20
if (*sym == '.')
tools/perf/arch/powerpc/util/sym-handling.c
21
sym++;
tools/perf/arch/powerpc/util/sym-handling.c
25
if (strlen(sym) >= 3 && !strncmp(sym, "SyS", 3))
tools/perf/arch/powerpc/util/sym-handling.c
27
if (strlen(sym) >= 10 && !strncmp(sym, "compat_SyS", 10))
tools/perf/arch/powerpc/util/sym-handling.c
70
void arch__sym_update(struct symbol *s, GElf_Sym *sym)
tools/perf/arch/powerpc/util/sym-handling.c
72
s->arch_sym = sym->st_other;
tools/perf/arch/powerpc/util/sym-handling.c
80
struct symbol *sym)
tools/perf/arch/powerpc/util/sym-handling.c
94
if (pev->point.offset || !map || !sym)
tools/perf/builtin-annotate.c
100
struct symbol *sym = start->ms.sym;
tools/perf/builtin-annotate.c
101
struct annotation *notes = sym ? symbol__annotation(sym) : NULL;
tools/perf/builtin-annotate.c
129
entry->sym = sym;
tools/perf/builtin-annotate.c
217
if (a.sym == NULL) {
tools/perf/builtin-annotate.c
249
(al->sym == NULL ||
tools/perf/builtin-annotate.c
250
strcmp(ann->sym_hist_filter, al->sym->name) != 0)) {
tools/perf/builtin-annotate.c
256
if (al->sym != NULL) {
tools/perf/builtin-annotate.c
259
rb_erase_cached(&al->sym->rb_node, dso__symbols(dso));
tools/perf/builtin-annotate.c
260
symbol__delete(al->sym);
tools/perf/builtin-annotate.c
425
if (he->ms.sym == NULL || dso__annotate_warned(map__dso(he->ms.map)))
tools/perf/builtin-annotate.c
429
(strcmp(he->ms.sym->name, ann->sym_hist_filter) != 0))
tools/perf/builtin-annotate.c
443
notes = symbol__annotation(he->ms.sym);
tools/perf/builtin-c2c.c
2037
hpp_list->sym = 1;
tools/perf/builtin-c2c.c
2596
struct symbol *sym = NULL;
tools/perf/builtin-c2c.c
2611
sym = he->ms.sym;
tools/perf/builtin-c2c.c
2612
if (sym == NULL) {
tools/perf/builtin-c2c.c
2617
src = symbol__hists(sym, 0);
tools/perf/builtin-c2c.c
299
return !list || list->sym;
tools/perf/builtin-diff.c
1360
start_line = map__srcline(he->ms.map, bi->sym->start + bi->start,
tools/perf/builtin-diff.c
1361
he->ms.sym);
tools/perf/builtin-diff.c
1363
end_line = map__srcline(he->ms.map, bi->sym->start + bi->end,
tools/perf/builtin-diff.c
1364
he->ms.sym);
tools/perf/builtin-inject.c
444
else if (node->ms.sym && node->ms.sym->inlined)
tools/perf/builtin-kmem.c
1016
struct symbol *sym = NULL;
tools/perf/builtin-kmem.c
1024
sym = machine__find_kernel_symbol(machine, addr, &map);
tools/perf/builtin-kmem.c
1028
if (sym != NULL)
tools/perf/builtin-kmem.c
1029
snprintf(buf, sizeof(buf), "%s+%" PRIx64 "", sym->name,
tools/perf/builtin-kmem.c
1030
addr - map__unmap_ip(map, sym->start));
tools/perf/builtin-kmem.c
1082
struct symbol *sym;
tools/perf/builtin-kmem.c
1088
sym = machine__find_kernel_symbol(machine, data->callsite, &map);
tools/perf/builtin-kmem.c
1089
if (sym)
tools/perf/builtin-kmem.c
1090
caller = sym->name;
tools/perf/builtin-kmem.c
1124
struct symbol *sym;
tools/perf/builtin-kmem.c
1130
sym = machine__find_kernel_symbol(machine, data->callsite, &map);
tools/perf/builtin-kmem.c
1131
if (sym)
tools/perf/builtin-kmem.c
1132
caller = sym->name;
tools/perf/builtin-kmem.c
347
struct symbol *sym;
tools/perf/builtin-kmem.c
369
map__for_each_symbol(kernel_map, sym, node) {
tools/perf/builtin-kmem.c
370
if (regexec(&alloc_func_regex, sym->name, 0, NULL, 0))
tools/perf/builtin-kmem.c
378
pr_debug("alloc func: %s\n", sym->name);
tools/perf/builtin-kmem.c
379
func[nr_alloc_funcs].start = sym->start;
tools/perf/builtin-kmem.c
380
func[nr_alloc_funcs].end = sym->end;
tools/perf/builtin-kmem.c
381
func[nr_alloc_funcs].name = sym->name;
tools/perf/builtin-kwork.c
1106
struct tep_print_flag_sym *sym = NULL;
tools/perf/builtin-kwork.c
1114
for (sym = args->next->symbol.symbols; sym != NULL; sym = sym->next) {
tools/perf/builtin-kwork.c
1115
if ((eval_flag(sym->value) == (unsigned long long)num) &&
tools/perf/builtin-kwork.c
1116
(strlen(sym->str) != 0)) {
tools/perf/builtin-kwork.c
1125
name = strdup(sym->str);
tools/perf/builtin-kwork.c
694
struct symbol *sym;
tools/perf/builtin-kwork.c
724
sym = node->ms.sym;
tools/perf/builtin-kwork.c
725
if (sym) {
tools/perf/builtin-kwork.c
726
if (!strcmp(sym->name, "__softirqentry_text_start") ||
tools/perf/builtin-kwork.c
727
!strcmp(sym->name, "__do_softirq"))
tools/perf/builtin-kwork.c
728
sym->ignore = 1;
tools/perf/builtin-lock.c
1010
addrs[filters.nr_addrs++] = map__unmap_ip(kmap, sym->start);
tools/perf/builtin-lock.c
1022
sym = machine__find_kernel_symbol(machine, key, &kmap);
tools/perf/builtin-lock.c
1023
if (sym)
tools/perf/builtin-lock.c
1024
name = sym->name;
tools/perf/builtin-lock.c
1661
struct symbol *sym;
tools/perf/builtin-lock.c
1670
sym = machine__find_kernel_symbol(con->machine, ip, &kmap);
tools/perf/builtin-lock.c
1671
get_symbol_name_offset(kmap, sym, ip, buf, sizeof(buf));
tools/perf/builtin-lock.c
1714
struct symbol *sym;
tools/perf/builtin-lock.c
1723
sym = machine__find_kernel_symbol(con->machine, ip, &kmap);
tools/perf/builtin-lock.c
1724
get_symbol_name_offset(kmap, sym, ip, buf, sizeof(buf));
tools/perf/builtin-lock.c
2365
char *sym = strdup(name);
tools/perf/builtin-lock.c
2367
if (sym == NULL) {
tools/perf/builtin-lock.c
2375
free(sym);
tools/perf/builtin-lock.c
2379
tmp[filters.nr_syms++] = sym;
tools/perf/builtin-lock.c
2387
char *sym = strdup(name);
tools/perf/builtin-lock.c
2389
if (sym == NULL) {
tools/perf/builtin-lock.c
2400
tmp[filters.nr_slabs++] = sym;
tools/perf/builtin-lock.c
2559
delays[nr_delays].sym = strdup(at + 1);
tools/perf/builtin-lock.c
2560
if (delays[nr_delays].sym == NULL) {
tools/perf/builtin-lock.c
827
static int get_symbol_name_offset(struct map *map, struct symbol *sym, u64 ip,
tools/perf/builtin-lock.c
832
if (map == NULL || sym == NULL) {
tools/perf/builtin-lock.c
837
offset = map__map_ip(map, ip) - sym->start;
tools/perf/builtin-lock.c
840
return scnprintf(buf, size, "%s+%#lx", sym->name, offset);
tools/perf/builtin-lock.c
842
return strlcpy(buf, sym->name, size);
tools/perf/builtin-lock.c
850
struct symbol *sym;
tools/perf/builtin-lock.c
886
sym = node->ms.sym;
tools/perf/builtin-lock.c
887
if (sym && !machine__is_lock_function(machine, node->ip)) {
tools/perf/builtin-lock.c
888
get_symbol_name_offset(node->ms.map, sym, node->ip,
tools/perf/builtin-lock.c
934
if (node->ms.sym && machine__is_lock_function(machine, node->ip))
tools/perf/builtin-lock.c
979
struct symbol *sym;
tools/perf/builtin-lock.c
994
sym = machine__find_kernel_symbol_by_name(machine,
tools/perf/builtin-lock.c
997
if (sym == NULL) {
tools/perf/builtin-mem.c
200
if (al.filtered || (mem->hide_unresolved && al.sym == NULL))
tools/perf/builtin-mem.c
249
al.sym ? al.sym->name : "???");
tools/perf/builtin-report.c
304
if (symbol_conf.hide_unresolved && al.sym == NULL)
tools/perf/builtin-report.c
759
struct symbol *sym = he->ms.sym;
tools/perf/builtin-report.c
761
if (rep->symbol_ipc && sym && !sym->annotate2) {
tools/perf/builtin-sched.c
2363
struct symbol *sym;
tools/perf/builtin-sched.c
2369
sym = node->ms.sym;
tools/perf/builtin-sched.c
2370
if (sym) {
tools/perf/builtin-sched.c
2371
if (!strcmp(sym->name, "schedule") ||
tools/perf/builtin-sched.c
2372
!strcmp(sym->name, "__schedule") ||
tools/perf/builtin-sched.c
2373
!strcmp(sym->name, "preempt_schedule"))
tools/perf/builtin-sched.c
2374
sym->ignore = 1;
tools/perf/builtin-sched.c
3038
if (chain->ms.sym && chain->ms.sym->ignore)
tools/perf/builtin-script.c
1039
printed += symbol__fprintf_symname_offs(alf.sym, &alf, fp);
tools/perf/builtin-script.c
1043
printed += symbol__fprintf_symname_offs(alt.sym, &alt, fp);
tools/perf/builtin-script.c
1324
al.sym = NULL;
tools/perf/builtin-script.c
1326
al.sym = map__find_symbol(al.map, al.addr);
tools/perf/builtin-script.c
1328
if (!al.sym)
tools/perf/builtin-script.c
1331
if (al.addr < al.sym->end)
tools/perf/builtin-script.c
1332
off = al.addr - al.sym->start;
tools/perf/builtin-script.c
1334
off = al.addr - map__start(al.map) - al.sym->start;
tools/perf/builtin-script.c
1335
printed += fprintf(fp, "\t%s", al.sym->name);
tools/perf/builtin-script.c
1342
*lastsym = al.sym;
tools/perf/builtin-script.c
1528
printed += symbol__fprintf_symname_offs(al.sym, &al, fp);
tools/perf/builtin-script.c
1530
printed += symbol__fprintf_symname(al.sym, fp);
tools/perf/builtin-script.c
1553
if (addr_al->sym)
tools/perf/builtin-script.c
1554
name = addr_al->sym->name;
tools/perf/builtin-script.c
1561
if (al->sym)
tools/perf/builtin-script.c
1562
name = al->sym->name;
tools/perf/builtin-timechart.c
556
fprintf(f, "..... %016" PRIx64 " %s\n", ip, tal.sym->name);
tools/perf/builtin-top.c
115
struct symbol *sym;
tools/perf/builtin-top.c
121
if (!he || !he->ms.sym)
tools/perf/builtin-top.c
126
sym = he->ms.sym;
tools/perf/builtin-top.c
135
"path\n", sym->name);
tools/perf/builtin-top.c
140
notes = symbol__annotation(sym);
tools/perf/builtin-top.c
143
if (!symbol__hists(sym, top->evlist->core.nr_entries)) {
tools/perf/builtin-top.c
146
sym->name);
tools/perf/builtin-top.c
157
pr_err("Couldn't annotate %s: %s\n", sym->name, msg);
tools/perf/builtin-top.c
166
struct symbol *sym = he->ms.sym;
tools/perf/builtin-top.c
167
symbol__annotate_zero_histograms(sym);
tools/perf/builtin-top.c
170
static void ui__warn_map_erange(struct map *map, struct symbol *sym, u64 ip)
tools/perf/builtin-top.c
187
map__start(map), map__end(map), sym->start, sym->end,
tools/perf/builtin-top.c
188
sym->binding == STB_GLOBAL ? 'g' :
tools/perf/builtin-top.c
189
sym->binding == STB_LOCAL ? 'l' : 'w', sym->name,
tools/perf/builtin-top.c
205
struct symbol *sym = he->ms.sym;
tools/perf/builtin-top.c
208
if (sym == NULL || (use_browser == 0 &&
tools/perf/builtin-top.c
210
top->sym_filter_entry->ms.sym != sym)))
tools/perf/builtin-top.c
213
notes = symbol__annotation(sym);
tools/perf/builtin-top.c
230
ui__warn_map_erange(he->ms.map, sym, ip);
tools/perf/builtin-top.c
233
sym->name);
tools/perf/builtin-top.c
254
symbol = he->ms.sym;
tools/perf/builtin-top.c
419
if (n->ms.sym && !strcmp(buf, n->ms.sym->name)) {
tools/perf/builtin-top.c
441
struct symbol *sym = top->sym_filter_entry->ms.sym;
tools/perf/builtin-top.c
442
name = sym->name;
tools/perf/builtin-top.c
736
if (perf_hpp_list.sym && single)
tools/perf/builtin-top.c
800
if (al.sym == NULL && al.map != NULL) {
tools/perf/builtin-top.c
832
if (al.sym == NULL || !al.sym->idle) {
tools/perf/builtin-trace.c
3353
if ((verbose > 0 || print_sym) && al->sym)
tools/perf/builtin-trace.c
3354
fprintf(f, "%s+0x%" PRIx64, al->sym->name,
tools/perf/builtin-trace.c
3355
al->addr - al->sym->start);
tools/perf/dlfilters/dlfilter-test-api-v0.c
237
CHECK(al->sym && !strcmp("foo", al->sym));
tools/perf/dlfilters/dlfilter-test-api-v0.c
251
CHECK(addr_al->sym && !strcmp("bar", addr_al->sym));
tools/perf/dlfilters/dlfilter-test-api-v0.c
270
CHECK(address_al.sym && al->sym);
tools/perf/dlfilters/dlfilter-test-api-v0.c
271
CHECK(!strcmp(address_al.sym, al->sym));
tools/perf/dlfilters/dlfilter-test-api-v0.c
78
const char *sym;
tools/perf/dlfilters/dlfilter-test-api-v2.c
252
CHECK(al->sym && !strcmp("foo", al->sym));
tools/perf/dlfilters/dlfilter-test-api-v2.c
266
CHECK(addr_al->sym && !strcmp("bar", addr_al->sym));
tools/perf/dlfilters/dlfilter-test-api-v2.c
285
CHECK(address_al.sym && al->sym);
tools/perf/dlfilters/dlfilter-test-api-v2.c
286
CHECK(!strcmp(address_al.sym, al->sym));
tools/perf/dlfilters/dlfilter-test-api-v2.c
86
const char *sym;
tools/perf/include/perf/perf_dlfilter.h
81
const char *sym;
tools/perf/jvmti/jvmti_agent.c
359
jvmti_write_code(void *agent, char const *sym,
tools/perf/jvmti/jvmti_agent.c
377
sym_len = strlen(sym) + 1;
tools/perf/jvmti/jvmti_agent.c
404
fwrite_unlocked(sym, sym_len, 1, fp);
tools/perf/tests/dlfilter-test.c
265
struct symbol *sym;
tools/perf/tests/dlfilter-test.c
271
sym = map__find_symbol_by_name(map, "foo");
tools/perf/tests/dlfilter-test.c
272
if (sym)
tools/perf/tests/dlfilter-test.c
273
td->foo = sym->start;
tools/perf/tests/dlfilter-test.c
275
sym = map__find_symbol_by_name(map, "bar");
tools/perf/tests/dlfilter-test.c
276
if (sym)
tools/perf/tests/dlfilter-test.c
277
td->bar = sym->start;
tools/perf/tests/dwarf-unwind.c
59
char *symbol = entry->ms.sym ? entry->ms.sym->name : NULL;
tools/perf/tests/hists_common.c
139
struct symbol *sym;
tools/perf/tests/hists_common.c
142
sym = symbol__new(fsym->start, fsym->length,
tools/perf/tests/hists_common.c
144
if (sym == NULL) {
tools/perf/tests/hists_common.c
149
symbols__insert(dso__symbols(dso), sym);
tools/perf/tests/hists_common.c
187
he->ms.sym->name, he->stat.period);
tools/perf/tests/hists_common.c
216
he->ms.sym->name, he->stat.period,
tools/perf/tests/hists_cumulate.c
118
fake_samples[i].sym = al.sym;
tools/perf/tests/hists_cumulate.c
168
#define SYM(he) (he->ms.sym->name)
tools/perf/tests/hists_cumulate.c
172
#define CSYM(cl) (cl->ms.sym->name)
tools/perf/tests/hists_cumulate.c
179
const char *sym;
tools/perf/tests/hists_cumulate.c
186
const char *sym;
tools/perf/tests/hists_cumulate.c
22
struct symbol *sym;
tools/perf/tests/hists_cumulate.c
226
!strcmp(SYM(he), expected[i].sym));
tools/perf/tests/hists_cumulate.c
248
!strcmp(CSYM(clist), expected_callchain[i].node[c].sym));
tools/perf/tests/hists_filter.c
21
struct symbol *sym;
tools/perf/tests/hists_filter.c
96
fake_samples[i].sym = al.sym;
tools/perf/tests/hists_link.c
102
fake_common_samples[k].sym = al.sym;
tools/perf/tests/hists_link.c
122
fake_samples[i][k].sym = al.sym;
tools/perf/tests/hists_link.c
153
samples->sym == s)
tools/perf/tests/hists_link.c
183
he->thread, he->ms.map, he->ms.sym)) {
tools/perf/tests/hists_link.c
22
struct symbol *sym;
tools/perf/tests/hists_link.c
235
he->thread, he->ms.map, he->ms.sym) &&
tools/perf/tests/hists_link.c
238
he->thread, he->ms.map, he->ms.sym)) {
tools/perf/tests/hists_output.c
133
#define SYM(he) (he->ms.sym->name)
tools/perf/tests/hists_output.c
23
struct symbol *sym;
tools/perf/tests/hists_output.c
83
fake_samples[i].sym = al.sym;
tools/perf/tests/pe-file-parsing.c
35
struct symbol *sym;
tools/perf/tests/pe-file-parsing.c
65
sym = dso__find_symbol_by_name(dso, "main", &idx);
tools/perf/tests/pe-file-parsing.c
66
TEST_ASSERT_VAL("Failed to find main", sym);
tools/perf/tests/symbols.c
126
struct symbol *sym = rb_entry(nd, struct symbol, rb_node);
tools/perf/tests/symbols.c
128
if (sym->type != STT_FUNC && sym->type != STT_GNU_IFUNC)
tools/perf/tests/symbols.c
132
if (last_sym && sym->start < last_sym->end) {
tools/perf/tests/symbols.c
135
symbol__fprintf(sym, stderr);
tools/perf/tests/symbols.c
139
if (sym->start == sym->end) {
tools/perf/tests/symbols.c
141
symbol__fprintf(sym, stderr);
tools/perf/tests/symbols.c
144
last_sym = sym;
tools/perf/tests/vmlinux-kallsyms.c
193
struct symbol *sym;
tools/perf/tests/vmlinux-kallsyms.c
288
map__for_each_symbol(args.vmlinux_map, sym, nd) {
tools/perf/tests/vmlinux-kallsyms.c
291
sym = rb_entry(nd, struct symbol, rb_node);
tools/perf/tests/vmlinux-kallsyms.c
293
if (sym->start == sym->end)
tools/perf/tests/vmlinux-kallsyms.c
296
mem_start = map__unmap_ip(args.vmlinux_map, sym->start);
tools/perf/tests/vmlinux-kallsyms.c
297
mem_end = map__unmap_ip(args.vmlinux_map, sym->end);
tools/perf/tests/vmlinux-kallsyms.c
304
if (arch__compare_symbol_names(sym->name, pair->name) == 0) {
tools/perf/tests/vmlinux-kallsyms.c
317
mem_start, sym->name, mem_end,
tools/perf/tests/vmlinux-kallsyms.c
329
sym->name, NULL);
tools/perf/tests/vmlinux-kallsyms.c
335
mem_start, sym->name, pair->name);
tools/perf/tests/vmlinux-kallsyms.c
338
mem_start, sym->name, first_pair->name);
tools/perf/tests/vmlinux-kallsyms.c
349
} else if (is_ignored_symbol(sym->name, sym->type)) {
tools/perf/tests/vmlinux-kallsyms.c
356
mem_start, sym->name);
tools/perf/ui/browsers/annotate.c
1162
struct symbol *sym = ms->sym;
tools/perf/ui/browsers/annotate.c
1163
struct annotation *notes = symbol__annotation(sym);
tools/perf/ui/browsers/annotate.c
1181
if (sym == NULL)
tools/perf/ui/browsers/annotate.c
1188
if (not_annotated || !sym->annotate2) {
tools/perf/ui/browsers/annotate.c
1242
al_addr - sym->start);
tools/perf/ui/browsers/annotate.c
190
struct symbol *sym = ms->sym;
tools/perf/ui/browsers/annotate.c
191
struct annotation *notes = symbol__annotation(sym);
tools/perf/ui/browsers/annotate.c
198
if (strstr(sym->name, "@plt"))
tools/perf/ui/browsers/annotate.c
201
if (!disasm_line__is_valid_local_jump(cursor, sym))
tools/perf/ui/browsers/annotate.c
342
struct symbol *sym = ms->sym;
tools/perf/ui/browsers/annotate.c
343
struct annotation *notes = symbol__annotation(sym);
tools/perf/ui/browsers/annotate.c
350
symbol__calc_percent(sym, evsel);
tools/perf/ui/browsers/annotate.c
549
static int sym_title(struct symbol *sym, struct map *map, char *title,
tools/perf/ui/browsers/annotate.c
552
return snprintf(title, sz, "%s %s [Percent: %s] %s", sym->name,
tools/perf/ui/browsers/annotate.c
562
struct symbol *sym = ms->sym;
tools/perf/ui/browsers/annotate.c
565
sym_title(sym, ms->map, title, sizeof(title), annotate_opts.percent_type);
tools/perf/ui/browsers/annotate.c
589
if (!dl->ops.target.sym) {
tools/perf/ui/browsers/annotate.c
594
notes = symbol__annotation(dl->ops.target.sym);
tools/perf/ui/browsers/annotate.c
597
if (!symbol__hists(dl->ops.target.sym, evsel->evlist->core.nr_entries)) {
tools/perf/ui/browsers/annotate.c
600
dl->ops.target.sym->name);
tools/perf/ui/browsers/annotate.c
606
target_ms.sym = dl->ops.target.sym;
tools/perf/ui/browsers/annotate.c
62
return symbol__annotation(ms->sym);
tools/perf/ui/browsers/annotate.c
868
struct symbol *sym = ms->sym;
tools/perf/ui/browsers/annotate.c
874
ui__error("Couldn't annotate %s:\n%s", sym->name, msg);
tools/perf/ui/browsers/annotate.c
884
struct symbol *sym = ms->sym;
tools/perf/ui/browsers/annotate.c
885
struct annotation *notes = symbol__annotation(ms->sym);
tools/perf/ui/browsers/annotate.c
934
symbol__annotate_decay_histogram(sym, evsel);
tools/perf/ui/browsers/hists.c
2478
notes = symbol__annotation(act->ms.sym);
tools/perf/ui/browsers/hists.c
2505
struct symbol *sym;
tools/perf/ui/browsers/hists.c
2510
sym = symbol__new(addr, ANNOTATION_DUMMY_LEN, 0, 0, name);
tools/perf/ui/browsers/hists.c
2511
if (sym) {
tools/perf/ui/browsers/hists.c
2512
src = symbol__hists(sym, 1);
tools/perf/ui/browsers/hists.c
2514
symbol__delete(sym);
tools/perf/ui/browsers/hists.c
2518
dso__insert_symbol(map__dso(map), sym);
tools/perf/ui/browsers/hists.c
2521
return sym;
tools/perf/ui/browsers/hists.c
2534
if (!ms->sym)
tools/perf/ui/browsers/hists.c
2535
ms->sym = symbol__new_unresolved(addr, ms->map);
tools/perf/ui/browsers/hists.c
2537
if (ms->sym == NULL || symbol__annotation(ms->sym)->src == NULL)
tools/perf/ui/browsers/hists.c
2540
if (asprintf(optstr, "Annotate %s", ms->sym->name) < 0)
tools/perf/ui/browsers/hists.c
2738
else if (act->ms.sym)
tools/perf/ui/browsers/hists.c
2739
len += strlen(act->ms.sym->name);
tools/perf/ui/browsers/hists.c
2748
} else if (act->ms.sym) {
tools/perf/ui/browsers/hists.c
2750
act->ms.sym->name);
tools/perf/ui/browsers/hists.c
2785
struct thread *thread, struct symbol *sym,
tools/perf/ui/browsers/hists.c
2793
} else if (sym) {
tools/perf/ui/browsers/hists.c
2795
sym->name, tstr) < 0)
tools/perf/ui/browsers/hists.c
2803
act->ms.sym = sym;
tools/perf/ui/browsers/hists.c
2811
struct thread *thread, struct symbol *sym)
tools/perf/ui/browsers/hists.c
2816
n = add_script_opt_2(act, optstr, thread, sym, "");
tools/perf/ui/browsers/hists.c
2830
n += add_script_opt_2(act, optstr, thread, sym, tstr);
tools/perf/ui/browsers/hists.c
3134
if (!hists__has(hists, sym)) {
tools/perf/ui/browsers/hists.c
3148
if (!browser->selection->sym) {
tools/perf/ui/browsers/hists.c
3157
actions->ms.sym = symbol__new_unresolved(bi->to.al_addr, bi->to.ms.map);
tools/perf/ui/browsers/hists.c
3160
actions->ms.sym = symbol__new_unresolved(browser->he_selection->ip,
tools/perf/ui/browsers/hists.c
3165
if (!actions->ms.sym)
tools/perf/ui/browsers/hists.c
3168
if (symbol__annotation(browser->selection->sym)->src == NULL) {
tools/perf/ui/browsers/hists.c
3172
browser->selection->sym->name);
tools/perf/ui/browsers/hists.c
3177
actions->ms.sym = browser->selection->sym;
tools/perf/ui/browsers/hists.c
3223
actions->ms.sym = NULL;
tools/perf/ui/browsers/hists.c
3341
if (!hists__has(hists, sym) || browser->selection == NULL)
tools/perf/ui/browsers/hists.c
3356
if (bi->to.ms.sym != bi->from.ms.sym)
tools/perf/ui/browsers/hists.c
3403
if (hists__has(hists, sym) && browser->selection->sym) {
tools/perf/ui/browsers/hists.c
3407
NULL, browser->selection->sym);
tools/perf/ui/browsers/hists.c
3754
!browser->selection->sym) {
tools/perf/ui/browsers/hists.c
3759
action.ms.sym = browser->selection->sym;
tools/perf/ui/browsers/hists.c
797
bool show_annotated = browser->show_dso && chain->ms.sym && symbol__annotation(chain->ms.sym)->src;
tools/perf/ui/browsers/map.c
27
struct symbol *sym = rb_entry(nd, struct symbol, rb_node);
tools/perf/ui/browsers/map.c
34
mb->addrlen, sym->start, mb->addrlen, sym->end,
tools/perf/ui/browsers/map.c
35
sym->binding == STB_GLOBAL ? 'g' :
tools/perf/ui/browsers/map.c
36
sym->binding == STB_LOCAL ? 'l' : 'w');
tools/perf/ui/browsers/map.c
39
ui_browser__write_nstring(browser, sym->name, width);
tools/perf/ui/browsers/map.c
51
struct symbol *sym;
tools/perf/ui/browsers/map.c
60
sym = map__find_symbol(browser->map, addr);
tools/perf/ui/browsers/map.c
62
sym = map__find_symbol_by_name(browser->map, target);
tools/perf/ui/browsers/map.c
64
if (sym != NULL) {
tools/perf/ui/browsers/map.c
65
u32 *idx = symbol__browser_index(sym);
tools/perf/ui/browsers/map.c
67
browser->b.top = &sym->rb_node;
tools/perf/ui/gtk/annotate.c
107
struct symbol *sym = ms->sym;
tools/perf/ui/gtk/annotate.c
117
notes = symbol__annotation(sym);
tools/perf/ui/gtk/annotate.c
148
sym, pos,
tools/perf/ui/gtk/annotate.c
153
ret = perf_gtk__get_percent(s, sizeof(s), sym, pos, evsel);
tools/perf/ui/gtk/annotate.c
178
struct symbol *sym = ms->sym;
tools/perf/ui/gtk/annotate.c
194
ui__error("Couldn't annotate %s: %s\n", sym->name, msg);
tools/perf/ui/gtk/annotate.c
198
symbol__calc_percent(sym, evsel);
tools/perf/ui/gtk/annotate.c
242
tab_label = gtk_label_new(sym->name);
tools/perf/ui/gtk/annotate.c
29
static int perf_gtk__get_percent(char *buf, size_t size, struct symbol *sym,
tools/perf/ui/gtk/annotate.c
45
notes = symbol__annotation(sym);
tools/perf/ui/gtk/annotate.c
69
u64 start = map__rip_2objdump(ms->map, ms->sym->start);
tools/perf/ui/gtk/hists.c
388
symbol_conf.use_callchain && hists__has(hists, sym)) {
tools/perf/ui/hist.c
1059
if (verbose > 0 && hists__has(hists, sym)) /* Addr + origin */
tools/perf/ui/stdio/hist.c
110
rem_hits.ms.sym = rem_sq_bracket;
tools/perf/util/addr2line.c
273
struct symbol *sym,
tools/perf/util/addr2line.c
278
struct symbol *inline_sym = new_inline_sym(dso, sym, function);
tools/perf/util/addr2line.c
288
struct symbol *sym __maybe_unused)
tools/perf/util/addr2line.c
385
if (node && inline_list__append_record(dso, node, sym,
tools/perf/util/addr2line.c
408
if (inline_list__append_record(dso, node, sym,
tools/perf/util/addr2line.h
18
struct symbol *sym);
tools/perf/util/addr_location.c
11
al->sym = NULL;
tools/perf/util/addr_location.h
15
struct symbol *sym;
tools/perf/util/annotate-arch/annotate-loongarch.c
100
ops->target.sym = target.ms.sym;
tools/perf/util/annotate-arch/annotate-loongarch.c
56
ops->target.sym = target.ms.sym;
tools/perf/util/annotate-arch/annotate-loongarch.c
74
struct symbol *sym = ms->sym;
tools/perf/util/annotate-arch/annotate-loongarch.c
93
start = map__unmap_ip(map, sym->start);
tools/perf/util/annotate-arch/annotate-loongarch.c
94
end = map__unmap_ip(map, sym->end);
tools/perf/util/annotate-arch/annotate-s390.c
55
ops->target.sym = target.ms.sym;
tools/perf/util/annotate-arch/annotate-x86.c
224
struct symbol *func = dl->ops.target.sym;
tools/perf/util/annotate-arch/annotate-x86.c
261
u64 ip = ms->sym->start + dl->al.offset;
tools/perf/util/annotate-arch/annotate-x86.c
458
u64 ip = dloc->ms->sym->start + dl->al.offset;
tools/perf/util/annotate-arch/annotate-x86.c
475
u64 ip = dloc->ms->sym->start + dl->al.offset;
tools/perf/util/annotate-arch/annotate-x86.c
622
u64 ip = ms->sym->start + dl->al.offset;
tools/perf/util/annotate-arch/annotate-x86.c
647
u64 ip = dloc->ms->sym->start + dl->al.offset;
tools/perf/util/annotate-data.c
1353
struct symbol *sym = dloc->ms->sym;
tools/perf/util/annotate-data.c
1354
struct annotation *notes = symbol__annotation(sym);
tools/perf/util/annotate-data.c
1369
u64 this_ip = sym->start + dl->al.offset;
tools/perf/util/annotate-data.c
1439
if (annotate_get_basic_blocks(dloc->ms->sym, src_ip, dst_ip,
tools/perf/util/annotate-data.c
1448
src_ip - dloc->ms->sym->start,
tools/perf/util/annotate-data.c
1449
dst_ip - dloc->ms->sym->start);
tools/perf/util/annotate-data.c
1528
dloc->ms->sym->name, dloc->ip - dloc->ms->sym->start);
tools/perf/util/annotate-data.c
725
struct symbol *sym;
tools/perf/util/annotate-data.c
732
sym = thread__find_symbol_fb(dloc->thread, dloc->cpumode,
tools/perf/util/annotate-data.c
734
if (sym) {
tools/perf/util/annotate-data.c
735
*var_name = sym->name;
tools/perf/util/annotate-data.c
737
*var_offset = mem_addr - map__unmap_ip(al.map, sym->start);
tools/perf/util/annotate.c
1014
struct symbol *sym = ms->sym;
tools/perf/util/annotate.c
1015
struct annotation *notes = symbol__annotation(sym);
tools/perf/util/annotate.c
1055
notes->src->start = map__objdump_2mem(ms->map, ms->sym->start);
tools/perf/util/annotate.c
1057
notes->src->start = map__rip_2objdump(ms->map, ms->sym->start);
tools/perf/util/annotate.c
1059
return symbol__disassemble(sym, &args);
tools/perf/util/annotate.c
1187
static void symbol__annotate_hits(struct symbol *sym, struct evsel *evsel)
tools/perf/util/annotate.c
1189
struct annotation *notes = symbol__annotation(sym);
tools/perf/util/annotate.c
1191
u64 len = symbol__size(sym), offset;
tools/perf/util/annotate.c
1199
sym->start + offset, entry->nr_samples);
tools/perf/util/annotate.c
1221
struct symbol *sym = ms->sym;
tools/perf/util/annotate.c
1226
struct annotation *notes = symbol__annotation(sym);
tools/perf/util/annotate.c
1266
symbol__annotate_hits(sym, evsel);
tools/perf/util/annotate.c
1359
static int symbol__annotate_fprintf2(struct symbol *sym, FILE *fp,
tools/perf/util/annotate.c
1362
struct annotation *notes = symbol__annotation(sym);
tools/perf/util/annotate.c
1406
if (asprintf(&filename, "%s.annotation", ms->sym->name) < 0)
tools/perf/util/annotate.c
1419
ms->sym->name, dso__long_name(map__dso(ms->map)), ev_name);
tools/perf/util/annotate.c
1420
symbol__annotate_fprintf2(ms->sym, fp, &apd);
tools/perf/util/annotate.c
1429
void symbol__annotate_zero_histogram(struct symbol *sym, struct evsel *evsel)
tools/perf/util/annotate.c
1431
struct annotation *notes = symbol__annotation(sym);
tools/perf/util/annotate.c
1437
void symbol__annotate_decay_histogram(struct symbol *sym, struct evsel *evsel)
tools/perf/util/annotate.c
1439
struct annotation *notes = symbol__annotation(sym);
tools/perf/util/annotate.c
149
void symbol__annotate_zero_histograms(struct symbol *sym)
tools/perf/util/annotate.c
1498
bool disasm_line__is_valid_local_jump(struct disasm_line *dl, struct symbol *sym)
tools/perf/util/annotate.c
1502
dl->ops.target.offset >= (s64)symbol__size(sym))
tools/perf/util/annotate.c
1509
annotation__mark_jump_targets(struct annotation *notes, struct symbol *sym)
tools/perf/util/annotate.c
151
struct annotation *notes = symbol__annotation(sym);
tools/perf/util/annotate.c
1514
if (strstr(sym->name, "@plt"))
tools/perf/util/annotate.c
1523
if (!disasm_line__is_valid_local_jump(dl, sym))
tools/perf/util/annotate.c
1589
annotation__init_column_widths(struct annotation *notes, struct symbol *sym)
tools/perf/util/annotate.c
1592
notes->src->widths.min_addr = hex_width(symbol__size(sym));
tools/perf/util/annotate.c
1593
notes->src->widths.max_addr = hex_width(sym->end);
tools/perf/util/annotate.c
161
symbol__size(sym) * sizeof(struct cyc_hist));
tools/perf/util/annotate.c
1618
notes->src->start = map__objdump_2mem(ms->map, ms->sym->start);
tools/perf/util/annotate.c
1620
notes->src->start = map__rip_2objdump(ms->map, ms->sym->start);
tools/perf/util/annotate.c
1649
addr = map__rip_2objdump(ms->map, ms->sym->start);
tools/perf/util/annotate.c
1651
false, true, ms->sym->start + al->offset);
tools/perf/util/annotate.c
1660
struct annotation *notes = symbol__annotation(ms->sym);
tools/perf/util/annotate.c
1669
struct symbol *sym = ms->sym;
tools/perf/util/annotate.c
1685
ui__error("Couldn't annotate %s:\n%s", sym->name, msg);
tools/perf/util/annotate.c
1697
buf, percent_type_str(annotate_opts.percent_type), sym->name, dso__long_name(dso));
tools/perf/util/annotate.c
1698
symbol__annotate_fprintf2(sym, stdout, &apd);
tools/perf/util/annotate.c
1700
annotated_source__purge(symbol__annotation(sym)->src);
tools/perf/util/annotate.c
1709
struct symbol *sym = ms->sym;
tools/perf/util/annotate.c
1719
ui__error("Couldn't annotate %s:\n%s", sym->name, msg);
tools/perf/util/annotate.c
1723
symbol__calc_percent(sym, evsel);
tools/perf/util/annotate.c
1733
annotated_source__purge(symbol__annotation(sym)->src);
tools/perf/util/annotate.c
1740
return use_browser == 1 && perf_hpp_list.sym;
tools/perf/util/annotate.c
220
struct symbol *sym = ms->sym;
tools/perf/util/annotate.c
2208
struct symbol *sym = ms->sym;
tools/perf/util/annotate.c
2209
struct annotation *notes = symbol__annotation(sym);
tools/perf/util/annotate.c
2210
size_t size = symbol__size(sym);
tools/perf/util/annotate.c
2217
symbol__calc_percent(sym, evsel);
tools/perf/util/annotate.c
2220
annotation__mark_jump_targets(notes, sym);
tools/perf/util/annotate.c
2226
annotation__init_column_widths(notes, sym);
tools/perf/util/annotate.c
2228
sym->annotate2 = 1;
tools/perf/util/annotate.c
228
if ((addr < sym->start || addr >= sym->end) &&
tools/perf/util/annotate.c
229
(addr != sym->end || sym->start != sym->end)) {
tools/perf/util/annotate.c
231
__func__, __LINE__, sym->name, sym->start, addr, sym->end);
tools/perf/util/annotate.c
235
offset = addr - sym->start;
tools/perf/util/annotate.c
239
__func__, __LINE__, sym->name, sym->start, addr, sym->end, sym->type == STT_FUNC);
tools/perf/util/annotate.c
260
sym->start, sym->name, addr, addr - sym->start, evsel->core.idx,
tools/perf/util/annotate.c
2625
static struct disasm_line *find_disasm_line(struct symbol *sym, u64 ip,
tools/perf/util/annotate.c
2631
notes = symbol__annotation(sym);
tools/perf/util/annotate.c
2637
if (sym->start + dl->al.offset == ip) {
tools/perf/util/annotate.c
276
static struct annotated_branch *symbol__find_branch_hist(struct symbol *sym,
tools/perf/util/annotate.c
2763
notes = symbol__annotation(ms->sym);
tools/perf/util/annotate.c
2773
addr = ms->sym->end + offset;
tools/perf/util/annotate.c
279
struct annotation *notes = symbol__annotation(sym);
tools/perf/util/annotate.c
281
const size_t size = symbol__size(sym);
tools/perf/util/annotate.c
2835
.ip = ms->sym->start + dl->al.offset,
tools/perf/util/annotate.c
2907
if (ms->map == NULL || ms->sym == NULL) {
tools/perf/util/annotate.c
2948
dl = find_disasm_line(ms->sym, ip, /*allow_update=*/true);
tools/perf/util/annotate.c
2968
notes = symbol__annotation(ms->sym);
tools/perf/util/annotate.c
302
struct annotated_source *symbol__hists(struct symbol *sym, int nr_hists)
tools/perf/util/annotate.c
304
struct annotation *notes = symbol__annotation(sym);
tools/perf/util/annotate.c
3065
struct symbol *sym, u64 target)
tools/perf/util/annotate.c
3068
struct annotation *notes = symbol__annotation(sym);
tools/perf/util/annotate.c
3089
if (sym->start + dl->al.offset == target) {
tools/perf/util/annotate.c
3106
next_dl = find_disasm_line(sym, sym->start + dl->ops.target.offset,
tools/perf/util/annotate.c
3175
int annotate_get_basic_blocks(struct symbol *sym, s64 src, s64 dst,
tools/perf/util/annotate.c
3186
dl = find_disasm_line(sym, src, /*allow_update=*/false);
tools/perf/util/annotate.c
3197
if (process_basic_block(&bb_data, link, sym, dst)) {
tools/perf/util/annotate.c
325
struct symbol *sym = ms->sym;
tools/perf/util/annotate.c
328
if (sym == NULL)
tools/perf/util/annotate.c
330
src = symbol__hists(sym, evsel->evlist->core.nr_entries);
tools/perf/util/annotate.c
361
static int symbol__account_cycles(u64 addr, u64 start, struct symbol *sym,
tools/perf/util/annotate.c
369
if (sym == NULL)
tools/perf/util/annotate.c
371
branch = symbol__find_branch_hist(sym, evsel->evlist->nr_br_cntr);
tools/perf/util/annotate.c
374
if (addr < sym->start || addr >= sym->end)
tools/perf/util/annotate.c
378
if (start < sym->start || start >= sym->end)
tools/perf/util/annotate.c
383
offset = addr - sym->start;
tools/perf/util/annotate.c
385
start ? start - sym->start : 0,
tools/perf/util/annotate.c
415
(start->ms.sym == ams->ms.sym ||
tools/perf/util/annotate.c
416
(ams->ms.sym &&
tools/perf/util/annotate.c
417
start->addr == ams->ms.sym->start + map__start(ams->ms.map))))
tools/perf/util/annotate.c
423
ams->ms.sym ? ams->ms.sym->start + map__start(ams->ms.map) : 0,
tools/perf/util/annotate.c
425
err = symbol__account_cycles(ams->al_addr, saddr, ams->ms.sym, cycles, evsel, br_cntr);
tools/perf/util/annotate.c
787
struct symbol *sym = apd->he->ms.sym;
tools/perf/util/annotate.c
789
struct annotation *notes = symbol__annotation(sym);
tools/perf/util/annotate.c
979
void symbol__calc_percent(struct symbol *sym, struct evsel *evsel)
tools/perf/util/annotate.c
981
struct annotation *notes = symbol__annotation(sym);
tools/perf/util/annotate.c
983
annotation__calc_percent(notes, evsel, symbol__size(sym));
tools/perf/util/annotate.h
186
bool disasm_line__is_valid_local_jump(struct disasm_line *dl, struct symbol *sym);
tools/perf/util/annotate.h
223
void symbol__calc_percent(struct symbol *sym, struct evsel *evsel);
tools/perf/util/annotate.h
420
static inline struct annotation *symbol__annotation(struct symbol *sym)
tools/perf/util/annotate.h
422
return (void *)sym - symbol_conf.priv_size;
tools/perf/util/annotate.h
439
struct annotated_source *symbol__hists(struct symbol *sym, int nr_hists);
tools/perf/util/annotate.h
440
void symbol__annotate_zero_histograms(struct symbol *sym);
tools/perf/util/annotate.h
474
void symbol__annotate_zero_histogram(struct symbol *sym, struct evsel *evsel);
tools/perf/util/annotate.h
475
void symbol__annotate_decay_histogram(struct symbol *sym, struct evsel *evsel);
tools/perf/util/annotate.h
580
int annotate_get_basic_blocks(struct symbol *sym, s64 src, s64 dst,
tools/perf/util/auxtrace.c
2661
static bool dso_sym_match(struct symbol *sym, const char *name, int *cnt,
tools/perf/util/auxtrace.c
2665
return !arch__compare_symbol_names(name, sym->name) &&
tools/perf/util/auxtrace.c
2666
((!idx && sym->binding == STB_GLOBAL) ||
tools/perf/util/auxtrace.c
2673
struct symbol *sym;
tools/perf/util/auxtrace.c
2679
sym = dso__first_symbol(dso);
tools/perf/util/auxtrace.c
2680
while (sym) {
tools/perf/util/auxtrace.c
2681
if (dso_sym_match(sym, sym_name, &cnt, -1)) {
tools/perf/util/auxtrace.c
2683
++cnt, sym->start,
tools/perf/util/auxtrace.c
2684
sym->binding == STB_GLOBAL ? 'g' :
tools/perf/util/auxtrace.c
2685
sym->binding == STB_LOCAL ? 'l' : 'w',
tools/perf/util/auxtrace.c
2686
sym->name);
tools/perf/util/auxtrace.c
2690
pr_err("\t\twhich is near\t\t%s\n", sym->name);
tools/perf/util/auxtrace.c
2692
sym = dso__next_symbol(sym);
tools/perf/util/auxtrace.c
2703
struct symbol *sym;
tools/perf/util/auxtrace.c
2709
sym = dso__first_symbol(dso);
tools/perf/util/auxtrace.c
2710
while (sym) {
tools/perf/util/auxtrace.c
2713
*size = sym->start - *start;
tools/perf/util/auxtrace.c
2717
} else if (dso_sym_match(sym, sym_name, &cnt, idx)) {
tools/perf/util/auxtrace.c
2721
} else if (dso_sym_match(sym, sym_name, &cnt, idx)) {
tools/perf/util/auxtrace.c
2722
*start = sym->start;
tools/perf/util/auxtrace.c
2723
*size = sym->end - sym->start;
tools/perf/util/auxtrace.c
2725
sym = dso__next_symbol(sym);
tools/perf/util/block-info.c
103
static void init_block_info(struct block_info *bi, struct symbol *sym,
tools/perf/util/block-info.c
108
bi->sym = sym;
tools/perf/util/block-info.c
137
if (!he->ms.map || !he->ms.sym)
tools/perf/util/block-info.c
142
al.sym = he->ms.sym;
tools/perf/util/block-info.c
144
notes = symbol__annotation(he->ms.sym);
tools/perf/util/block-info.c
148
for (unsigned int i = 0; i < symbol__size(he->ms.sym); i++) {
tools/perf/util/block-info.c
157
init_block_info(bi, he->ms.sym, &ch[i], i,
tools/perf/util/block-info.c
308
start_line = map__srcline(he->ms.map, bi->sym->start + bi->start,
tools/perf/util/block-info.c
309
he->ms.sym);
tools/perf/util/block-info.c
311
end_line = map__srcline(he->ms.map, bi->sym->start + bi->end,
tools/perf/util/block-info.c
312
he->ms.sym);
tools/perf/util/block-info.c
78
if (!bi_l->sym || !bi_r->sym) {
tools/perf/util/block-info.c
79
if (!bi_l->sym && !bi_r->sym)
tools/perf/util/block-info.c
81
else if (!bi_l->sym)
tools/perf/util/block-info.c
87
cmp = strcmp(bi_l->sym->name, bi_r->sym->name);
tools/perf/util/block-info.h
12
struct symbol *sym;
tools/perf/util/block-range.c
313
struct symbol *sym;
tools/perf/util/block-range.c
323
sym = br->sym;
tools/perf/util/block-range.c
324
if (!sym)
tools/perf/util/block-range.c
327
branch = symbol__annotation(sym)->branch;
tools/perf/util/block-range.h
25
struct symbol *sym;
tools/perf/util/bpf_lock_contention.c
113
struct symbol *sym;
tools/perf/util/bpf_lock_contention.c
142
sym = machine__find_kernel_symbol_by_name(con->machine,
tools/perf/util/bpf_lock_contention.c
145
if (sym) {
tools/perf/util/bpf_lock_contention.c
146
skel->rodata->contig_page_data_addr = map__unmap_ip(kmap, sym->start);
tools/perf/util/bpf_lock_contention.c
156
sym = machine__find_kernel_symbol_by_name(con->machine,
tools/perf/util/bpf_lock_contention.c
159
if (sym == NULL)
tools/perf/util/bpf_lock_contention.c
162
skel->rodata->node_data_addr = map__unmap_ip(kmap, sym->start);
tools/perf/util/bpf_lock_contention.c
242
struct symbol *sym;
tools/perf/util/bpf_lock_contention.c
247
sym = machine__find_kernel_symbol_by_name(con->machine,
tools/perf/util/bpf_lock_contention.c
250
if (sym == NULL) {
tools/perf/util/bpf_lock_contention.c
263
addrs[con->filters->nr_addrs++] = map__unmap_ip(kmap, sym->start);
tools/perf/util/bpf_lock_contention.c
272
struct symbol *sym;
tools/perf/util/bpf_lock_contention.c
276
sym = machine__find_kernel_symbol_by_name(con->machine,
tools/perf/util/bpf_lock_contention.c
277
con->delays[i].sym,
tools/perf/util/bpf_lock_contention.c
279
if (sym == NULL) {
tools/perf/util/bpf_lock_contention.c
281
con->delays[i].sym);
tools/perf/util/bpf_lock_contention.c
285
con->delays[i].addr = map__unmap_ip(kmap, sym->start);
tools/perf/util/bpf_lock_contention.c
568
struct symbol *sym;
tools/perf/util/bpf_lock_contention.c
602
sym = machine__find_kernel_symbol(machine, key->lock_addr_or_cgroup, &kmap);
tools/perf/util/bpf_lock_contention.c
603
if (sym)
tools/perf/util/bpf_lock_contention.c
604
return sym->name;
tools/perf/util/bpf_lock_contention.c
643
sym = machine__find_kernel_symbol(machine, addr, &kmap);
tools/perf/util/bpf_lock_contention.c
645
if (sym) {
tools/perf/util/bpf_lock_contention.c
648
offset = map__map_ip(kmap, addr) - sym->start;
tools/perf/util/bpf_lock_contention.c
651
return sym->name;
tools/perf/util/bpf_lock_contention.c
653
snprintf(name_buf, sizeof(name_buf), "%s+%#lx", sym->name, offset);
tools/perf/util/call-path.c
100
if (sym < cp->sym || (sym == cp->sym && ip < cp->ip))
tools/perf/util/call-path.c
106
cp = call_path__new(cpr, parent, sym, ip, in_kernel);
tools/perf/util/call-path.c
15
struct symbol *sym, u64 ip, bool in_kernel)
tools/perf/util/call-path.c
18
cp->sym = sym;
tools/perf/util/call-path.c
19
cp->ip = sym ? 0 : ip;
tools/perf/util/call-path.c
51
struct symbol *sym, u64 ip,
tools/perf/util/call-path.c
72
call_path__init(cp, parent, sym, ip, in_kernel);
tools/perf/util/call-path.c
79
struct symbol *sym, u64 ip, u64 ks)
tools/perf/util/call-path.c
86
if (sym)
tools/perf/util/call-path.c
90
return call_path__new(cpr, parent, sym, ip, in_kernel);
tools/perf/util/call-path.c
97
if (cp->sym == sym && cp->ip == ip)
tools/perf/util/call-path.h
30
struct symbol *sym;
tools/perf/util/call-path.h
66
struct symbol *sym, u64 ip, u64 ks);
tools/perf/util/callchain.c
1158
al->sym = node->ms.sym;
tools/perf/util/callchain.c
1162
if (al->sym == NULL) {
tools/perf/util/callchain.c
1200
if (cl->ms.sym) {
tools/perf/util/callchain.c
1201
const char *inlined = cl->ms.sym->inlined ? " (inlined)" : "";
tools/perf/util/callchain.c
1205
cl->ms.sym->name, cl->srcline,
tools/perf/util/callchain.c
1209
cl->ms.sym->name, inlined);
tools/perf/util/callchain.c
750
if (node->ms.sym && cnode->ms.sym) {
tools/perf/util/callchain.c
757
if (cnode->ms.sym->inlined || node->ms.sym->inlined) {
tools/perf/util/callchain.c
758
match = match_chain_strings(cnode->ms.sym->name,
tools/perf/util/callchain.c
759
node->ms.sym->name);
tools/perf/util/callchain.c
763
match = match_chain_dso_addresses(cnode->ms.map, cnode->ms.sym->start,
tools/perf/util/callchain.c
764
node->ms.map, node->ms.sym->start);
tools/perf/util/capstone.c
201
printed += symbol__fprintf_symname_offs(al.sym, &al, fp);
tools/perf/util/capstone.c
256
struct symbol *sym;
tools/perf/util/capstone.c
293
sym = map__find_symbol(map, addr);
tools/perf/util/capstone.c
294
if (sym == NULL)
tools/perf/util/capstone.c
297
if (addr == sym->start) {
tools/perf/util/capstone.c
299
orig_addr, sym->name);
tools/perf/util/capstone.c
302
orig_addr, sym->name, addr - sym->start);
tools/perf/util/capstone.c
326
struct symbol *sym __maybe_unused,
tools/perf/util/capstone.c
329
struct annotation *notes = symbol__annotation(sym);
tools/perf/util/capstone.c
332
u64 start = map__rip_2objdump(map, sym->start);
tools/perf/util/capstone.c
351
buf = dso__read_symbol(dso, filename, map, sym,
tools/perf/util/capstone.c
358
start, sym->name);
tools/perf/util/capstone.c
364
args->ms->sym = sym;
tools/perf/util/capstone.c
446
struct symbol *sym __maybe_unused,
tools/perf/util/capstone.c
449
struct annotation *notes = symbol__annotation(sym);
tools/perf/util/capstone.c
453
u64 start = map__rip_2objdump(map, sym->start);
tools/perf/util/capstone.c
454
u64 end = map__rip_2objdump(map, sym->end);
tools/perf/util/capstone.c
508
start, sym->name);
tools/perf/util/capstone.c
514
args->ms->sym = sym;
tools/perf/util/capstone.h
21
int symbol__disassemble_capstone(const char *filename, struct symbol *sym,
tools/perf/util/capstone.h
23
int symbol__disassemble_capstone_powerpc(const char *filename, struct symbol *sym,
tools/perf/util/capstone.h
42
struct symbol *sym __maybe_unused,
tools/perf/util/capstone.h
49
struct symbol *sym __maybe_unused,
tools/perf/util/data-convert-json.c
140
if (al && al->sym && al->sym->namelen) {
tools/perf/util/data-convert-json.c
144
output_json_key_string(out, false, 5, "symbol", al->sym->name);
tools/perf/util/db-export.c
160
int db_export__symbol(struct db_export *dbe, struct symbol *sym,
tools/perf/util/db-export.c
163
u64 *sym_db_id = symbol__priv(sym);
tools/perf/util/db-export.c
171
return dbe->export_symbol(dbe, sym, dso);
tools/perf/util/db-export.c
189
if (!al->sym) {
tools/perf/util/db-export.c
190
al->sym = symbol__new(al->addr, 0, 0, 0, "unknown");
tools/perf/util/db-export.c
191
if (al->sym)
tools/perf/util/db-export.c
192
dso__insert_symbol(dso, al->sym);
tools/perf/util/db-export.c
195
if (al->sym) {
tools/perf/util/db-export.c
196
u64 *db_id = symbol__priv(al->sym);
tools/perf/util/db-export.c
198
err = db_export__symbol(dbe, al->sym, dso);
tools/perf/util/db-export.c
202
*offset = al->addr - al->sym->start;
tools/perf/util/db-export.c
255
al.sym = node->ms.sym;
tools/perf/util/db-export.c
260
if (al.map && !al.sym)
tools/perf/util/db-export.c
261
al.sym = dso__find_symbol(map__dso(al.map), al.addr);
tools/perf/util/db-export.c
267
al.sym, node->ip,
tools/perf/util/db-export.h
52
int (*export_symbol)(struct db_export *dbe, struct symbol *sym,
tools/perf/util/db-export.h
94
int db_export__symbol(struct db_export *dbe, struct symbol *sym,
tools/perf/util/debug.c
343
al.sym = map__find_symbol(al.map, al.addr);
tools/perf/util/debug.c
344
if (al.sym) {
tools/perf/util/debug.c
345
fprintf(file, " #%zd %p in %s ", i, stackdump[i], al.sym->name);
tools/perf/util/demangle-ocaml.c
15
ocaml_is_mangled(const char *sym)
tools/perf/util/demangle-ocaml.c
17
return 0 == strncmp(sym, caml_prefix, caml_prefix_len)
tools/perf/util/demangle-ocaml.c
18
&& isupper(sym[caml_prefix_len]);
tools/perf/util/demangle-ocaml.c
29
ocaml_demangle_sym(const char *sym)
tools/perf/util/demangle-ocaml.c
36
if (!ocaml_is_mangled(sym)) {
tools/perf/util/demangle-ocaml.c
40
len = strlen(sym);
tools/perf/util/demangle-ocaml.c
51
if (sym[i] == '_' && sym[i + 1] == '_') {
tools/perf/util/demangle-ocaml.c
56
else if (sym[i] == '$' && isxdigit(sym[i + 1]) && isxdigit(sym[i + 2])) {
tools/perf/util/demangle-ocaml.c
58
result[j++] = (hex(sym[i + 1]) << 4) | hex(sym[i + 2]);
tools/perf/util/demangle-ocaml.c
62
result[j++] = sym[i++];
tools/perf/util/demangle-rust-v0.c
105
const char *sym;
tools/perf/util/demangle-rust-v0.c
176
char next = parser.sym[parser.next];
tools/perf/util/demangle-rust-v0.c
187
*rest = parser.sym + parser.next;
tools/perf/util/demangle-rust-v0.c
680
return parser->sym[parser->next];
tools/perf/util/demangle-rust-v0.c
700
return parser->sym[parser->next++];
tools/perf/util/demangle-rust-v0.c
709
*next = parser->sym[parser->next++];
tools/perf/util/demangle-rust-v0.c
730
buf->start = parser->sym + start;
tools/perf/util/demangle-rust-v0.c
845
.sym = parser->sym,
tools/perf/util/demangle-rust-v0.c
893
const char *ident = &parser->sym[start];
tools/perf/util/disasm.c
1013
static int symbol__parse_objdump_line(struct symbol *sym,
tools/perf/util/disasm.c
1018
struct annotation *notes = symbol__annotation(sym);
tools/perf/util/disasm.c
1035
u64 start = map__rip_2objdump(map, sym->start),
tools/perf/util/disasm.c
1036
end = map__rip_2objdump(map, sym->end);
tools/perf/util/disasm.c
1049
args->ms->sym = sym;
tools/perf/util/disasm.c
1059
map__rip_2objdump(map, sym->start);
tools/perf/util/disasm.c
1064
if (dl->ins.ops && ins__is_call(&dl->ins) && !dl->ops.target.sym) {
tools/perf/util/disasm.c
1071
target.ms.sym->start == target.al_addr)
tools/perf/util/disasm.c
1072
dl->ops.target.sym = target.ms.sym;
tools/perf/util/disasm.c
1081
static void delete_last_nop(struct symbol *sym)
tools/perf/util/disasm.c
1083
struct annotation *notes = symbol__annotation(sym);
tools/perf/util/disasm.c
1234
static int symbol__disassemble_raw(char *filename, struct symbol *sym,
tools/perf/util/disasm.c
1237
struct annotation *notes = symbol__annotation(sym);
tools/perf/util/disasm.c
1240
u64 start = map__rip_2objdump(map, sym->start);
tools/perf/util/disasm.c
1241
u64 end = map__rip_2objdump(map, sym->end);
tools/perf/util/disasm.c
1260
count = dso__data_read_offset(dso, NULL, sym->start, buf, len);
tools/perf/util/disasm.c
1269
start, sym->name);
tools/perf/util/disasm.c
1275
args->ms->sym = sym;
tools/perf/util/disasm.c
1380
static int symbol__disassemble_bpf_image(struct symbol *sym, struct annotate_args *args)
tools/perf/util/disasm.c
1382
struct annotation *notes = symbol__annotation(sym);
tools/perf/util/disasm.c
1397
static int symbol__disassemble_objdump(const char *filename, struct symbol *sym,
tools/perf/util/disasm.c
1422
return symbol__disassemble_bpf_libbfd(sym, args);
tools/perf/util/disasm.c
1425
return symbol__disassemble_bpf_image(sym, args);
tools/perf/util/disasm.c
1434
map__rip_2objdump(map, sym->start),
tools/perf/util/disasm.c
1435
map__rip_2objdump(map, sym->end),
tools/perf/util/disasm.c
1507
if (symbol__parse_objdump_line(sym, args, expanded_line,
tools/perf/util/disasm.c
1529
delete_last_nop(sym);
tools/perf/util/disasm.c
1541
int symbol__disassemble(struct symbol *sym, struct annotate_args *args)
tools/perf/util/disasm.c
1556
symfs_filename, sym->name, map__unmap_ip(map, sym->start),
tools/perf/util/disasm.c
1557
map__unmap_ip(map, sym->end));
tools/perf/util/disasm.c
1559
pr_debug("annotating [%p] %30s : [%p] %30s\n", dso, dso__long_name(dso), sym, sym->name);
tools/perf/util/disasm.c
1564
kce.addr = map__rip_2objdump(map, sym->start);
tools/perf/util/disasm.c
1566
kce.len = sym->end - sym->start;
tools/perf/util/disasm.c
1567
kce.offs = sym->start;
tools/perf/util/disasm.c
1594
err = symbol__disassemble_raw(symfs_filename, sym, args);
tools/perf/util/disasm.c
1598
err = symbol__disassemble_capstone_powerpc(symfs_filename, sym, args);
tools/perf/util/disasm.c
1606
err = symbol__disassemble_objdump(symfs_filename, sym, args);
tools/perf/util/disasm.c
1618
err = symbol__disassemble_llvm(symfs_filename, sym, args);
tools/perf/util/disasm.c
1622
err = symbol__disassemble_capstone(symfs_filename, sym, args);
tools/perf/util/disasm.c
1626
err = symbol__disassemble_objdump(symfs_filename, sym, args);
tools/perf/util/disasm.c
275
ops->target.sym = target.ms.sym;
tools/perf/util/disasm.c
296
if (ops->target.sym)
tools/perf/util/disasm.c
297
return scnprintf(bf, size, "%-*s %s", max_ins_name, ins->name, ops->target.sym->name);
tools/perf/util/disasm.c
341
struct symbol *sym = ms->sym;
tools/perf/util/disasm.c
384
start = map__unmap_ip(map, sym->start);
tools/perf/util/disasm.c
385
end = map__unmap_ip(map, sym->end);
tools/perf/util/disasm.c
409
ops->target.sym = target.ms.sym;
tools/perf/util/disasm.c
429
if (ops->target.outside && ops->target.sym != NULL)
tools/perf/util/disasm.c
430
return scnprintf(bf, size, "%-*s %s", max_ins_name, ins->name, ops->target.sym->name);
tools/perf/util/disasm.c
944
struct annotation *notes = symbol__annotation(args->ms->sym);
tools/perf/util/disasm.h
164
int symbol__disassemble(struct symbol *sym, struct annotate_args *args);
tools/perf/util/disasm.h
64
struct symbol *sym;
tools/perf/util/dlfilter.c
30
struct symbol *sym = al->sym;
tools/perf/util/dlfilter.c
49
if (sym) {
tools/perf/util/dlfilter.c
50
d_al->sym = sym->name;
tools/perf/util/dlfilter.c
51
d_al->sym_start = sym->start;
tools/perf/util/dlfilter.c
52
d_al->sym_end = sym->end;
tools/perf/util/dlfilter.c
53
if (al->addr < sym->end)
tools/perf/util/dlfilter.c
54
d_al->symoff = al->addr - sym->start;
tools/perf/util/dlfilter.c
56
d_al->symoff = al->addr - map__start(al->map) - sym->start;
tools/perf/util/dlfilter.c
59
d_al->sym_binding = sym->binding;
tools/perf/util/dlfilter.c
61
d_al->sym = NULL;
tools/perf/util/dso.c
1943
const struct map *map, const struct symbol *sym,
tools/perf/util/dso.c
1946
u64 start = map__rip_2objdump(map, sym->start);
tools/perf/util/dso.c
1947
u64 end = map__rip_2objdump(map, sym->end);
tools/perf/util/dso.h
941
const struct map *map, const struct symbol *sym,
tools/perf/util/event.c
560
al.sym = map__find_symbol(al.map, al.addr);
tools/perf/util/event.c
561
if (al.sym)
tools/perf/util/event.c
562
ret += symbol__fprintf_symname_offs(al.sym, &al, fp);
tools/perf/util/event.c
773
al->sym = NULL;
tools/perf/util/event.c
775
al->sym = map__find_symbol(al->map, al->addr);
tools/perf/util/event.c
776
return al->sym;
tools/perf/util/event.c
782
al->sym = NULL;
tools/perf/util/event.c
784
al->sym = map__find_symbol(al->map, al->addr);
tools/perf/util/event.c
785
return al->sym;
tools/perf/util/event.c
832
al->sym = NULL;
tools/perf/util/event.c
865
al->sym = map__find_symbol(al->map, al->addr);
tools/perf/util/event.c
875
if (al->sym) {
tools/perf/util/event.c
877
al->sym->name);
tools/perf/util/event.c
879
if (!ret && al->sym) {
tools/perf/util/event.c
881
map__unmap_ip(al->map, al->sym->start));
tools/perf/util/event.c
930
al->sym = NULL;
tools/perf/util/event.c
933
al->sym = map__find_symbol(al->map, al->addr);
tools/perf/util/evsel_fprintf.c
138
struct symbol *sym;
tools/perf/util/evsel_fprintf.c
146
sym = node->ms.sym;
tools/perf/util/evsel_fprintf.c
149
if (sym && sym->ignore && print_skip_ignored)
tools/perf/util/evsel_fprintf.c
175
printed += __symbol__fprintf_symname_offs(sym, &node_al,
tools/perf/util/evsel_fprintf.c
179
printed += __symbol__fprintf_symname(sym, &node_al,
tools/perf/util/evsel_fprintf.c
185
if (print_dso && (!sym || !sym->inlined))
tools/perf/util/evsel_fprintf.c
195
if (sym && sym->inlined)
tools/perf/util/evsel_fprintf.c
202
if (bt_stop_list && sym &&
tools/perf/util/evsel_fprintf.c
203
strlist__has_entry(bt_stop_list, sym->name)) {
tools/perf/util/evsel_fprintf.c
241
printed += __symbol__fprintf_symname_offs(al->sym, al,
tools/perf/util/evsel_fprintf.c
245
printed += __symbol__fprintf_symname(al->sym, al,
tools/perf/util/genelf.c
182
jit_write_elf(int fd, uint64_t load_addr __maybe_unused, const char *sym,
tools/perf/util/genelf.c
366
symlen = 2 + strlen(sym);
tools/perf/util/genelf.c
372
strcpy(strsym + 1, sym);
tools/perf/util/genelf.h
8
int jit_write_elf(int fd, uint64_t code_addr, const char *sym,
tools/perf/util/hist.c
100
symlen = h->ms.sym->namelen + 4;
tools/perf/util/hist.c
1027
al->sym = bi[i].to.ms.sym;
tools/perf/util/hist.c
1045
if (iter->hide_unresolved && !(bi[i].from.ms.sym && bi[i].to.ms.sym))
tools/perf/util/hist.c
1210
struct symbol *sym_l = left->ms.sym;
tools/perf/util/hist.c
1211
struct symbol *sym_r = right->ms.sym;
tools/perf/util/hist.c
123
if (h->branch_info->from.ms.sym) {
tools/perf/util/hist.c
1237
.sym = al->sym,
tools/perf/util/hist.c
124
symlen = (int)h->branch_info->from.ms.sym->namelen + 4;
tools/perf/util/hist.c
1246
bool fast = hists__has(he_tmp.hists, sym);
tools/perf/util/hist.c
138
if (h->branch_info->to.ms.sym) {
tools/perf/util/hist.c
139
symlen = (int)h->branch_info->to.ms.sym->namelen + 4;
tools/perf/util/hist.c
162
if (mem_info__daddr(h->mem_info)->ms.sym) {
tools/perf/util/hist.c
163
symlen = (int)mem_info__daddr(h->mem_info)->ms.sym->namelen + 4
tools/perf/util/hist.c
177
if (mem_info__iaddr(h->mem_info)->ms.sym) {
tools/perf/util/hist.c
178
symlen = (int)mem_info__iaddr(h->mem_info)->ms.sym->namelen + 4
tools/perf/util/hist.c
2298
(!he->ms.sym || strstr(he->ms.sym->name,
tools/perf/util/hist.c
723
if (hists__has(hists, sym) && he->ms.map != entry->ms.map) {
tools/perf/util/hist.c
724
if (he->ms.sym) {
tools/perf/util/hist.c
725
u64 addr = he->ms.sym->start;
tools/perf/util/hist.c
726
he->ms.sym = map__find_symbol(entry->ms.map, addr);
tools/perf/util/hist.c
815
.sym = al->sym,
tools/perf/util/hist.c
895
.sym = al->sym,
tools/perf/util/hist.c
99
if (h->ms.sym) {
tools/perf/util/hist.h
520
int sym;
tools/perf/util/include/linux/linkage.h
136
#define SYM_PIC_ALIAS(sym) SYM_ALIAS(__pi_ ## sym, sym, SYM_T_FUNC, SYM_L_GLOBAL)
tools/perf/util/intel-pt.c
2965
struct symbol *sym, *start;
tools/perf/util/intel-pt.c
2981
for (sym = start; sym; sym = dso__next_symbol(sym)) {
tools/perf/util/intel-pt.c
2982
if (sym->binding == STB_GLOBAL &&
tools/perf/util/intel-pt.c
2983
!strcmp(sym->name, "__switch_to")) {
tools/perf/util/intel-pt.c
2984
ip = map__unmap_ip(map, sym->start);
tools/perf/util/intel-pt.c
3000
for (sym = start; sym; sym = dso__next_symbol(sym)) {
tools/perf/util/intel-pt.c
3001
if (!strcmp(sym->name, ptss)) {
tools/perf/util/intel-pt.c
3002
ip = map__unmap_ip(map, sym->start);
tools/perf/util/jitdump.c
436
const char *sym;
tools/perf/util/jitdump.c
451
sym = (void *)((unsigned long)jr + sizeof(jr->load));
tools/perf/util/jitdump.c
470
ret = jit_emit_elf(jd, filename, sym, addr, (const void *)uaddr, csize, jd->debug_data, jd->nr_debug_entries,
tools/perf/util/jitdump.c
72
const char *sym,
tools/perf/util/jitdump.c
98
ret = jit_write_elf(fd, code_addr, sym, (const void *)code, csize, debug, nr_debug_entries,
tools/perf/util/libbfd.c
210
struct symbol *sym)
tools/perf/util/libbfd.c
213
struct symbol *inline_sym = new_inline_sym(dso, sym, a2l->funcname);
tools/perf/util/libbfd.c
225
struct symbol *sym)
tools/perf/util/libbfd.c
252
if (node && inline_list__append_dso_a2l(dso, node, sym))
tools/perf/util/libbfd.c
263
if (inline_list__append_dso_a2l(dso, node, sym))
tools/perf/util/libbfd.c
320
asymbol **symbols, *sym;
tools/perf/util/libbfd.c
381
sym = symbols[i];
tools/perf/util/libbfd.c
382
section = bfd_asymbol_section(sym);
tools/perf/util/libbfd.c
383
if (bfd2elf_binding(sym) < 0)
tools/perf/util/libbfd.c
393
len = symbols[i + 1]->value - sym->value;
tools/perf/util/libbfd.c
395
len = section->size - sym->value;
tools/perf/util/libbfd.c
397
start = bfd_asymbol_value(sym) - dso__text_offset(dso);
tools/perf/util/libbfd.c
398
symbol = symbol__new(start, len, bfd2elf_binding(sym), STT_FUNC,
tools/perf/util/libbfd.c
399
bfd_asymbol_name(sym));
tools/perf/util/libbfd.c
495
int symbol__disassemble_bpf_libbfd(struct symbol *sym __maybe_unused,
tools/perf/util/libbfd.c
499
struct annotation *notes = symbol__annotation(sym);
tools/perf/util/libbfd.c
502
int len = sym->end - sym->start;
tools/perf/util/libbfd.c
522
sym->name, sym->start, sym->end - sym->start);
tools/perf/util/libbfd.c
615
args->ms->sym = sym;
tools/perf/util/libbfd.c
627
args->ms->sym = sym;
tools/perf/util/libbfd.h
20
struct symbol *sym);
tools/perf/util/libbfd.h
25
int symbol__disassemble_libbfd(const char *filename, struct symbol *sym,
tools/perf/util/libbfd.h
32
int symbol__disassemble_bpf_libbfd(struct symbol *sym, struct annotate_args *args);
tools/perf/util/libbfd.h
44
struct symbol *sym __always_unused)
tools/perf/util/libbfd.h
55
struct symbol *sym __always_unused,
tools/perf/util/libbfd.h
74
static inline int symbol__disassemble_bpf_libbfd(struct symbol *sym __always_unused,
tools/perf/util/libdw.c
116
struct inline_node *node, struct symbol *sym)
tools/perf/util/libdw.c
160
.sym = sym,
tools/perf/util/libdw.c
71
struct symbol *sym;
tools/perf/util/libdw.c
80
struct symbol *inline_sym = new_inline_sym(args->dso, args->sym, dwarf_diename(die));
tools/perf/util/libdw.h
31
struct symbol *sym);
tools/perf/util/libdw.h
48
struct symbol *sym __maybe_unused)
tools/perf/util/llvm.c
116
int symbol__disassemble_llvm(const char *filename, struct symbol *sym,
tools/perf/util/llvm.c
120
struct annotation *notes = symbol__annotation(sym);
tools/perf/util/llvm.c
123
u64 start = map__rip_2objdump(map, sym->start);
tools/perf/util/llvm.c
143
buf = dso__read_symbol(dso, filename, map, sym,
tools/perf/util/llvm.c
181
start, sym->name);
tools/perf/util/llvm.c
187
args->ms->sym = sym;
tools/perf/util/llvm.c
245
args->ms->sym = sym;
tools/perf/util/llvm.c
270
sym->name, filename);
tools/perf/util/llvm.c
38
struct inline_node *node __maybe_unused, struct symbol *sym __maybe_unused)
tools/perf/util/llvm.c
52
new_inline_sym(dso, sym, inline_frames[i].funcname);
tools/perf/util/llvm.h
16
struct symbol *sym);
tools/perf/util/llvm.h
18
int symbol__disassemble_llvm(const char *filename, struct symbol *sym,
tools/perf/util/lock-contention.c
105
struct symbol *sym;
tools/perf/util/lock-contention.c
133
sym = machine__find_kernel_symbol(machine, ip, &kmap);
tools/perf/util/lock-contention.c
134
if (sym == NULL)
tools/perf/util/lock-contention.c
138
if (strstr(sym->name, filter->name))
tools/perf/util/lock-contention.h
22
char *sym;
tools/perf/util/machine.c
1077
struct symbol *sym = dso__first_symbol(dso);
tools/perf/util/machine.c
1080
for (; sym; sym = dso__next_symbol(sym)) {
tools/perf/util/machine.c
1081
if (sym->binding != STB_GLOBAL)
tools/perf/util/machine.c
1084
if (!strcmp(sym->name, syms[i]))
tools/perf/util/machine.c
1085
return sym->start;
tools/perf/util/machine.c
1995
static bool symbol__match_regex(struct symbol *sym, regex_t *regex)
tools/perf/util/machine.c
1997
return regexec(regex, sym->name, 0, NULL, 0) == 0;
tools/perf/util/machine.c
2020
ams->ms.sym = al.sym;
tools/perf/util/machine.c
2041
ams->ms.sym = al.sym;
tools/perf/util/machine.c
2081
ms->sym, show_sym, show_addr, ip);
tools/perf/util/machine.c
2097
struct symbol *sym = ms->sym;
tools/perf/util/machine.c
2107
if (!symbol_conf.inline_name || !map || !sym)
tools/perf/util/machine.c
2116
inline_node = dso__parse_addr_inlines(dso, addr, sym);
tools/perf/util/machine.c
2127
ilist_ms.sym = ilist->symbol;
tools/perf/util/machine.c
2166
al.sym = NULL;
tools/perf/util/machine.c
2202
if (al.sym != NULL) {
tools/perf/util/machine.c
2204
symbol__match_regex(al.sym, &parent_regex))
tools/perf/util/machine.c
2205
*parent = al.sym;
tools/perf/util/machine.c
2207
symbol__match_regex(al.sym, &ignore_callees_regex)) {
tools/perf/util/machine.c
2215
if (symbol_conf.hide_unresolved && al.sym == NULL)
tools/perf/util/machine.c
2225
ms.sym = al.sym;
tools/perf/util/machine.c
2968
if (symbol_conf.hide_unresolved && entry->ms.sym == NULL)
tools/perf/util/machine.c
3232
struct symbol *sym = machine__find_kernel_symbol(machine, *addrp, &map);
tools/perf/util/machine.c
3234
if (sym == NULL)
tools/perf/util/machine.c
3238
*addrp = map__unmap_ip(map, sym->start);
tools/perf/util/machine.c
3239
return sym->name;
tools/perf/util/machine.c
3277
struct symbol *sym = machine__find_kernel_symbol_by_name(machine, "__sched_text_start", &kmap);
tools/perf/util/machine.c
3279
if (!sym) {
tools/perf/util/machine.c
3285
machine->sched.text_start = map__unmap_ip(kmap, sym->start);
tools/perf/util/machine.c
3288
sym = machine__find_kernel_symbol_by_name(machine, "__sched_text_end", &kmap);
tools/perf/util/machine.c
3289
machine->sched.text_end = map__unmap_ip(kmap, sym->start);
tools/perf/util/machine.c
3291
sym = machine__find_kernel_symbol_by_name(machine, "__lock_text_start", &kmap);
tools/perf/util/machine.c
3292
machine->lock.text_start = map__unmap_ip(kmap, sym->start);
tools/perf/util/machine.c
3294
sym = machine__find_kernel_symbol_by_name(machine, "__lock_text_end", &kmap);
tools/perf/util/machine.c
3295
machine->lock.text_end = map__unmap_ip(kmap, sym->start);
tools/perf/util/machine.c
3297
sym = machine__find_kernel_symbol_by_name(machine, "__traceiter_contention_begin", &kmap);
tools/perf/util/machine.c
3298
if (sym) {
tools/perf/util/machine.c
3299
machine->traceiter.text_start = map__unmap_ip(kmap, sym->start);
tools/perf/util/machine.c
3300
machine->traceiter.text_end = map__unmap_ip(kmap, sym->end);
tools/perf/util/machine.c
3302
sym = machine__find_kernel_symbol_by_name(machine, "trace_contention_begin", &kmap);
tools/perf/util/machine.c
3303
if (sym) {
tools/perf/util/machine.c
3304
machine->trace.text_start = map__unmap_ip(kmap, sym->start);
tools/perf/util/machine.c
3305
machine->trace.text_end = map__unmap_ip(kmap, sym->end);
tools/perf/util/machine.c
730
struct symbol *sym;
tools/perf/util/machine.c
772
sym = symbol__new(map__map_ip(map, map__start(map)),
tools/perf/util/machine.c
775
if (!sym) {
tools/perf/util/machine.c
779
dso__insert_symbol(dso, sym);
tools/perf/util/machine.c
790
struct symbol *sym;
tools/perf/util/machine.c
802
sym = dso__find_symbol(dso, map__map_ip(map, map__start(map)));
tools/perf/util/machine.c
803
if (sym)
tools/perf/util/machine.c
804
dso__delete_symbol(dso, sym);
tools/perf/util/map.c
322
struct symbol *sym = rb_entry(nd, struct symbol, rb_node);
tools/perf/util/map.c
324
map__set_start(map, sym->start);
tools/perf/util/map.c
335
struct symbol *sym = rb_entry(nd, struct symbol, rb_node);
tools/perf/util/map.c
336
map__set_end(map, sym->end);
tools/perf/util/map.c
487
char *map__srcline(struct map *map, u64 addr, struct symbol *sym)
tools/perf/util/map.c
492
return get_srcline(map__dso(map), map__rip_2objdump(map, addr), sym, true, true, addr);
tools/perf/util/map.c
607
bool map__contains_symbol(const struct map *map, const struct symbol *sym)
tools/perf/util/map.c
609
u64 ip = map__unmap_ip(map, sym->start);
tools/perf/util/map.h
207
char *map__srcline(struct map *map, u64 addr, struct symbol *sym);
tools/perf/util/map.h
236
bool map__contains_symbol(const struct map *map, const struct symbol *sym);
tools/perf/util/map_symbol.c
22
dst->sym = src->sym;
tools/perf/util/map_symbol.h
15
struct symbol *sym;
tools/perf/util/maps.c
673
struct symbol *sym;
tools/perf/util/maps.c
680
args->sym = map__find_symbol_by_name(map, args->name);
tools/perf/util/maps.c
681
if (!args->sym)
tools/perf/util/maps.c
684
if (!map__contains_symbol(map, args->sym)) {
tools/perf/util/maps.c
685
args->sym = NULL;
tools/perf/util/maps.c
699
.sym = NULL,
tools/perf/util/maps.c
703
return args.sym;
tools/perf/util/maps.c
718
ams->ms.sym = map__find_symbol(ams->ms.map, ams->al_addr);
tools/perf/util/maps.c
720
return ams->ms.sym ? 0 : -1;
tools/perf/util/probe-event.c
141
struct symbol *sym;
tools/perf/util/probe-event.c
150
sym = machine__find_kernel_symbol_by_name(host_machine, name, &map);
tools/perf/util/probe-event.c
151
if (!sym)
tools/perf/util/probe-event.c
153
*addr = map__unmap_ip(map, sym->start) -
tools/perf/util/probe-event.c
2287
struct symbol *sym = NULL;
tools/perf/util/probe-event.c
2296
sym = map__find_symbol(map, addr);
tools/perf/util/probe-event.c
2305
sym = machine__find_kernel_symbol(host_machine, addr, &map);
tools/perf/util/probe-event.c
2309
if (!sym)
tools/perf/util/probe-event.c
2313
pp->offset = addr - map__unmap_ip(map, sym->start);
tools/perf/util/probe-event.c
2314
pp->function = strdup(sym->name);
tools/perf/util/probe-event.c
3055
struct symbol *sym;
tools/perf/util/probe-event.c
3068
map__for_each_symbol(map, sym, tmp) {
tools/perf/util/probe-event.c
3069
norm = arch__normalize_symbol_name(sym->name);
tools/perf/util/probe-event.c
3087
syms[found - 1] = sym;
tools/perf/util/probe-event.c
3099
struct symbol *sym __maybe_unused) { }
tools/perf/util/probe-event.c
3121
struct symbol *sym;
tools/perf/util/probe-event.c
3191
sym = syms[j];
tools/perf/util/probe-event.c
3193
if (sym->type != STT_FUNC)
tools/perf/util/probe-event.c
3198
if (sym->start == syms[i]->start) {
tools/perf/util/probe-event.c
3200
sym->name, sym->start);
tools/perf/util/probe-event.c
3214
if (pp->offset > sym->end - sym->start) {
tools/perf/util/probe-event.c
3216
pp->offset, sym->name);
tools/perf/util/probe-event.c
3221
tp->address = map__unmap_ip(map, sym->start) + pp->offset;
tools/perf/util/probe-event.c
3225
kprobe_warn_out_range(sym->name, tp->address)) {
tools/perf/util/probe-event.c
3232
tp->symbol = strdup_or_goto(sym->name, nomem_out);
tools/perf/util/probe-event.c
3235
tp->realname = strdup_or_goto(sym->name, nomem_out);
tools/perf/util/probe-event.c
3272
arch__fix_tev_from_maps(pev, tev, map, sym);
tools/perf/util/probe-event.c
403
struct symbol *sym;
tools/perf/util/probe-event.c
417
map__for_each_symbol_by_name(map, pp->function, sym, idx) {
tools/perf/util/probe-event.c
419
address = sym->start;
tools/perf/util/probe-event.c
420
if (sym->type == STT_GNU_IFUNC)
tools/perf/util/probe-event.c
425
address = map__unmap_ip(map, sym->start) - map__reloc(map);
tools/perf/util/probe-event.c
713
struct symbol *sym;
tools/perf/util/probe-event.c
716
sym = map__find_symbol(map, addr);
tools/perf/util/probe-event.c
717
if (!sym) {
tools/perf/util/probe-event.c
725
if (strcmp(sym->name, tp->symbol)) {
tools/perf/util/probe-event.c
731
tp->symbol = strdup(sym->name);
tools/perf/util/probe-event.c
735
tp->offset = addr - sym->start;
tools/perf/util/probe-event.h
183
struct symbol *sym);
tools/perf/util/probe-finder.c
539
GElf_Sym sym;
tools/perf/util/probe-finder.c
554
symbol = dwfl_module_addrsym(mod, paddr, &sym, NULL);
tools/perf/util/probe-finder.c
555
eaddr = sym.st_value;
tools/perf/util/scripting-engines/trace-event-perl.c
299
if (node->ms.sym) {
tools/perf/util/scripting-engines/trace-event-perl.c
300
HV *sym = newHV();
tools/perf/util/scripting-engines/trace-event-perl.c
301
if (!sym) {
tools/perf/util/scripting-engines/trace-event-perl.c
305
if (!hv_stores(sym, "start", newSVuv(node->ms.sym->start)) ||
tools/perf/util/scripting-engines/trace-event-perl.c
306
!hv_stores(sym, "end", newSVuv(node->ms.sym->end)) ||
tools/perf/util/scripting-engines/trace-event-perl.c
307
!hv_stores(sym, "binding", newSVuv(node->ms.sym->binding)) ||
tools/perf/util/scripting-engines/trace-event-perl.c
308
!hv_stores(sym, "name", newSVpvn(node->ms.sym->name,
tools/perf/util/scripting-engines/trace-event-perl.c
309
node->ms.sym->namelen)) ||
tools/perf/util/scripting-engines/trace-event-perl.c
310
!hv_stores(elem, "sym", newRV_noinc((SV*)sym))) {
tools/perf/util/scripting-engines/trace-event-perl.c
311
hv_undef(sym);
tools/perf/util/scripting-engines/trace-event-python.c
1265
static int python_export_symbol(struct db_export *dbe, struct symbol *sym,
tools/perf/util/scripting-engines/trace-event-python.c
1269
u64 *sym_db_id = symbol__priv(sym);
tools/perf/util/scripting-engines/trace-event-python.c
1276
tuple_set_d64(t, 2, sym->start);
tools/perf/util/scripting-engines/trace-event-python.c
1277
tuple_set_d64(t, 3, sym->end);
tools/perf/util/scripting-engines/trace-event-python.c
1278
tuple_set_s32(t, 4, sym->binding);
tools/perf/util/scripting-engines/trace-event-python.c
1279
tuple_set_string(t, 5, sym->name);
tools/perf/util/scripting-engines/trace-event-python.c
1384
sym_db_id = cp->sym ? *(u64 *)symbol__priv(cp->sym) : 0;
tools/perf/util/scripting-engines/trace-event-python.c
380
static unsigned long get_offset(struct symbol *sym, struct addr_location *al)
tools/perf/util/scripting-engines/trace-event-python.c
384
if (al->addr < sym->end)
tools/perf/util/scripting-engines/trace-event-python.c
385
offset = al->addr - sym->start;
tools/perf/util/scripting-engines/trace-event-python.c
387
offset = al->addr - map__start(al->map) - sym->start;
tools/perf/util/scripting-engines/trace-event-python.c
431
if (node->ms.sym) {
tools/perf/util/scripting-engines/trace-event-python.c
436
PyLong_FromUnsignedLongLong(node->ms.sym->start));
tools/perf/util/scripting-engines/trace-event-python.c
438
PyLong_FromUnsignedLongLong(node->ms.sym->end));
tools/perf/util/scripting-engines/trace-event-python.c
440
_PyLong_FromLong(node->ms.sym->binding));
tools/perf/util/scripting-engines/trace-event-python.c
442
_PyUnicode_FromStringAndSize(node->ms.sym->name,
tools/perf/util/scripting-engines/trace-event-python.c
443
node->ms.sym->namelen));
tools/perf/util/scripting-engines/trace-event-python.c
454
offset = get_offset(node->ms.sym, &node_al);
tools/perf/util/scripting-engines/trace-event-python.c
545
static int get_symoff(struct symbol *sym, struct addr_location *al,
tools/perf/util/scripting-engines/trace-event-python.c
550
if (!sym || !sym->name[0])
tools/perf/util/scripting-engines/trace-event-python.c
554
return scnprintf(bf, size, "%s", sym->name);
tools/perf/util/scripting-engines/trace-event-python.c
556
offset = get_offset(sym, al);
tools/perf/util/scripting-engines/trace-event-python.c
558
return scnprintf(bf, size, "%s+0x%x", sym->name, offset);
tools/perf/util/scripting-engines/trace-event-python.c
599
get_symoff(al.sym, &al, true, bf, sizeof(bf));
tools/perf/util/scripting-engines/trace-event-python.c
605
get_symoff(al.sym, &al, true, bf, sizeof(bf));
tools/perf/util/scripting-engines/trace-event-python.c
802
if (al->sym) {
tools/perf/util/scripting-engines/trace-event-python.c
804
_PyUnicode_FromString(al->sym->name));
tools/perf/util/scripting-engines/trace-event-python.c
806
PyLong_FromUnsignedLong(get_offset(al->sym, al)));
tools/perf/util/sort.c
1246
if (!from_l->ms.sym && !from_r->ms.sym)
tools/perf/util/sort.c
1249
return _sort__sym_cmp(from_l->ms.sym, from_r->ms.sym);
tools/perf/util/sort.c
1263
if (!to_l->ms.sym && !to_r->ms.sym)
tools/perf/util/sort.c
1266
return _sort__sym_cmp(to_l->ms.sym, to_r->ms.sym);
tools/perf/util/sort.c
1298
const char *sym = arg;
tools/perf/util/sort.c
1303
return sym && !(he->branch_info && he->branch_info->from.ms.sym &&
tools/perf/util/sort.c
1304
strstr(he->branch_info->from.ms.sym->name, sym));
tools/perf/util/sort.c
1310
const char *sym = arg;
tools/perf/util/sort.c
1315
return sym && !(he->branch_info && he->branch_info->to.ms.sym &&
tools/perf/util/sort.c
1316
strstr(he->branch_info->to.ms.sym->name, sym));
tools/perf/util/sort.c
1355
struct symbol *sym = ms->sym;
tools/perf/util/sort.c
1360
if (sym && map) {
tools/perf/util/sort.c
1361
if (sym->type == STT_OBJECT) {
tools/perf/util/sort.c
1362
ret += repsep_snprintf(bf + ret, size - ret, "%s", sym->name);
tools/perf/util/sort.c
1364
ip - map__unmap_ip(map, sym->start));
tools/perf/util/sort.c
1368
sym->name);
tools/perf/util/sort.c
1369
offs = ip - sym->start;
tools/perf/util/sort.c
2253
return _sort__sym_size_cmp(right->ms.sym, left->ms.sym);
tools/perf/util/sort.c
2256
static int _hist_entry__sym_size_snprintf(struct symbol *sym, char *bf,
tools/perf/util/sort.c
2259
if (sym)
tools/perf/util/sort.c
2260
return repsep_snprintf(bf, bf_size, "%*d", width, symbol__size(sym));
tools/perf/util/sort.c
2268
return _hist_entry__sym_size_snprintf(he->ms.sym, bf, size, width);
tools/perf/util/sort.c
2835
MK_SORT_ENTRY_CHK(sym)
tools/perf/util/sort.c
3562
list->sym = 1;
tools/perf/util/sort.c
3573
list->sym = 1;
tools/perf/util/sort.c
3585
list->sym = 1;
tools/perf/util/sort.c
3589
list->sym = 1;
tools/perf/util/sort.c
367
if (!left->ms.sym && !right->ms.sym)
tools/perf/util/sort.c
380
return _sort__sym_cmp(left->ms.sym, right->ms.sym);
tools/perf/util/sort.c
386
if (!left->ms.sym || !right->ms.sym)
tools/perf/util/sort.c
387
return cmp_null(left->ms.sym, right->ms.sym);
tools/perf/util/sort.c
389
return strcmp(right->ms.sym->name, left->ms.sym->name);
tools/perf/util/sort.c
396
struct symbol *sym = ms->sym;
tools/perf/util/sort.c
413
if (sym && map) {
tools/perf/util/sort.c
414
if (sym->type == STT_OBJECT) {
tools/perf/util/sort.c
415
ret += repsep_snprintf(bf + ret, size - ret, "%s", sym->name);
tools/perf/util/sort.c
417
ip - map__unmap_ip(map, sym->start));
tools/perf/util/sort.c
421
sym->name);
tools/perf/util/sort.c
422
if (sym->inlined)
tools/perf/util/sort.c
4283
perf_hpp_list.sym = 0;
tools/perf/util/sort.c
443
const char *sym = arg;
tools/perf/util/sort.c
448
return sym && (!he->ms.sym || !strstr(he->ms.sym->name, sym));
tools/perf/util/sort.c
489
struct symbol *sym = he->ms.sym;
tools/perf/util/sort.c
491
if (sym == NULL)
tools/perf/util/sort.c
494
return repsep_snprintf(bf, size, "[%c] %s+0x%llx", he->level, sym->name, he->ip - sym->start);
tools/perf/util/sort.c
510
return map__srcline(he->ms.map, he->ip, he->ms.sym);
tools/perf/util/sort.c
569
return map__srcline(ams->ms.map, ams->al_addr, ams->ms.sym);
tools/perf/util/sort.c
670
struct symbol *sym = he->ms.sym;
tools/perf/util/sort.c
675
if (!sym)
tools/perf/util/sort.c
678
branch = symbol__annotation(sym)->branch;
tools/perf/util/sort.c
826
e->ms.sym, false, true, true, e->ip);
tools/perf/util/srcline.c
141
struct symbol *sym)
tools/perf/util/srcline.c
165
node, sym);
tools/perf/util/srcline.c
169
node, sym);
tools/perf/util/srcline.c
173
node, sym);
tools/perf/util/srcline.c
177
node, sym);
tools/perf/util/srcline.c
235
struct dso *dso, struct symbol *sym)
tools/perf/util/srcline.c
249
/*unwind_inlines=*/true, node, sym);
tools/perf/util/srcline.c
260
char *__get_srcline(struct dso *dso, u64 addr, struct symbol *sym,
tools/perf/util/srcline.c
277
unwind_inlines, /*node=*/NULL, sym))
tools/perf/util/srcline.c
298
return (show_sym && sym) ?
tools/perf/util/srcline.c
299
strndup(sym->name, sym->namelen) : SRCLINE_UNKNOWN;
tools/perf/util/srcline.c
301
if (sym) {
tools/perf/util/srcline.c
302
if (asprintf(&srcline, "%s+%" PRIu64, show_sym ? sym->name : "",
tools/perf/util/srcline.c
303
ip - sym->start) < 0)
tools/perf/util/srcline.c
351
char *get_srcline(struct dso *dso, u64 addr, struct symbol *sym,
tools/perf/util/srcline.c
354
return __get_srcline(dso, addr, sym, show_sym, show_addr, false, ip);
tools/perf/util/srcline.c
427
struct symbol *sym)
tools/perf/util/srcline.c
435
return addr2inlines(dso_name, addr, dso, sym);
tools/perf/util/srcline.h
13
char *get_srcline(struct dso *dso, u64 addr, struct symbol *sym,
tools/perf/util/srcline.h
15
char *__get_srcline(struct dso *dso, u64 addr, struct symbol *sym,
tools/perf/util/srcline.h
47
struct symbol *sym);
tools/perf/util/symbol-elf.c
100
return GELF_ST_VISIBILITY(sym->st_other);
tools/perf/util/symbol-elf.c
107
static inline int elf_sym__is_function(const GElf_Sym *sym)
tools/perf/util/symbol-elf.c
109
return (elf_sym__type(sym) == STT_FUNC ||
tools/perf/util/symbol-elf.c
110
elf_sym__type(sym) == STT_GNU_IFUNC) &&
tools/perf/util/symbol-elf.c
111
sym->st_name != 0 &&
tools/perf/util/symbol-elf.c
112
sym->st_shndx != SHN_UNDEF;
tools/perf/util/symbol-elf.c
115
static inline bool elf_sym__is_object(const GElf_Sym *sym)
tools/perf/util/symbol-elf.c
117
return elf_sym__type(sym) == STT_OBJECT &&
tools/perf/util/symbol-elf.c
118
sym->st_name != 0 &&
tools/perf/util/symbol-elf.c
119
sym->st_shndx != SHN_UNDEF;
tools/perf/util/symbol-elf.c
122
static inline int elf_sym__is_label(const GElf_Sym *sym)
tools/perf/util/symbol-elf.c
124
return elf_sym__type(sym) == STT_NOTYPE &&
tools/perf/util/symbol-elf.c
125
sym->st_name != 0 &&
tools/perf/util/symbol-elf.c
126
sym->st_shndx != SHN_UNDEF &&
tools/perf/util/symbol-elf.c
127
sym->st_shndx != SHN_ABS &&
tools/perf/util/symbol-elf.c
128
elf_sym__visibility(sym) != STV_HIDDEN &&
tools/perf/util/symbol-elf.c
129
elf_sym__visibility(sym) != STV_INTERNAL;
tools/perf/util/symbol-elf.c
132
static bool elf_sym__filter(GElf_Sym *sym)
tools/perf/util/symbol-elf.c
134
return elf_sym__is_function(sym) || elf_sym__is_object(sym);
tools/perf/util/symbol-elf.c
1344
GElf_Sym *sym __maybe_unused) { }
tools/perf/util/symbol-elf.c
1347
GElf_Sym *sym, GElf_Shdr *shdr,
tools/perf/util/symbol-elf.c
1360
sym->st_value -= shdr->sh_addr - shdr->sh_offset;
tools/perf/util/symbol-elf.c
137
static inline const char *elf_sym__name(const GElf_Sym *sym,
tools/perf/util/symbol-elf.c
140
return symstrs->d_buf + sym->st_name;
tools/perf/util/symbol-elf.c
1423
u64 start = sym->st_value;
tools/perf/util/symbol-elf.c
1484
GElf_Sym sym;
tools/perf/util/symbol-elf.c
1543
memset(&sym, 0, sizeof(sym));
tools/perf/util/symbol-elf.c
1550
elf_symtab__for_each_symbol(syms, nr_syms, idx, sym) {
tools/perf/util/symbol-elf.c
1551
const char *elf_name = elf_sym__name(&sym, symstrs);
tools/perf/util/symbol-elf.c
1555
kmap->ref_reloc_sym->unrelocated_addr = sym.st_value;
tools/perf/util/symbol-elf.c
1582
elf_symtab__for_each_symbol(syms, nr_syms, idx, sym) {
tools/perf/util/symbol-elf.c
1584
const char *elf_name = elf_sym__name(&sym, symstrs);
tools/perf/util/symbol-elf.c
1586
int is_label = elf_sym__is_label(&sym);
tools/perf/util/symbol-elf.c
1590
if (!is_label && !elf_sym__filter(&sym))
tools/perf/util/symbol-elf.c
1608
if (runtime_ss->opdsec && sym.st_shndx == runtime_ss->opdidx) {
tools/perf/util/symbol-elf.c
1609
u32 offset = sym.st_value - syms_ss->opdshdr.sh_addr;
tools/perf/util/symbol-elf.c
1611
sym.st_value = DSO__SWAP(dso, u64, *opd);
tools/perf/util/symbol-elf.c
1612
sym.st_shndx = elf_addr_to_index(runtime_ss->elf,
tools/perf/util/symbol-elf.c
1613
sym.st_value);
tools/perf/util/symbol-elf.c
1626
if (sym.st_shndx == SHN_ABS)
tools/perf/util/symbol-elf.c
1629
sec = elf_getscn(syms_ss->elf, sym.st_shndx);
tools/perf/util/symbol-elf.c
1655
sec = elf_getscn(runtime_ss->elf, sym.st_shndx);
tools/perf/util/symbol-elf.c
1671
(GELF_ST_TYPE(sym.st_info) == STT_FUNC) &&
tools/perf/util/symbol-elf.c
1672
(sym.st_value & 1))
tools/perf/util/symbol-elf.c
1673
--sym.st_value;
tools/perf/util/symbol-elf.c
1676
if (dso__process_kernel_symbol(dso, map, &sym, &shdr,
tools/perf/util/symbol-elf.c
1689
(u64)sym.st_value, &phdr)) {
tools/perf/util/symbol-elf.c
1692
__func__, elf_name, (u64)sym.st_value);
tools/perf/util/symbol-elf.c
1695
__func__, (u64)sym.st_value, (u64)shdr.sh_addr,
tools/perf/util/symbol-elf.c
1705
sym.st_value -= shdr.sh_addr - shdr.sh_offset;
tools/perf/util/symbol-elf.c
1709
__func__, (u64)sym.st_value, (u64)phdr.p_vaddr,
tools/perf/util/symbol-elf.c
1711
sym.st_value -= phdr.p_vaddr - phdr.p_offset;
tools/perf/util/symbol-elf.c
1719
f = symbol__new(sym.st_value, sym.st_size,
tools/perf/util/symbol-elf.c
1720
GELF_ST_BIND(sym.st_info),
tools/perf/util/symbol-elf.c
1721
GELF_ST_TYPE(sym.st_info), elf_name);
tools/perf/util/symbol-elf.c
1726
arch__sym_update(f, &sym);
tools/perf/util/symbol-elf.c
339
struct symbol *sym;
tools/perf/util/symbol-elf.c
350
sym = dso__find_symbol_nocache(dso, addr);
tools/perf/util/symbol-elf.c
353
if (!sym || sym->start != addr || (sym->type != STT_GNU_IFUNC && !sym->ifunc_alias))
tools/perf/util/symbol-elf.c
356
snprintf(buf, buf_sz, "%s@plt", sym->name);
tools/perf/util/symbol-elf.c
530
GElf_Sym sym;
tools/perf/util/symbol-elf.c
550
gelf_getsym(di->dynsym_data, vr->sym_idx, &sym);
tools/perf/util/symbol-elf.c
551
sym_name = elf_sym__name(&sym, di->dynstr_data);
tools/perf/util/symbol-elf.c
570
struct symbol *sym;
tools/perf/util/symbol-elf.c
586
sym = symbol__new(shdr.sh_offset + i, shdr.sh_entsize, STB_GLOBAL, STT_FUNC, buf);
tools/perf/util/symbol-elf.c
587
if (!sym)
tools/perf/util/symbol-elf.c
589
symbols__insert(dso__symbols(dso), sym);
tools/perf/util/symbol-elf.c
607
GElf_Sym sym;
tools/perf/util/symbol-elf.c
747
gelf_getsym(syms, get_rel_symidx(&ri, idx), &sym);
tools/perf/util/symbol-elf.c
749
elf_name = elf_sym__name(&sym, symstrs);
tools/perf/util/symbol-elf.c
88
#define elf_symtab__for_each_symbol(syms, nr_syms, idx, sym) \
tools/perf/util/symbol-elf.c
89
for (idx = 0, gelf_getsym(syms, idx, &sym);\
tools/perf/util/symbol-elf.c
91
idx++, gelf_getsym(syms, idx, &sym))
tools/perf/util/symbol-elf.c
93
static inline uint8_t elf_sym__type(const GElf_Sym *sym)
tools/perf/util/symbol-elf.c
95
return GELF_ST_TYPE(sym->st_info);
tools/perf/util/symbol-elf.c
98
static inline uint8_t elf_sym__visibility(const GElf_Sym *sym)
tools/perf/util/symbol.c
1544
struct symbol *sym;
tools/perf/util/symbol.c
1568
sym = symbol__new(start, size, STB_GLOBAL, STT_FUNC, line + len);
tools/perf/util/symbol.c
1570
if (sym == NULL)
tools/perf/util/symbol.c
1573
symbols__insert(dso__symbols(dso), sym);
tools/perf/util/symbol.c
309
struct symbol *sym = calloc(1, (symbol_conf.priv_size +
tools/perf/util/symbol.c
310
sizeof(*sym) + namelen));
tools/perf/util/symbol.c
311
if (sym == NULL)
tools/perf/util/symbol.c
316
struct annotation *notes = (void *)sym;
tools/perf/util/symbol.c
319
sym = ((void *)sym) + symbol_conf.priv_size;
tools/perf/util/symbol.c
322
sym->start = start;
tools/perf/util/symbol.c
323
sym->end = len ? start + len : start;
tools/perf/util/symbol.c
324
sym->type = type;
tools/perf/util/symbol.c
325
sym->binding = binding;
tools/perf/util/symbol.c
326
sym->namelen = namelen - 1;
tools/perf/util/symbol.c
329
__func__, name, start, sym->end);
tools/perf/util/symbol.c
330
memcpy(sym->name, name, namelen);
tools/perf/util/symbol.c
332
return sym;
tools/perf/util/symbol.c
335
void symbol__delete(struct symbol *sym)
tools/perf/util/symbol.c
339
struct annotation *notes = symbol__annotation(sym);
tools/perf/util/symbol.c
344
free(((void *)sym) - symbol_conf.priv_size);
tools/perf/util/symbol.c
361
struct symbol *sym, bool kernel)
tools/perf/util/symbol.c
365
const u64 ip = sym->start;
tools/perf/util/symbol.c
370
const char *name = sym->name;
tools/perf/util/symbol.c
377
sym->idle = symbol__is_idle(name);
tools/perf/util/symbol.c
390
rb_link_node(&sym->rb_node, parent, p);
tools/perf/util/symbol.c
391
rb_insert_color_cached(&sym->rb_node, symbols, leftmost);
tools/perf/util/symbol.c
394
void symbols__insert(struct rb_root_cached *symbols, struct symbol *sym)
tools/perf/util/symbol.c
396
__symbols__insert(symbols, sym, false);
tools/perf/util/symbol.c
442
static struct symbol *symbols__next(struct symbol *sym)
tools/perf/util/symbol.c
444
struct rb_node *n = rb_next(&sym->rb_node);
tools/perf/util/symbol.c
555
void dso__insert_symbol(struct dso *dso, struct symbol *sym)
tools/perf/util/symbol.c
557
__symbols__insert(dso__symbols(dso), sym, dso__kernel(dso));
tools/perf/util/symbol.c
560
if (dso__last_find_result_addr(dso) >= sym->start &&
tools/perf/util/symbol.c
561
(dso__last_find_result_addr(dso) < sym->end ||
tools/perf/util/symbol.c
562
sym->start == sym->end)) {
tools/perf/util/symbol.c
563
dso__set_last_find_result_symbol(dso, sym);
tools/perf/util/symbol.c
567
void dso__delete_symbol(struct dso *dso, struct symbol *sym)
tools/perf/util/symbol.c
569
rb_erase_cached(&sym->rb_node, dso__symbols(dso));
tools/perf/util/symbol.c
570
symbol__delete(sym);
tools/perf/util/symbol.c
599
struct symbol *dso__next_symbol(struct symbol *sym)
tools/perf/util/symbol.c
601
return symbols__next(sym);
tools/perf/util/symbol.c
765
struct symbol *sym;
tools/perf/util/symbol.c
781
sym = symbol__new(start, 0, kallsyms2elf_binding(type), kallsyms2elf_type(type), name);
tools/perf/util/symbol.c
782
if (sym == NULL)
tools/perf/util/symbol.c
788
__symbols__insert(root, sym, !strchr(name, '['));
tools/perf/util/symbol.h
107
static inline void *symbol__priv(struct symbol *sym)
tools/perf/util/symbol.h
109
return ((void *)sym) - symbol_conf.priv_size;
tools/perf/util/symbol.h
127
struct symbol *sym);
tools/perf/util/symbol.h
129
struct symbol *sym);
tools/perf/util/symbol.h
139
struct symbol *dso__next_symbol(struct symbol *sym);
tools/perf/util/symbol.h
159
size_t __symbol__fprintf_symname_offs(const struct symbol *sym,
tools/perf/util/symbol.h
163
size_t symbol__fprintf_symname_offs(const struct symbol *sym,
tools/perf/util/symbol.h
165
size_t __symbol__fprintf_symname(const struct symbol *sym,
tools/perf/util/symbol.h
168
size_t symbol__fprintf_symname(const struct symbol *sym, FILE *fp);
tools/perf/util/symbol.h
169
size_t symbol__fprintf(struct symbol *sym, FILE *fp);
tools/perf/util/symbol.h
187
void __symbols__insert(struct rb_root_cached *symbols, struct symbol *sym,
tools/perf/util/symbol.h
189
void symbols__insert(struct rb_root_cached *symbols, struct symbol *sym);
tools/perf/util/symbol.h
221
void arch__sym_update(struct symbol *s, GElf_Sym *sym);
tools/perf/util/symbol.h
75
void symbol__delete(struct symbol *sym);
tools/perf/util/symbol.h
89
static inline size_t symbol__size(const struct symbol *sym)
tools/perf/util/symbol.h
91
return sym->end - sym->start;
tools/perf/util/symbol_fprintf.c
10
size_t symbol__fprintf(struct symbol *sym, FILE *fp)
tools/perf/util/symbol_fprintf.c
13
sym->start, sym->end,
tools/perf/util/symbol_fprintf.c
14
sym->binding == STB_GLOBAL ? 'g' :
tools/perf/util/symbol_fprintf.c
15
sym->binding == STB_LOCAL ? 'l' : 'w',
tools/perf/util/symbol_fprintf.c
16
sym->name);
tools/perf/util/symbol_fprintf.c
19
size_t __symbol__fprintf_symname_offs(const struct symbol *sym,
tools/perf/util/symbol_fprintf.c
27
if (sym) {
tools/perf/util/symbol_fprintf.c
28
length = fprintf(fp, "%s", sym->name);
tools/perf/util/symbol_fprintf.c
30
if (al->addr < sym->end)
tools/perf/util/symbol_fprintf.c
31
offset = al->addr - sym->start;
tools/perf/util/symbol_fprintf.c
33
offset = al->addr - map__start(al->map) - sym->start;
tools/perf/util/symbol_fprintf.c
43
size_t symbol__fprintf_symname_offs(const struct symbol *sym,
tools/perf/util/symbol_fprintf.c
47
return __symbol__fprintf_symname_offs(sym, al, false, true, fp);
tools/perf/util/symbol_fprintf.c
50
size_t __symbol__fprintf_symname(const struct symbol *sym,
tools/perf/util/symbol_fprintf.c
54
return __symbol__fprintf_symname_offs(sym, al, unknown_as_addr, false, fp);
tools/perf/util/symbol_fprintf.c
57
size_t symbol__fprintf_symname(const struct symbol *sym, FILE *fp)
tools/perf/util/symbol_fprintf.c
59
return __symbol__fprintf_symname_offs(sym, NULL, false, false, fp);
tools/perf/util/thread-stack.c
1055
struct symbol *sym = tse->cp->sym;
tools/perf/util/thread-stack.c
1056
struct symbol *tsym = to_al->sym;
tools/perf/util/thread-stack.c
1059
if (sym && is_x86_retpoline(sym->name)) {
tools/perf/util/thread-stack.c
1071
sym = ts->stack[ts->cnt - 2].cp->sym;
tools/perf/util/thread-stack.c
1072
if (sym && sym == tsym && to_al->addr != tsym->start) {
tools/perf/util/thread-stack.c
1081
} else if (sym && sym == tsym) {
tools/perf/util/thread-stack.c
1162
to_al->sym, sample->addr,
tools/perf/util/thread-stack.c
1171
if (!err && rstate == X86_RETPOLINE_POSSIBLE && to_al->sym &&
tools/perf/util/thread-stack.c
1172
from_al->sym == to_al->sym &&
tools/perf/util/thread-stack.c
1173
to_al->addr != to_al->sym->start)
tools/perf/util/thread-stack.c
1197
sample->time, ref, from_al->sym);
tools/perf/util/thread-stack.c
1209
from_al->sym != to_al->sym && to_al->sym &&
tools/perf/util/thread-stack.c
1210
to_al->addr == to_al->sym->start) {
tools/perf/util/thread-stack.c
1221
to_al->sym, sample->addr,
tools/perf/util/thread-stack.c
816
struct symbol *sym)
tools/perf/util/thread-stack.c
826
if (tse->cp->sym == sym)
tools/perf/util/thread-stack.c
866
struct symbol *sym;
tools/perf/util/thread-stack.c
871
sym = from_al->sym;
tools/perf/util/thread-stack.c
874
sym = to_al->sym;
tools/perf/util/thread-stack.c
879
cp = call_path__findnew(cpr, &cpr->call_path, sym, ip,
tools/perf/util/thread-stack.c
911
struct symbol *fsym = from_al->sym;
tools/perf/util/thread-stack.c
912
struct symbol *tsym = to_al->sym;
tools/perf/util/thread-stack.c
944
if (parent->sym == from_al->sym) {
tools/perf/util/trace-event-parse.c
127
static const char *convert_sym(struct tep_print_flag_sym *sym)
tools/perf/util/trace-event-parse.c
134
for (; sym; sym = sym->next) {
tools/perf/util/trace-event-parse.c
135
long bitmask = strtoul(sym->value, NULL, 0);
tools/perf/util/trace-event-parse.c
144
save_states[i] = sym->str[0];
tools/perf/util/trace-event-parse.c
187
struct tep_print_flag_sym *sym = NULL;
tools/perf/util/trace-event-parse.c
193
sym = search_op(prev_state_field, arg->op.left);
tools/perf/util/trace-event-parse.c
194
if (sym)
tools/perf/util/trace-event-parse.c
195
return sym;
tools/perf/util/trace-event-parse.c
197
sym = search_op(prev_state_field, arg->op.right);
tools/perf/util/trace-event-parse.c
198
if (sym)
tools/perf/util/trace-event-parse.c
199
return sym;
tools/perf/util/trace-event-parse.c
201
sym = test_flags(prev_state_field, arg);
tools/perf/util/trace-event-parse.c
204
return sym;
tools/perf/util/trace-event-parse.c
209
struct tep_print_flag_sym *sym;
tools/perf/util/trace-event-parse.c
225
sym = search_op(state_field, arg);
tools/perf/util/trace-event-parse.c
226
if (sym)
tools/perf/util/trace-event-parse.c
227
return convert_sym(sym);
tools/perf/util/unwind-libdw.c
166
e->ms.sym = al.sym;
tools/perf/util/unwind-libdw.c
169
al.sym ? al.sym->name : "''",
tools/perf/util/unwind-libunwind-local.c
668
e.ms.sym = thread__find_symbol(thread, PERF_RECORD_MISC_USER, ip, &al);
tools/perf/util/unwind-libunwind-local.c
674
al.sym ? al.sym->name : "''",
tools/testing/selftests/bpf/progs/pyperf.h
171
Symbol *sym;
tools/testing/selftests/bpf/progs/pyperf.h
185
Symbol *sym = ctx->sym;
tools/testing/selftests/bpf/progs/pyperf.h
187
if (frame_ptr && get_frame_data(frame_ptr, pidData, frame, sym)) {
tools/testing/selftests/bpf/progs/pyperf.h
189
int32_t *symbol_id = bpf_map_lookup_elem(&symbolmap, sym);
tools/testing/selftests/bpf/progs/pyperf.h
192
bpf_map_update_elem(&symbolmap, sym, &zero, 0);
tools/testing/selftests/bpf/progs/pyperf.h
193
symbol_id = bpf_map_lookup_elem(&symbolmap, sym);
tools/testing/selftests/bpf/progs/pyperf.h
273
Symbol sym = {};
tools/testing/selftests/bpf/progs/pyperf.h
281
int32_t* symbol_counter = bpf_map_lookup_elem(&symbolmap, &sym);
tools/testing/selftests/bpf/progs/pyperf.h
291
.sym = &sym,
tools/testing/selftests/bpf/progs/pyperf.h
315
if (frame_ptr && get_frame_data(frame_ptr, pidData, &frame, &sym)) {
tools/testing/selftests/bpf/progs/pyperf.h
317
int32_t *symbol_id = bpf_map_lookup_elem(&symbolmap, &sym);
tools/testing/selftests/bpf/progs/pyperf.h
319
bpf_map_update_elem(&symbolmap, &sym, &zero, 0);
tools/testing/selftests/bpf/progs/pyperf.h
320
symbol_id = bpf_map_lookup_elem(&symbolmap, &sym);
tools/testing/selftests/bpf/trace_helpers.c
212
int kallsyms_find(const char *sym, unsigned long long *addr)
tools/testing/selftests/bpf/trace_helpers.c
235
if (strcmp(name, sym) == 0) {
tools/testing/selftests/bpf/trace_helpers.h
52
int kallsyms_find(const char *sym, unsigned long long *addr);
tools/testing/selftests/sgx/load.c
168
Elf64_Sym *sym = &symtab[i];
tools/testing/selftests/sgx/load.c
170
if (!strcmp(symbol, sym_names + sym->st_name))
tools/testing/selftests/sgx/load.c
171
return (uint64_t)sym->st_value;
tools/testing/selftests/sgx/main.c
120
Elf64_Sym *sym;
tools/testing/selftests/sgx/main.c
125
sym = &symtab->elf_symtab[i];
tools/testing/selftests/sgx/main.c
126
if (!strcmp(name, &symtab->elf_symstrtab[sym->st_name]))
tools/testing/selftests/sgx/main.c
127
return sym;
tools/testing/selftests/vDSO/parse_vdso.c
240
static bool check_sym(ELF(Sym) *sym, ELF(Word) i, const char *name,
tools/testing/selftests/vDSO/parse_vdso.c
244
if (ELF64_ST_TYPE(sym->st_info) != STT_FUNC)
tools/testing/selftests/vDSO/parse_vdso.c
246
if (ELF64_ST_BIND(sym->st_info) != STB_GLOBAL &&
tools/testing/selftests/vDSO/parse_vdso.c
247
ELF64_ST_BIND(sym->st_info) != STB_WEAK)
tools/testing/selftests/vDSO/parse_vdso.c
249
if (strcmp(name, vdso_info.symstrings + sym->st_name))
tools/testing/selftests/vDSO/parse_vdso.c
279
ELF(Sym) *sym = &vdso_info.symtab[i];
tools/testing/selftests/vDSO/parse_vdso.c
282
check_sym(sym, i, name, version, ver_hash))
tools/testing/selftests/vDSO/parse_vdso.c
284
sym->st_value);
tools/testing/selftests/vDSO/parse_vdso.c
291
ELF(Sym) *sym = &vdso_info.symtab[i];
tools/testing/selftests/vDSO/parse_vdso.c
292
if (sym->st_shndx != SHN_UNDEF &&
tools/testing/selftests/vDSO/parse_vdso.c
293
check_sym(sym, i, name, version, ver_hash))
tools/testing/selftests/vDSO/parse_vdso.c
295
sym->st_value);
tools/virtio/linux/export.h
1
#define EXPORT_SYMBOL_GPL(sym) extern typeof(sym) sym
tools/virtio/linux/export.h
2
#define EXPORT_SYMBOL(sym) extern typeof(sym) sym