Lines Matching full:const

123 static int fn_is_fake_mcount(Elf_Rel const *rp)  in fn_is_fake_mcount()
127 static int (*is_fake_mcount)(Elf_Rel const *rp) = fn_is_fake_mcount;
129 static uint_t fn_ELF_R_SYM(Elf_Rel const *rp) in fn_ELF_R_SYM()
133 static uint_t (*Elf_r_sym)(Elf_Rel const *rp) = fn_ELF_R_SYM;
135 static void fn_ELF_R_INFO(Elf_Rel *const rp, unsigned sym, unsigned type) in fn_ELF_R_INFO()
139 static void (*Elf_r_info)(Elf_Rel *const rp, unsigned sym, unsigned type) = fn_ELF_R_INFO;
164 static int MIPS_is_fake_mcount(Elf_Rel const *rp) in MIPS_is_fake_mcount()
178 static void append_func(Elf_Ehdr *const ehdr, in append_func()
179 Elf_Shdr *const shstr, in append_func()
180 uint_t const *const mloc0, in append_func()
181 uint_t const *const mlocp, in append_func()
182 Elf_Rel const *const mrel0, in append_func()
183 Elf_Rel const *const mrelp, in append_func()
184 unsigned int const rel_entsize, in append_func()
185 unsigned int const symsec_sh_link) in append_func()
189 char const *mc_name = (sizeof(Elf_Rela) == rel_entsize) in append_func()
192 unsigned const old_shnum = w2(ehdr->e_shnum); in append_func()
193 uint_t const old_shoff = _w(ehdr->e_shoff); in append_func()
194 uint_t const old_shstr_sh_size = _w(shstr->sh_size); in append_func()
195 uint_t const old_shstr_sh_offset = _w(shstr->sh_offset); in append_func()
254 static unsigned get_mcountsym(Elf_Sym const *const sym0, in get_mcountsym()
255 Elf_Rel const *relp, in get_mcountsym()
256 char const *const str0) in get_mcountsym()
260 Elf_Sym const *const symp = in get_mcountsym()
262 char const *symname = &str0[w(symp->st_name)]; in get_mcountsym()
263 char const *mcount = gpfx == '_' ? "_mcount" : "mcount"; in get_mcountsym()
274 static void get_sym_str_and_relp(Elf_Shdr const *const relhdr, in get_sym_str_and_relp()
275 Elf_Ehdr const *const ehdr, in get_sym_str_and_relp()
276 Elf_Sym const **sym0, in get_sym_str_and_relp()
277 char const **str0, in get_sym_str_and_relp()
278 Elf_Rel const **relp) in get_sym_str_and_relp()
280 Elf_Shdr *const shdr0 = (Elf_Shdr *)(_w(ehdr->e_shoff) in get_sym_str_and_relp()
282 unsigned const symsec_sh_link = w(relhdr->sh_link); in get_sym_str_and_relp()
283 Elf_Shdr const *const symsec = &shdr0[symsec_sh_link]; in get_sym_str_and_relp()
284 Elf_Shdr const *const strsec = &shdr0[w(symsec->sh_link)]; in get_sym_str_and_relp()
285 Elf_Rel const *const rel0 = (Elf_Rel const *)(_w(relhdr->sh_offset) in get_sym_str_and_relp()
288 *sym0 = (Elf_Sym const *)(_w(symsec->sh_offset) in get_sym_str_and_relp()
291 *str0 = (char const *)(_w(strsec->sh_offset) in get_sym_str_and_relp()
303 unsigned const offbase, in sift_rel_mcount()
304 Elf_Rel **const mrelpp, in sift_rel_mcount()
305 Elf_Shdr const *const relhdr, in sift_rel_mcount()
306 Elf_Ehdr const *const ehdr, in sift_rel_mcount()
307 unsigned const recsym, in sift_rel_mcount()
308 uint_t const recval, in sift_rel_mcount()
309 unsigned const reltype) in sift_rel_mcount()
311 uint_t *const mloc0 = mlocp; in sift_rel_mcount()
313 Elf_Sym const *sym0; in sift_rel_mcount()
314 char const *str0; in sift_rel_mcount()
315 Elf_Rel const *relp; in sift_rel_mcount()
317 unsigned const nrel = _w(relhdr->sh_size) / rel_entsize; in sift_rel_mcount()
328 uint_t const addend = in sift_rel_mcount()
341 relp = (Elf_Rel const *)(rel_entsize + (void *)relp); in sift_rel_mcount()
352 static void nop_mcount(Elf_Shdr const *const relhdr, in nop_mcount()
353 Elf_Ehdr const *const ehdr, in nop_mcount()
354 const char *const txtname) in nop_mcount()
356 Elf_Shdr *const shdr0 = (Elf_Shdr *)(_w(ehdr->e_shoff) in nop_mcount()
358 Elf_Sym const *sym0; in nop_mcount()
359 char const *str0; in nop_mcount()
360 Elf_Rel const *relp; in nop_mcount()
361 Elf_Shdr const *const shdr = &shdr0[w(relhdr->sh_info)]; in nop_mcount()
363 unsigned const nrel = _w(relhdr->sh_size) / rel_entsize; in nop_mcount()
400 relp = (Elf_Rel const *)(rel_entsize + (void *)relp); in nop_mcount()
415 static unsigned find_secsym_ndx(unsigned const txtndx, in find_secsym_ndx()
416 char const *const txtname, in find_secsym_ndx()
417 uint_t *const recvalp, in find_secsym_ndx()
418 Elf_Shdr const *const symhdr, in find_secsym_ndx()
419 Elf_Ehdr const *const ehdr) in find_secsym_ndx()
421 Elf_Sym const *const sym0 = (Elf_Sym const *)(_w(symhdr->sh_offset) in find_secsym_ndx()
423 unsigned const nsym = _w(symhdr->sh_size) / _w(symhdr->sh_entsize); in find_secsym_ndx()
424 Elf_Sym const *symp; in find_secsym_ndx()
428 unsigned int const st_bind = ELF_ST_BIND(symp->st_info); in find_secsym_ndx()
449 static char const *
450 __has_rel_mcount(Elf_Shdr const *const relhdr, /* is SHT_REL or SHT_RELA */ in __has_rel_mcount()
451 Elf_Shdr const *const shdr0, in __has_rel_mcount()
452 char const *const shstrtab, in __has_rel_mcount()
453 char const *const fname) in __has_rel_mcount()
456 Elf_Shdr const *const txthdr = &shdr0[w(relhdr->sh_info)]; in __has_rel_mcount()
457 char const *const txtname = &shstrtab[w(txthdr->sh_name)]; in __has_rel_mcount()
470 static char const *has_rel_mcount(Elf_Shdr const *const relhdr, in has_rel_mcount()
471 Elf_Shdr const *const shdr0, in has_rel_mcount()
472 char const *const shstrtab, in has_rel_mcount()
473 char const *const fname) in has_rel_mcount()
481 static unsigned tot_relsize(Elf_Shdr const *const shdr0, in tot_relsize()
483 const char *const shstrtab, in tot_relsize()
484 const char *const fname) in tot_relsize()
487 Elf_Shdr const *shdrp = shdr0; in tot_relsize()
488 char const *txtname; in tot_relsize()
501 do_func(Elf_Ehdr *const ehdr, char const *const fname, unsigned const reltype) in do_func()
503 Elf_Shdr *const shdr0 = (Elf_Shdr *)(_w(ehdr->e_shoff) in do_func()
505 unsigned const nhdr = w2(ehdr->e_shnum); in do_func()
506 Elf_Shdr *const shstr = &shdr0[w2(ehdr->e_shstrndx)]; in do_func()
507 char const *const shstrtab = (char const *)(_w(shstr->sh_offset) in do_func()
510 Elf_Shdr const *relhdr; in do_func()
514 unsigned const totrelsz = tot_relsize(shdr0, nhdr, shstrtab, fname); in do_func()
515 Elf_Rel *const mrel0 = umalloc(totrelsz); in do_func()
519 uint_t *const mloc0 = umalloc(totrelsz>>1); in do_func()
526 char const *const txtname = has_rel_mcount(relhdr, shdr0, in do_func()
530 unsigned const recsym = find_secsym_ndx( in do_func()