Lines Matching defs:hdr
46 * in a contiguous memory block. The hdr, type_data, and, strs_data
55 * hdr | |
73 * hdr | |
81 struct btf_header *hdr;
84 size_t types_data_cap; /* used size stored in hdr->type_len */
226 struct btf_header *hdr = btf->hdr;
234 if (hdr->magic == bswap_16(BTF_MAGIC)) {
236 if (bswap_32(hdr->hdr_len) != sizeof(struct btf_header)) {
238 bswap_32(hdr->hdr_len));
241 btf_bswap_hdr(hdr);
242 } else if (hdr->magic != BTF_MAGIC) {
243 pr_debug("Invalid BTF magic: %x\n", hdr->magic);
247 if (btf->raw_size < hdr->hdr_len) {
249 hdr->hdr_len, btf->raw_size);
253 meta_left = btf->raw_size - hdr->hdr_len;
254 if (meta_left < (long long)hdr->str_off + hdr->str_len) {
259 if ((long long)hdr->type_off + hdr->type_len > hdr->str_off) {
261 hdr->type_off, hdr->type_len, hdr->str_off, hdr->str_len);
265 if (hdr->type_off % 4) {
275 const struct btf_header *hdr = btf->hdr;
277 const char *end = start + btf->hdr->str_len;
279 if (btf->base_btf && hdr->str_len == 0)
281 if (!hdr->str_len || hdr->str_len - 1 > BTF_MAX_STR_OFFSET || end[-1]) {
419 struct btf_header *hdr = btf->hdr;
421 void *end_type = next_type + hdr->type_len;
951 return (void *)btf->hdr != btf->raw_data;
969 free(btf->hdr);
997 btf->start_str_off = base_btf->hdr->str_len;
1008 btf->hdr = btf->raw_data;
1009 btf->hdr->hdr_len = sizeof(struct btf_header);
1010 btf->hdr->magic = BTF_MAGIC;
1011 btf->hdr->version = BTF_VERSION;
1013 btf->types_data = btf->raw_data + btf->hdr->hdr_len;
1014 btf->strs_data = btf->raw_data + btf->hdr->hdr_len;
1015 btf->hdr->str_len = base_btf ? 0 : 1; /* empty string at offset 0 */
1047 btf->start_str_off = base_btf->hdr->str_len;
1058 btf->hdr = btf->raw_data;
1063 btf->strs_data = btf->raw_data + btf->hdr->hdr_len + btf->hdr->str_off;
1064 btf->types_data = btf->raw_data + btf->hdr->hdr_len + btf->hdr->type_off;
1519 struct btf_header *hdr = btf->hdr;
1531 data_sz = hdr->hdr_len + hdr->type_len + hdr->str_len;
1537 memcpy(p, hdr, hdr->hdr_len);
1540 p += hdr->hdr_len;
1542 memcpy(p, btf->types_data, hdr->type_len);
1555 p += hdr->type_len;
1557 memcpy(p, btf_strs_data(btf), hdr->str_len);
1558 p += hdr->str_len;
1593 else if (offset - btf->start_str_off < btf->hdr->str_len)
1696 void *hdr, *types;
1707 hdr = malloc(btf->hdr->hdr_len);
1708 types = malloc(btf->hdr->type_len);
1709 if (!hdr || !types)
1712 memcpy(hdr, btf->hdr, btf->hdr->hdr_len);
1713 memcpy(types, btf->types_data, btf->hdr->type_len);
1716 set = strset__new(BTF_MAX_STR_OFFSET, btf->strs_data, btf->hdr->str_len);
1723 btf->hdr = hdr;
1725 btf->types_data_cap = btf->hdr->type_len;
1731 if (btf->hdr->str_len == 0)
1733 if (!btf->base_btf && btf->hdr->str_len == 1)
1743 free(hdr);
1797 btf->hdr->str_len = strset__data_size(btf->strs_set);
1805 btf->hdr->type_len, UINT_MAX, add_sz);
1817 err = btf_add_type_idx_entry(btf, btf->hdr->type_len);
1821 btf->hdr->type_len += data_sz;
1822 btf->hdr->str_off += data_sz;
1928 old_strs_len = btf->hdr->str_len;
1930 data_sz = src_btf->hdr->type_len;
1985 btf->hdr->type_len += data_sz;
1986 btf->hdr->str_off += data_sz;
1997 memset(btf->types_data + btf->hdr->type_len, 0, data_sz);
1998 memset(btf->strs_data + old_strs_len, 0, btf->hdr->str_len - old_strs_len);
2003 btf->hdr->str_len = old_strs_len;
2321 btf->hdr->type_len += sz;
2322 btf->hdr->str_off += sz;
2431 btf->hdr->type_len += sz;
2432 btf->hdr->str_off += sz;
2503 btf->hdr->type_len += sz;
2504 btf->hdr->str_off += sz;
2725 btf->hdr->type_len += sz;
2726 btf->hdr->str_off += sz;
2862 btf->hdr->type_len += sz;
2863 btf->hdr->str_off += sz;
2936 info = btf_ext->data + btf_ext->hdr->hdr_len + ext_sec->off;
3011 .off = btf_ext->hdr->func_info_off,
3012 .len = btf_ext->hdr->func_info_len,
3024 .off = btf_ext->hdr->line_info_off,
3025 .len = btf_ext->hdr->line_info_len,
3037 .off = btf_ext->hdr->core_relo_off,
3038 .len = btf_ext->hdr->core_relo_len,
3049 const struct btf_ext_header *hdr = (struct btf_ext_header *)data;
3052 data_size < hdr->hdr_len) {
3057 if (hdr->magic == bswap_16(BTF_MAGIC)) {
3060 } else if (hdr->magic != BTF_MAGIC) {
3061 pr_debug("Invalid BTF.ext magic:%x\n", hdr->magic);
3065 if (hdr->version != BTF_VERSION) {
3066 pr_debug("Unsupported BTF.ext version:%u\n", hdr->version);
3070 if (hdr->flags) {
3071 pr_debug("Unsupported BTF.ext flags:%x\n", hdr->flags);
3075 if (data_size == hdr->hdr_len) {
3115 if (btf_ext->hdr->hdr_len < offsetofend(struct btf_ext_header, line_info_len)) {
3128 if (btf_ext->hdr->hdr_len < offsetofend(struct btf_ext_header, core_relo_len))
3630 d->btf->hdr->str_len = strset__data_size(d->strs_set);
4962 d->btf->hdr->type_len = p - d->btf->types_data;
4968 d->btf->hdr->str_off = d->btf->hdr->type_len;
4969 d->btf->raw_size = d->btf->hdr->hdr_len + d->btf->hdr->type_len + d->btf->hdr->str_len;