Lines Matching refs:strsec

273 	elfedit_section_t	*strsec;	/* String table */  in locate_interp()  local
308 strsec = &obj_state->os_secarr[i]; in locate_interp()
310 if ((strsec->sec_shdr->sh_type != SHT_NOBITS) && in locate_interp()
311 (interp->phdr->p_offset >= strsec->sec_shdr->sh_offset) && in locate_interp()
313 (strsec->sec_shdr->sh_offset + in locate_interp()
314 strsec->sec_shdr->sh_size))) { in locate_interp()
315 interp->sec = strsec; in locate_interp()
318 strsec->sec_shdr->sh_offset; in locate_interp()
319 interp->str = ((char *)strsec->sec_data->d_buf) + in locate_interp()
511 elfedit_section_t *strsec; /* String table */ in cmd_body_set_interp() local
526 strsec = interp.sec; in cmd_body_set_interp()
535 EC_WORD(strsec->sec_shndx), strsec->sec_name, in cmd_body_set_interp()
567 strsec = &obj_state->os_secarr[i]; in cmd_body_set_interp()
568 if ((strcmp(strsec->sec_name, MSG_ORIG(MSG_SEC_INTERP)) == 0) && in cmd_body_set_interp()
569 (strsec->sec_shdr->sh_flags & SHF_ALLOC) && in cmd_body_set_interp()
570 (strsec->sec_shdr->sh_type & SHT_PROGBITS)) { in cmd_body_set_interp()
573 if ((strsec->sec_shdr->sh_offset >= in cmd_body_set_interp()
575 ((strsec->sec_shdr->sh_offset + in cmd_body_set_interp()
576 strsec->sec_shdr->sh_size) <= in cmd_body_set_interp()
583 (str_size <= strsec->sec_shdr->sh_size)) { in cmd_body_set_interp()
589 strsec->sec_name, EC_WORD(str_offset), in cmd_body_set_interp()
592 (void) strncpy((char *)strsec->sec_data->d_buf, in cmd_body_set_interp()
594 strsec->sec_shdr->sh_size); in cmd_body_set_interp()
596 elfedit_modified_data(strsec); in cmd_body_set_interp()
601 strsec->sec_name, EC_WORD(str_offset), in cmd_body_set_interp()
603 EC_WORD(strsec->sec_shdr->sh_size), in cmd_body_set_interp()
622 strsec = elfedit_sec_getstr(obj_state, in cmd_body_set_interp()
626 str_offset = elfedit_strtab_insert(obj_state, strsec, in cmd_body_set_interp()
639 interp.phdr->p_offset = strsec->sec_shdr->sh_offset + str_offset; in cmd_body_set_interp()