Lines Matching refs:symstate
178 SYMSTATE symstate[1]; /* Symbol tables to process */ member
204 symstate_add_str(ARGSTATE *argstate, SYMSTATE *symstate) in symstate_add_str() argument
206 if (symstate->str.sec != NULL) in symstate_add_str()
209 symstate->str.sec = elfedit_sec_getstr(argstate->obj_state, in symstate_add_str()
210 symstate->sym.sec->sec_shdr->sh_link, 0); in symstate_add_str()
213 symstate_add_versym(ARGSTATE *argstate, SYMSTATE *symstate) in symstate_add_versym() argument
215 if (symstate->versym.sec != NULL) in symstate_add_versym()
218 symstate->versym.sec = elfedit_sec_getversym(argstate->obj_state, in symstate_add_versym()
219 symstate->sym.sec, &symstate->versym.data, &symstate->versym.n); in symstate_add_versym()
222 symstate_add_xshndx(ARGSTATE *argstate, SYMSTATE *symstate) in symstate_add_xshndx() argument
224 if (symstate->xshndx.sec != NULL) in symstate_add_xshndx()
227 symstate->xshndx.sec = elfedit_sec_getxshndx(argstate->obj_state, in symstate_add_xshndx()
228 symstate->sym.sec, &symstate->xshndx.data, &symstate->xshndx.n); in symstate_add_xshndx()
243 dump_symtab(ARGSTATE *argstate, SYMSTATE *symstate, Word ndx, Word cnt) in dump_symtab() argument
257 symsec = symstate->sym.sec; in dump_symtab()
258 sym = symstate->sym.data + ndx; in dump_symtab()
260 symstate_add_str(argstate, symstate); in dump_symtab()
261 strsec = symstate->str.sec; in dump_symtab()
264 if (symstate->versym.shndx != SHN_UNDEF) in dump_symtab()
265 symstate_add_versym(argstate, symstate); in dump_symtab()
268 if (symstate->xshndx.shndx != SHN_UNDEF) in dump_symtab()
269 symstate_add_xshndx(argstate, symstate); in dump_symtab()
276 versym = (symstate->versym.sec == NULL) ? 0 : in dump_symtab()
277 symstate->versym.data[ndx]; in dump_symtab()
281 if ((shndx == SHN_XINDEX) && (symstate->xshndx.sec != NULL)) in dump_symtab()
282 shndx = symstate->xshndx.data[ndx]; in dump_symtab()
307 symstate1 = argstate->symstate; in all_same()
424 print_symstate(SYM_CMD_T cmd, ARGSTATE *argstate, SYMSTATE *symstate, in print_symstate() argument
436 dump_symtab(argstate, symstate, ndx, cnt); in print_symstate()
440 sym = symstate->sym.data; in print_symstate()
474 symstate_add_str(argstate, symstate); in print_symstate()
477 elfedit_offset_to_str(symstate->str.sec, in print_symstate()
495 if (symstate->xshndx.shndx != SHN_UNDEF) in print_symstate()
496 symstate_add_xshndx(argstate, symstate); in print_symstate()
501 (symstate->xshndx.sec != NULL)) in print_symstate()
502 value = symstate->xshndx.data[ndx]; in print_symstate()
597 SYMSTATE *symstate; in print_sym() local
615 symstate = argstate->symstate; in print_sym()
616 for (tblndx = 0; tblndx < argstate->numsymstate; tblndx++, symstate++) { in print_sym()
618 symstate_add_str(argstate, symstate); in print_sym()
619 if (symstate->versym.shndx != SHN_UNDEF) in print_sym()
620 symstate_add_versym(argstate, symstate); in print_sym()
621 if (symstate->xshndx.shndx != SHN_UNDEF) in print_sym()
622 symstate_add_xshndx(argstate, symstate); in print_sym()
629 symstate_add_str(argstate, symstate); in print_sym()
633 if (symstate->xshndx.shndx != SHN_UNDEF) in print_sym()
634 symstate_add_xshndx(argstate, symstate); in print_sym()
651 symstate = argstate->symstate; in print_sym()
652 for (tblndx = 0; tblndx < argstate->numsymstate; tblndx++, symstate++) { in print_sym()
655 cnt = symstate->sym.n; in print_sym()
657 ndx = symstate->ndx; in print_sym()
665 print_symstate(cmd, argstate, symstate, outstyle, ndx, cnt); in print_sym()
682 cmd_body_set_st_bind(ARGSTATE *argstate, SYMSTATE *symstate) in cmd_body_set_st_bind() argument
685 Sym *sym = &symstate->sym.data[symstate->ndx]; in cmd_body_set_st_bind()
703 symstate->sym.sec->sec_shndx, symstate->sym.sec->sec_name, in cmd_body_set_st_bind()
704 EC_WORD(symstate->ndx), MSG_ORIG(MSG_CMD_ST_BIND), in cmd_body_set_st_bind()
713 gbl_ndx = symstate->sym.sec->sec_shdr->sh_info; in cmd_body_set_st_bind()
714 symndx = symstate->sym.sec->sec_shndx; in cmd_body_set_st_bind()
715 if ((bind == STB_LOCAL) && (symstate->ndx >= gbl_ndx)) in cmd_body_set_st_bind()
718 EC_WORD(symndx), symstate->sym.sec->sec_name, in cmd_body_set_st_bind()
719 symstate->ndx, EC_WORD(symndx), gbl_ndx); in cmd_body_set_st_bind()
720 if ((bind != STB_LOCAL) && (symstate->ndx < gbl_ndx)) in cmd_body_set_st_bind()
723 EC_WORD(symndx), symstate->sym.sec->sec_name, in cmd_body_set_st_bind()
724 symstate->ndx, EC_WORD(symndx), gbl_ndx); in cmd_body_set_st_bind()
727 symstate->sym.sec->sec_shndx, symstate->sym.sec->sec_name, in cmd_body_set_st_bind()
728 EC_WORD(symstate->ndx), MSG_ORIG(MSG_CMD_ST_BIND), in cmd_body_set_st_bind()
740 cmd_body_set_st_name(ARGSTATE *argstate, SYMSTATE *symstate) in cmd_body_set_st_name() argument
743 Sym *sym = &symstate->sym.data[symstate->ndx]; in cmd_body_set_st_name()
751 symstate_add_str(argstate, symstate); in cmd_body_set_st_name()
755 (void) elfedit_offset_to_str(symstate->str.sec, in cmd_body_set_st_name()
759 symstate->str.sec, NULL, argstate->argv[1]); in cmd_body_set_st_name()
764 symstate->sym.sec->sec_shndx, symstate->sym.sec->sec_name, in cmd_body_set_st_name()
765 EC_WORD(symstate->ndx), MSG_ORIG(MSG_CMD_ST_NAME), in cmd_body_set_st_name()
772 if (symstate->sym.sec->sec_shdr->sh_type == SHT_DYNSYM) in cmd_body_set_st_name()
775 EC_WORD(symstate->sym.sec->sec_shndx), in cmd_body_set_st_name()
776 symstate->sym.sec->sec_name, in cmd_body_set_st_name()
777 EC_WORD(symstate->ndx)); in cmd_body_set_st_name()
780 symstate->sym.sec->sec_shndx, symstate->sym.sec->sec_name, in cmd_body_set_st_name()
781 EC_WORD(symstate->ndx), MSG_ORIG(MSG_CMD_ST_NAME), in cmd_body_set_st_name()
792 cmd_body_set_st_shndx(ARGSTATE *argstate, SYMSTATE *symstate) in cmd_body_set_st_shndx() argument
795 Sym *sym = &symstate->sym.data[symstate->ndx]; in cmd_body_set_st_shndx()
841 symstate_add_xshndx(argstate, symstate); in cmd_body_set_st_shndx()
849 if (symstate->xshndx.shndx != SHN_UNDEF) in cmd_body_set_st_shndx()
853 symstate_add_xshndx(argstate, symstate); in cmd_body_set_st_shndx()
856 (symstate->xshndx.data[symstate->ndx] != xshndx); in cmd_body_set_st_shndx()
865 if ((symstate->ndx == 0) && (shndx != SHN_UNDEF)) in cmd_body_set_st_shndx()
889 EC_WORD(symstate->sym.sec->sec_shndx), in cmd_body_set_st_shndx()
890 symstate->sym.sec->sec_name, EC_WORD(symstate->ndx), in cmd_body_set_st_shndx()
896 symstate->sym.sec->sec_shndx, symstate->sym.sec->sec_name, in cmd_body_set_st_shndx()
897 EC_WORD(symstate->ndx), MSG_ORIG(MSG_CMD_ST_SHNDX), in cmd_body_set_st_shndx()
905 symstate->sym.sec->sec_shndx, symstate->sym.sec->sec_name, in cmd_body_set_st_shndx()
906 EC_WORD(symstate->ndx), MSG_ORIG(MSG_CMD_ST_SHNDX), in cmd_body_set_st_shndx()
914 symstate->xshndx.sec->sec_shndx, in cmd_body_set_st_shndx()
915 symstate->xshndx.sec->sec_name, in cmd_body_set_st_shndx()
916 EC_WORD(symstate->ndx), in cmd_body_set_st_shndx()
918 symstate->xshndx.data[symstate->ndx]), in cmd_body_set_st_shndx()
921 symstate->xshndx.data[symstate->ndx] = xshndx; in cmd_body_set_st_shndx()
922 elfedit_modified_data(symstate->xshndx.sec); in cmd_body_set_st_shndx()
926 symstate->xshndx.sec->sec_shndx, in cmd_body_set_st_shndx()
927 symstate->xshndx.sec->sec_name, in cmd_body_set_st_shndx()
928 EC_WORD(symstate->ndx), in cmd_body_set_st_shndx()
937 cmd_body_set_st_type(ARGSTATE *argstate, SYMSTATE *symstate) in cmd_body_set_st_type() argument
942 Sym *sym = &symstate->sym.data[symstate->ndx]; in cmd_body_set_st_type()
957 symstate->sym.sec->sec_shndx, symstate->sym.sec->sec_name, in cmd_body_set_st_type()
958 EC_WORD(symstate->ndx), MSG_ORIG(MSG_CMD_ST_TYPE), in cmd_body_set_st_type()
963 symstate->sym.sec->sec_shndx, symstate->sym.sec->sec_name, in cmd_body_set_st_type()
964 EC_WORD(symstate->ndx), MSG_ORIG(MSG_CMD_ST_TYPE), in cmd_body_set_st_type()
977 cmd_body_set_st_visibility(ARGSTATE *argstate, SYMSTATE *symstate) in cmd_body_set_st_visibility() argument
981 Sym *sym = &symstate->sym.data[symstate->ndx]; in cmd_body_set_st_visibility()
996 symstate->sym.sec->sec_shndx, symstate->sym.sec->sec_name, in cmd_body_set_st_visibility()
997 EC_WORD(symstate->ndx), MSG_ORIG(MSG_CMD_ST_VISIBILITY), in cmd_body_set_st_visibility()
1002 symstate->sym.sec->sec_shndx, symstate->sym.sec->sec_name, in cmd_body_set_st_visibility()
1003 EC_WORD(symstate->ndx), MSG_ORIG(MSG_CMD_ST_VISIBILITY), in cmd_body_set_st_visibility()
1054 SYMSTATE *symstate; in process_args() local
1140 symstate = argstate->symstate; in process_args()
1159 symstate->sym.sec = elfedit_sec_getsymtab(obj_state, 1, in process_args()
1160 symtab->symt_shndx, NULL, &symstate->sym.data, in process_args()
1161 &symstate->sym.n, &symtab); in process_args()
1162 symstate->versym.shndx = symtab->symt_versym; in process_args()
1163 symstate->xshndx.shndx = symtab->symt_xshndx; in process_args()
1166 symstate->ndx = elfedit_atoui_range( in process_args()
1168 symstate->sym.n - 1, NULL); in process_args()
1187 symstate_add_str(argstate, symstate); in process_args()
1193 if (elfedit_name_to_symndx(symstate->sym.sec, in process_args()
1194 symstate->str.sec, argstate->argv[0], in process_args()
1195 err_type, &symstate->ndx) == 0) { in process_args()
1196 bzero(symstate, sizeof (*symstate)); in process_args()
1202 symstate++; in process_args()
1228 symstate_cmd_body(SYM_CMD_T cmd, ARGSTATE *argstate, SYMSTATE *symstate) in symstate_cmd_body() argument
1231 Sym *sym = &symstate->sym.data[symstate->ndx]; in symstate_cmd_body()
1234 if (symstate->ndx == 0) in symstate_cmd_body()
1236 EC_WORD(symstate->sym.sec->sec_shndx), in symstate_cmd_body()
1237 symstate->sym.sec->sec_name, EC_WORD(symstate->ndx)); in symstate_cmd_body()
1247 ret = cmd_body_set_st_bind(argstate, symstate); in symstate_cmd_body()
1259 symstate->sym.sec->sec_shndx, in symstate_cmd_body()
1260 symstate->sym.sec->sec_name, in symstate_cmd_body()
1261 EC_WORD(symstate->ndx), in symstate_cmd_body()
1267 symstate->sym.sec->sec_shndx, in symstate_cmd_body()
1268 symstate->sym.sec->sec_name, in symstate_cmd_body()
1269 EC_WORD(symstate->ndx), in symstate_cmd_body()
1279 ret = cmd_body_set_st_name(argstate, symstate); in symstate_cmd_body()
1291 symstate->sym.sec->sec_shndx, in symstate_cmd_body()
1292 symstate->sym.sec->sec_name, in symstate_cmd_body()
1293 EC_WORD(symstate->ndx), in symstate_cmd_body()
1299 symstate->sym.sec->sec_shndx, in symstate_cmd_body()
1300 symstate->sym.sec->sec_name, in symstate_cmd_body()
1301 EC_WORD(symstate->ndx), in symstate_cmd_body()
1311 ret = cmd_body_set_st_shndx(argstate, symstate); in symstate_cmd_body()
1321 symstate->sym.sec->sec_shndx, in symstate_cmd_body()
1322 symstate->sym.sec->sec_name, in symstate_cmd_body()
1323 EC_WORD(symstate->ndx), in symstate_cmd_body()
1329 symstate->sym.sec->sec_shndx, in symstate_cmd_body()
1330 symstate->sym.sec->sec_name, in symstate_cmd_body()
1331 EC_WORD(symstate->ndx), in symstate_cmd_body()
1341 ret = cmd_body_set_st_type(argstate, symstate); in symstate_cmd_body()
1351 symstate->sym.sec->sec_shndx, in symstate_cmd_body()
1352 symstate->sym.sec->sec_name, in symstate_cmd_body()
1353 EC_WORD(symstate->ndx), in symstate_cmd_body()
1359 symstate->sym.sec->sec_shndx, in symstate_cmd_body()
1360 symstate->sym.sec->sec_name, in symstate_cmd_body()
1361 EC_WORD(symstate->ndx), in symstate_cmd_body()
1373 ret = cmd_body_set_st_visibility(argstate, symstate); in symstate_cmd_body()
1384 elfedit_modified_data(symstate->sym.sec); in symstate_cmd_body()
1409 SYMSTATE *symstate; in cmd_body() local
1436 symstate = argstate->symstate; in cmd_body()
1438 tblndx++, symstate++) in cmd_body()
1439 elfedit_strtab_insert_test(obj_state, symstate->str.sec, in cmd_body()
1445 symstate = argstate->symstate; in cmd_body()
1446 for (tblndx = 0; tblndx < argstate->numsymstate; tblndx++, symstate++) in cmd_body()
1447 if (symstate_cmd_body(cmd, argstate, symstate) == in cmd_body()