|
@@ -71,17 +71,19 @@ int module_frob_arch_sections(Elf_Ehdr *hdr,
|
|
Elf_Shdr *s, *sechdrs_end = sechdrs + hdr->e_shnum;
|
|
Elf_Shdr *s, *sechdrs_end = sechdrs + hdr->e_shnum;
|
|
|
|
|
|
for (s = sechdrs; s < sechdrs_end; s++) {
|
|
for (s = sechdrs; s < sechdrs_end; s++) {
|
|
- if (strcmp(".ARM.exidx.init.text", secstrings + s->sh_name) == 0)
|
|
|
|
|
|
+ char const *secname = secstrings + s->sh_name;
|
|
|
|
+
|
|
|
|
+ if (strcmp(".ARM.exidx.init.text", secname) == 0)
|
|
mod->arch.unw_sec_init = s;
|
|
mod->arch.unw_sec_init = s;
|
|
- else if (strcmp(".ARM.exidx.devinit.text", secstrings + s->sh_name) == 0)
|
|
|
|
|
|
+ else if (strcmp(".ARM.exidx.devinit.text", secname) == 0)
|
|
mod->arch.unw_sec_devinit = s;
|
|
mod->arch.unw_sec_devinit = s;
|
|
- else if (strcmp(".ARM.exidx", secstrings + s->sh_name) == 0)
|
|
|
|
|
|
+ else if (strcmp(".ARM.exidx", secname) == 0)
|
|
mod->arch.unw_sec_core = s;
|
|
mod->arch.unw_sec_core = s;
|
|
- else if (strcmp(".init.text", secstrings + s->sh_name) == 0)
|
|
|
|
|
|
+ else if (strcmp(".init.text", secname) == 0)
|
|
mod->arch.sec_init_text = s;
|
|
mod->arch.sec_init_text = s;
|
|
- else if (strcmp(".devinit.text", secstrings + s->sh_name) == 0)
|
|
|
|
|
|
+ else if (strcmp(".devinit.text", secname) == 0)
|
|
mod->arch.sec_devinit_text = s;
|
|
mod->arch.sec_devinit_text = s;
|
|
- else if (strcmp(".text", secstrings + s->sh_name) == 0)
|
|
|
|
|
|
+ else if (strcmp(".text", secname) == 0)
|
|
mod->arch.sec_core_text = s;
|
|
mod->arch.sec_core_text = s;
|
|
}
|
|
}
|
|
#endif
|
|
#endif
|