Lines Matching +full:row +full:- +full:hold
1 // SPDX-License-Identifier: GPL-2.0-only
51 for (i = 0 ; i < be->cur_pos; i++) in buffer_ext_dump()
52 warnx("%4zu 0x%02x", i, (((char *)be->data)[i]) & 0xff); in buffer_ext_dump()
59 size_t be_sz = be->max_sz; in buffer_ext_add()
62 if ((be->cur_pos + sz) < be_sz) { in buffer_ext_add()
63 memcpy(be->data + be->cur_pos, addr, sz); in buffer_ext_add()
64 be->cur_pos += sz; in buffer_ext_add()
73 tmp = realloc(be->data, be_sz); in buffer_ext_add()
75 return -1; in buffer_ext_add()
77 be->data = tmp; in buffer_ext_add()
78 be->max_sz = be_sz; in buffer_ext_add()
86 be->data = NULL; in buffer_ext_init()
87 be->cur_pos = 0; in buffer_ext_init()
88 be->max_sz = 0; in buffer_ext_init()
94 zfree(&be->data); in buffer_ext_exit()
100 return be->cur_pos; in buffer_ext_size()
106 return be->data; in buffer_ext_addr()
119 // line_base - see DWARF 2 specs
121 // line_range - see DWARF 2 specs
138 * related to the used arch, an ELF 32 can hold more than 4 Go of debug
151 /* field filled at run time are marked with -1 */
153 .total_length = -1,
155 .prolog_length = -1,
158 .line_base = -5, /* sensible value for line base ... */
159 .line_range = -14, /* ... and line range are guessed statically */
178 /* field filled at run time are marked with -1 */
180 .total_length = -1,
217 data |= - (1 << (size - 7)); in emit_signed_LEB128()
219 (data == -1l && (cur & 0x40))) in emit_signed_LEB128()
310 temp = (ent->lineno - last_line) - default_debug_line_header.line_base; in get_special_opcode()
318 delta_addr = (ent->addr - last_vma) / default_debug_line_header.minimum_instruction_length; in get_special_opcode()
320 /* This is not sufficient to ensure opcode will be in [0-256] but in get_special_opcode()
369 if ((!cur_filename || strcmp(cur_filename, ent->name)) && in emit_lineno_info()
370 strcmp(repeated_name_marker, ent->name)) { in emit_lineno_info()
371 emit_lne_define_filename(be, ent->name); in emit_lineno_info()
372 cur_filename = ent->name; in emit_lineno_info()
379 last_line = ent->lineno; in emit_lineno_info()
380 last_vma = ent->addr; in emit_lineno_info()
386 if (last_line != ent->lineno) { in emit_lineno_info()
387 emit_advance_lineno(be, ent->lineno - last_line); in emit_lineno_info()
388 last_line = ent->lineno; in emit_lineno_info()
394 if (last_vma != ent->addr) { in emit_lineno_info()
395 emit_advance_pc(be, ent->addr - last_vma); in emit_lineno_info()
396 last_vma = ent->addr; in emit_lineno_info()
400 * add new row to matrix in emit_lineno_info()
429 dbg_header->prolog_length = (buffer_ext_size(be) - old_size) - in add_debug_line()
437 dbg_header->total_length = (buffer_ext_size(be) - old_size) - in add_debug_line()
468 comp_unit_header->total_length = (buffer_ext_size(be) - old_size) - in add_compilation_unit()
483 ent->addr = ent->addr - code_addr; in jit_process_debug_info()
501 int ret = -1; in jit_add_debug_info()
525 d->d_align = 1; in jit_add_debug_info()
526 d->d_off = 0LL; in jit_add_debug_info()
527 d->d_buf = buffer_ext_addr(&dl); in jit_add_debug_info()
528 d->d_type = ELF_T_BYTE; in jit_add_debug_info()
529 d->d_size = buffer_ext_size(&dl); in jit_add_debug_info()
530 d->d_version = EV_CURRENT; in jit_add_debug_info()
538 shdr->sh_name = 52; /* .debug_line */ in jit_add_debug_info()
539 shdr->sh_type = SHT_PROGBITS; in jit_add_debug_info()
540 shdr->sh_addr = 0; /* must be zero or == sh_offset -> dynamic object */ in jit_add_debug_info()
541 shdr->sh_flags = 0; in jit_add_debug_info()
542 shdr->sh_entsize = 0; in jit_add_debug_info()
559 d->d_align = 1; in jit_add_debug_info()
560 d->d_off = 0LL; in jit_add_debug_info()
561 d->d_buf = buffer_ext_addr(&di); in jit_add_debug_info()
562 d->d_type = ELF_T_BYTE; in jit_add_debug_info()
563 d->d_size = buffer_ext_size(&di); in jit_add_debug_info()
564 d->d_version = EV_CURRENT; in jit_add_debug_info()
572 shdr->sh_name = 64; /* .debug_info */ in jit_add_debug_info()
573 shdr->sh_type = SHT_PROGBITS; in jit_add_debug_info()
574 shdr->sh_addr = 0; /* must be zero or == sh_offset -> dynamic object */ in jit_add_debug_info()
575 shdr->sh_flags = 0; in jit_add_debug_info()
576 shdr->sh_entsize = 0; in jit_add_debug_info()
593 d->d_align = 1; in jit_add_debug_info()
594 d->d_off = 0LL; in jit_add_debug_info()
595 d->d_buf = buffer_ext_addr(&da); in jit_add_debug_info()
596 d->d_type = ELF_T_BYTE; in jit_add_debug_info()
597 d->d_size = buffer_ext_size(&da); in jit_add_debug_info()
598 d->d_version = EV_CURRENT; in jit_add_debug_info()
606 shdr->sh_name = 76; /* .debug_info */ in jit_add_debug_info()
607 shdr->sh_type = SHT_PROGBITS; in jit_add_debug_info()
608 shdr->sh_addr = 0; /* must be zero or == sh_offset -> dynamic object */ in jit_add_debug_info()
609 shdr->sh_flags = 0; in jit_add_debug_info()
610 shdr->sh_entsize = 0; in jit_add_debug_info()