Lines Matching defs:syminfo

43 	SYMINFO_CMD_T_DUMP =		0,	/* syminfo:dump */
45 SYMINFO_CMD_T_SI_BOUNDTO = 1, /* syminfo:si_boundto */
46 SYMINFO_CMD_T_SI_FLAGS = 2 /* syminfo:si_boundto */
103 * information about the syminfo section being used, as and for any
119 } syminfo;
138 * Standard argument processing for syminfo module
150 * Only the syminfo section is initially referenced by
172 * - syminfo:dump accepts a single argument
173 * - syminfo:si_boundto accepts 2 arguments
174 * - syminfo:si_flags accepts an unbounded number
188 /* Locate the syminfo section */
189 argstate->syminfo.sec = elfedit_sec_getsyminfo(obj_state,
190 &argstate->syminfo.data, &argstate->syminfo.n);
196 * We maintain the state of the current syminfo table in a ARGSTATE
197 * structure. A syminfo is related to the dynamic symbol table, and
202 * state block with just the syminfo section, and then one of the
223 1, argstate->syminfo.sec->sec_shdr->sh_link, NULL,
249 * Display syminfo section entries in the style used by elfdump.
259 Syminfo *syminfo;
263 syminfo = argstate->syminfo.data + ndx;
274 * Loop through the syminfo entries.
278 for (; cnt-- > 0; ndx++, syminfo++, sym++) {
284 if ((syminfo->si_boundto < SYMINFO_BT_LOWRESERVE) &&
285 (syminfo->si_boundto < argstate->dynamic.n) &&
286 ((dyn[syminfo->si_boundto].d_tag == DT_NEEDED) ||
287 (dyn[syminfo->si_boundto].d_tag == DT_USED)))
289 dyn[syminfo->si_boundto].d_un.d_val,
294 Elf_syminfo_entry(0, ndx, syminfo, name, needed);
301 * Print syminfo values, taking the calling command, and output style
317 Syminfo *syminfo;
324 * Pick an output style. syminfo:dump is required to use the default
340 syminfo = argstate->syminfo.data;
350 for (syminfo += ndx; cnt--; syminfo++) {
351 Half bndto = syminfo->si_boundto;
402 for (syminfo += ndx; cnt--; syminfo++) {
407 conv_syminfo_flags(syminfo->si_flags,
411 EC_WORD(syminfo->si_flags));
441 0, argstate->syminfo.n - 1, NULL));
557 * Common body for the syminfo: module commands. These commands
573 Syminfo *syminfo;
580 print_syminfo(cmd, 0, &argstate, 0, argstate.syminfo.n);
593 syminfo = &argstate.syminfo.data[ndx];
601 EC_WORD(argstate.syminfo.sec->sec_shndx),
602 argstate.syminfo.sec->sec_name, EC_WORD(ndx));
624 if (syminfo->si_boundto == boundto) {
627 argstate.syminfo.sec->sec_shndx,
628 argstate.syminfo.sec->sec_name, ndx, name,
629 syminfo->si_boundto);
633 argstate.syminfo.sec->sec_shndx,
634 argstate.syminfo.sec->sec_name, ndx, name,
635 syminfo->si_boundto, boundto);
637 syminfo->si_boundto = boundto;
661 flags &= syminfo->si_flags;
663 flags |= syminfo->si_flags;
666 if (syminfo->si_flags == flags) {
669 argstate.syminfo.sec->sec_shndx,
670 argstate.syminfo.sec->sec_name, ndx, name,
671 conv_syminfo_flags(syminfo->si_flags,
676 argstate.syminfo.sec->sec_shndx,
677 argstate.syminfo.sec->sec_name, ndx, name,
678 conv_syminfo_flags(syminfo->si_flags,
682 syminfo->si_flags = flags;
689 * If we modified the syminfo section, tell libelf.
692 elfedit_modified_data(argstate.syminfo.sec);