Lines Matching defs:kdesc
698 struct ksym_desc *kdesc;
702 kdesc = &gen->ksyms[i];
703 if (kdesc->kind == relo->kind && kdesc->is_ld64 == relo->is_ld64 &&
704 !strcmp(kdesc->name, relo->name)) {
705 kdesc->ref++;
706 return kdesc;
709 kdesc = libbpf_reallocarray(gen->ksyms, gen->nr_ksyms + 1, sizeof(*kdesc));
710 if (!kdesc) {
714 gen->ksyms = kdesc;
715 kdesc = &gen->ksyms[gen->nr_ksyms++];
716 kdesc->name = relo->name;
717 kdesc->kind = relo->kind;
718 kdesc->ref = 1;
719 kdesc->off = 0;
720 kdesc->insn = 0;
721 kdesc->is_ld64 = relo->is_ld64;
722 return kdesc;
778 struct ksym_desc *kdesc;
781 kdesc = get_ksym_desc(gen, relo);
782 if (!kdesc)
785 if (kdesc->ref > 1) {
787 kdesc->insn + offsetof(struct bpf_insn, imm));
789 kdesc->insn + offsetof(struct bpf_insn, off));
793 kdesc->insn = insn;
805 kdesc->off = btf_fd_idx;
839 relo->name, kdesc->ref);
841 0, 0, 0, blob_fd_array_off(gen, kdesc->off)));
844 relo->name, kdesc->ref);
869 struct ksym_desc *kdesc;
871 kdesc = get_ksym_desc(gen, relo);
872 if (!kdesc)
875 if (kdesc->ref > 1) {
877 kdesc->insn + offsetof(struct bpf_insn, imm));
879 kdesc->insn + sizeof(struct bpf_insn) + offsetof(struct bpf_insn, imm));
883 kdesc->insn = insn;
885 kdesc->typeless = true;
896 emit_ksym_relo_log(gen, relo, kdesc->ref);
915 struct ksym_desc *kdesc;
918 kdesc = get_ksym_desc(gen, relo);
919 if (!kdesc)
922 if (kdesc->ref > 1) {
924 kdesc->insn + sizeof(struct bpf_insn) + offsetof(struct bpf_insn, imm));
926 kdesc->insn + offsetof(struct bpf_insn, imm));
934 kdesc->insn = insn;
960 emit_ksym_relo_log(gen, relo, kdesc->ref);
1016 struct ksym_desc *kdesc;
1020 kdesc = &gen->ksyms[i];
1022 if (kdesc->is_ld64 && !kdesc->typeless) {
1024 insn = kdesc->insn;
1027 } else if (!kdesc->is_ld64) {
1028 emit_sys_close_blob(gen, blob_fd_array_off(gen, kdesc->off));
1029 if (kdesc->off < MAX_FD_ARRAY_SZ)