Subject: README: compat_m68k4k
To: None <port-hp300@NetBSD.ORG>
From: Jason Thorpe <thorpej@nas.nasa.gov>
List: port-mac68k
Date: 09/10/1996 12:19:06
[ Sorry for the cross-post, but I wanted to make sure and catch everyone
  running ports that can actually use this code.  --thorpej ]

This is mostly a heads-up/FYI...

In just a bit, I'm going to be committing code to the trunk of the NetBSD 
source tree which implements binary compatibility with MID_M68K4K 
executables (the type used by the hp300 port) on all m68k ports where 
NBPG == 4096 (it's ... fairly difficult to make this work on ports where 
NBPG == 8192, and it's not clear that it would be worth the effort...)

The changes introduce a kernel option called "COMPAT_M68K4K", which pulls 
in sys/compat/m68k4k/m68k4k_exec.c and adds it to the kernel exec 
switch.  This is sufficient to run statically linked executables.

To run dynamically linked executables, you'll need to update your ld.so 
once the trunk is available for SUP again (trust me, that will be very 
soon :-).  The changes to ld.so allow it to be used with all combinations 
of executables and shared libraries, i.e.:

	executable	library
	m68k4k		m68k4k
	m68k4k		m68k8k
	m68k8k		m68k4k
	m68k8k		m68k8k

What this means to hp300 users is that when I switch the hp300 port to 
use MID_M68K executables (__LDPGSZ == 8192, like the rest of the 
ports), you should have completely compatibility with your legacy 
executables.  hp300 users can expect me to make this switch a few weeks 
after SUP switches back to the trunk ("NetBSD-current").

Anyhow, a little demo:

x4160x (thorpej) ~ 103% uname -sm
NetBSD mvme68k
x4160x (thorpej) ~ 104% file ./host
./host: NetBSD/m68k4k demand paged dynamically linked executable
x4160x (thorpej) ~ 105% ./host -t hinfo x4160x
x4160x.OG.ORG           HINFO   "MVME-147"      "NetBSD/mvme68k"
x4160x (thorpej) ~ 106% ldd ./host
./host:
        -lc.12 => /usr/lib/libc.so.12.6 (0x4022000)
x4160x (thorpej) ~ 107% file /usr/lib/libc.so.12.6 
/usr/lib/libc.so.12.6: NetBSD/m68k demand paged shared library not stripped
x4160x (thorpej) ~ 108%

The amiga, atari, and sun3 ports won't be able to use this; they're 
NBPG == 8192 ports...

Anyhow, let me know if you have questions.

Ciao.

 -- save the ancient forests - http://www.bayarea.net/~thorpej/forest/ -- 
Jason R. Thorpe                                       thorpej@nas.nasa.gov
NASA Ames Research Center                               Home: 408.866.1912
NAS: M/S 258-6                                          Work: 415.604.0935
Moffett Field, CA 94035                                Pager: 415.428.6939