Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+33 −27
Original line number Original line Diff line number Diff line
@@ -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[])
			/* 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... */