Commit 06a40ed1 authored by Ralf Baechle's avatar Ralf Baechle

MIPS: elf2ecoff: Rewrite main processing loop to switch.

The if construct was getting hard to read and would be getting even more
complex with the next bug fix.
Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 39148e94
...@@ -349,17 +349,14 @@ int main(int argc, char *argv[]) ...@@ -349,17 +349,14 @@ int main(int argc, char *argv[])
for (i = 0; i < ex.e_phnum; i++) { for (i = 0; i < ex.e_phnum; i++) {
/* Section types we can ignore... */ /* Section types we can ignore... */
if (ph[i].p_type == PT_NULL || ph[i].p_type == PT_NOTE || switch (ph[i].p_type) {
ph[i].p_type == PT_PHDR case PT_NULL:
|| ph[i].p_type == PT_MIPS_REGINFO) case PT_NOTE:
case PT_PHDR:
case PT_MIPS_REGINFO:
continue; continue;
/* Section types we can't handle... */
else if (ph[i].p_type != PT_LOAD) { case PT_LOAD:
fprintf(stderr,
"Program header %d type %d can't be converted.\n",
ex.e_phnum, ph[i].p_type);
exit(1);
}
/* Writable (data) segment? */ /* Writable (data) segment? */
if (ph[i].p_flags & PF_W) { if (ph[i].p_flags & PF_W) {
struct sect ndata, nbss; struct sect ndata, nbss;
...@@ -382,6 +379,15 @@ int main(int argc, char *argv[]) ...@@ -382,6 +379,15 @@ int main(int argc, char *argv[])
/* Remember the lowest segment start address. */ /* Remember the lowest segment start address. */
if (ph[i].p_vaddr < cur_vma) if (ph[i].p_vaddr < cur_vma)
cur_vma = ph[i].p_vaddr; cur_vma = ph[i].p_vaddr;
break;
default:
/* Section types we can't handle... */
fprintf(stderr,
"Program header %d type %d can't be converted.\n",
ex.e_phnum, ph[i].p_type);
exit(1);
}
} }
/* Sections must be in order to be converted... */ /* Sections must be in order to be converted... */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment