BSD 4_4_Lite2 development
[unix-history] / usr / src / contrib / gcc-2.3.3 / README.ALTOS
CommitLineData
30923fc5
C
1Return-Path: <jkp@sauna.hut.fi>
2Date: Mon, 10 Apr 89 10:13:45 +0300
3From: Jyrki Kuoppala <jkp@sauna.hut.fi>
4Sender: jkp@sauna.hut.fi
5To: info-gcc@prep.ai.mit.edu
6Subject: Kernel fix needed for Altos 3068 to get coff-encapsulation working right
7Organization: Helsinki University of Technology, Finland.
8
9Here's a description how to fix a kernel bug in Altos 3068 and get
10gcc-compiled programs working.
11
12Author: Jyrki Kuoppala (jkp@cs.hut.fi)
13Last modified: Mon Apr 10 09:28:40 1989
14
15There's a bug in the Altos 3068 kernel that causes gcc-compiled
16programs to fail in certain situations when the machine has a heavy
17load and also in some other situations. The bug exists at least in
18SVR 2.2 1.0gT1 and SVR 2.2 1.0e.
19
20If you have source code to your system, apply the following change to
21os/exec.c (function gethead):
22
23Change the lines containing
24
25 u.u_exdata.ux_tstart = sizeof(struct naout) +
26 sizeof(struct filhd) + (ep->ef.nscns * sizeof(struct scnhdr));
27
28to
29
30 u.u_exdata.ux_tstart = u.u_exdata.ux_txtorg;
31
32If you only have binary, use sdb to find out the address of the
33previous lines (on our system it's gethead+0x140) and use your
34favourite binary editor to change the bytes '3036 0162 fffc 0002 0280
350000' to '23f9 01fb f4ca 01fb f4c2 6016'. This may or may not work in
36your case, depending on the version of the operating system and the
37phase of the moon.
38
39Here's what is just before gethead+0x140 to ease finding out the right place:
40
410x9224 (gethead+0x122): 23f9 01fb f4ca 01fb f4ce mov.l &0x1fbf4ca.L,&0
42x1fbf4ce.L []
430x922e (gethead+0x12c): 23f9 01fb f4c6 01fb f4ca mov.l &0x1fbf4c6.L,&0
44x1fbf4ca.L []
450x9238 (gethead+0x136): 23f9 01fb f4c2 01fb f4c6 mov.l &0x1fbf4c2.L,&0
46x1fbf4c6.L []
47
48Good luck !
49
50//Jyrki
51
52jkp@cs.hut.fi
53