Lines Matching refs:kdesc

586 	struct ksym_desc *kdesc;
590 kdesc = &gen->ksyms[i];
591 if (kdesc->kind == relo->kind && kdesc->is_ld64 == relo->is_ld64 &&
592 !strcmp(kdesc->name, relo->name)) {
593 kdesc->ref++;
594 return kdesc;
597 kdesc = libbpf_reallocarray(gen->ksyms, gen->nr_ksyms + 1, sizeof(*kdesc));
598 if (!kdesc) {
602 gen->ksyms = kdesc;
603 kdesc = &gen->ksyms[gen->nr_ksyms++];
604 kdesc->name = relo->name;
605 kdesc->kind = relo->kind;
606 kdesc->ref = 1;
607 kdesc->off = 0;
608 kdesc->insn = 0;
609 kdesc->is_ld64 = relo->is_ld64;
610 return kdesc;
666 struct ksym_desc *kdesc;
669 kdesc = get_ksym_desc(gen, relo);
670 if (!kdesc)
673 if (kdesc->ref > 1) {
675 kdesc->insn + offsetof(struct bpf_insn, imm));
677 kdesc->insn + offsetof(struct bpf_insn, off));
681 kdesc->insn = insn;
693 kdesc->off = btf_fd_idx;
727 relo->name, kdesc->ref);
729 0, 0, 0, blob_fd_array_off(gen, kdesc->off)));
732 relo->name, kdesc->ref);
757 struct ksym_desc *kdesc;
759 kdesc = get_ksym_desc(gen, relo);
760 if (!kdesc)
763 if (kdesc->ref > 1) {
765 kdesc->insn + offsetof(struct bpf_insn, imm));
767 kdesc->insn + sizeof(struct bpf_insn) + offsetof(struct bpf_insn, imm));
771 kdesc->insn = insn;
773 kdesc->typeless = true;
784 emit_ksym_relo_log(gen, relo, kdesc->ref);
803 struct ksym_desc *kdesc;
806 kdesc = get_ksym_desc(gen, relo);
807 if (!kdesc)
810 if (kdesc->ref > 1) {
812 kdesc->insn + sizeof(struct bpf_insn) + offsetof(struct bpf_insn, imm));
814 kdesc->insn + offsetof(struct bpf_insn, imm));
822 kdesc->insn = insn;
848 emit_ksym_relo_log(gen, relo, kdesc->ref);
904 struct ksym_desc *kdesc;
908 kdesc = &gen->ksyms[i];
910 if (kdesc->is_ld64 && !kdesc->typeless) {
912 insn = kdesc->insn;
915 } else if (!kdesc->is_ld64) {
916 emit_sys_close_blob(gen, blob_fd_array_off(gen, kdesc->off));
917 if (kdesc->off < MAX_FD_ARRAY_SZ)