Module Name: src Committed By: tsutsui Date: Sun Jul 10 04:56:32 UTC 2011
Modified Files: src/usr.bin/elf2aout: elf2aout.c Log Message: Set a_midmag MAGIC in a.out header properly for more possible a.out ports in the past per ex.e_machine in ELF header. To generate a diff of this commit: cvs rdiff -u -r1.13 -r1.14 src/usr.bin/elf2aout/elf2aout.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/usr.bin/elf2aout/elf2aout.c diff -u src/usr.bin/elf2aout/elf2aout.c:1.13 src/usr.bin/elf2aout/elf2aout.c:1.14 --- src/usr.bin/elf2aout/elf2aout.c:1.13 Tue Jun 28 13:15:24 2011 +++ src/usr.bin/elf2aout/elf2aout.c Sun Jul 10 04:56:31 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: elf2aout.c,v 1.13 2011/06/28 13:15:24 tsutsui Exp $ */ +/* $NetBSD: elf2aout.c,v 1.14 2011/07/10 04:56:31 tsutsui Exp $ */ /* * Copyright (c) 1995 @@ -75,6 +75,7 @@ struct exec aex; int infile, outfile; unsigned long cur_vma = ULONG_MAX; + unsigned long mid; int symflag = 0; strtabix = symtabix = 0; @@ -209,10 +210,36 @@ text.len = data.vaddr - text.vaddr; /* We now have enough information to cons up an a.out header... */ - aex.a_midmag = htonl((symflag << 26) | (MID_PMAX << 16) | OMAGIC); - if (ex.e_machine == EM_PPC) - aex.a_midmag = htonl((symflag << 26) | (MID_POWERPC << 16) - | OMAGIC); + switch (ex.e_machine) { + case EM_SPARC: + mid = MID_SPARC; + break; + case EM_386: + mid = MID_PC386; + break; + case EM_68K: + mid = MID_M68K; + break; + case EM_MIPS: + if (ex.e_ident[EI_DATA] == ELFDATA2LSB) + mid = MID_PMAX; + else + mid = MID_MIPS; + break; + case EM_PPC: + mid = MID_POWERPC; + break; + case EM_ARM: + mid = MID_ARM6; + break; + case EM_VAX: + mid = MID_VAX; + break; + case EM_NONE: + default: + mid = MID_ZERO; + } + aex.a_midmag = htonl((symflag << 26) | (mid << 16) | OMAGIC); aex.a_text = text.len; aex.a_data = data.len;