Subject: Converting NetBSD 3.0 for Sun3 to default a.out format
To: None <port-m68k@NetBSD.org>
From: None <SigmFSK@aol.com>
List: port-m68k
Date: 09/22/2006 09:33:26
Howdy all:

I wish to run some SunOS 4.1.1  a.out executables under NetBSD 3.0 on a 
Sun3/80.  If I attempt to run them  under NetBSD 1.6 or higher, I get a 
segmentation violation, but under NetBSD  1.5.3 they run fine.

NetBSD 1.6 was the first version that the default  executable format changed 
from a.out to elf.

My questions are:
1) how  do I view the source-code changes made for "CHS 20010222" (or any 
particular  change) so that I can determine what to "undo" to make a custom 
NetBSD 3.0  release with a.out default format that will hopefully work with my old 
a.out  executables.
2) are there any major problems with building a custom NetBSD  Sun3 current 
release with default a.out format instead of elf
3) has anybody  done this?

Here's my situation:

Investigating the COMPAT_SUNOS  feature, I found that NetBSD 1.6 was the 
first Sun3 release to use the ELF  format by default (due to change: CHS 20010222).

I found the following  quote on the NetBSD site interesting:  Chuck Silvers 
has committed changes  to convert the NetBSD/sun3 port to ELF. With the 
COMPAT_AOUT_M68K kernel option,  all your old a.out binaries should still work. Note 
that a.out versions of  ifconfig(8) and route(8) will not work due to some 
structure alignment problems.  

Thinking that maybe my a.out executables (the microtec assembler, and  
telesoft compiler), also had "some structure alignment problems", I tested them  
with NetBSD 1.5.3 (default a.out format) and they ran perfectly.  They do  not 
run under NetBSD 1.6 or higher.

So I can run NetBSD 1.5.3, and it  works quite well, but after running a day 
or so, it gets an "awk" process that  takes 50% of the cpu time.  I'm sure 
this can be fixed, but rather than  being permanently stuck at NetBSD 1.5.3, I'd 
rather just always be able to run  the latest version of NetBSD, just with 
default a.out format (hopefully allowing  my SunOS 4.1.1 a.out executables to 
run).

thanks,
arthur