Frank Breure <breure%itihp2@pucc.princeton.edu> (06/14/91)
(I'm sorry if you see this message twice, I send it out earlier but it
didn't show up!)
I had some more problems upgrading St-minix to 1.5.10.4:
The file other/syslib.c is broken, it wil give a lot of compilation error's
I patched it by removing the include of <minix/type.h>, this is already done
in <lib.h> and the type sighandler_t is'nt defined anywhere so I uncommented
the old parameter declaration:
original:
*** syslib.c.org Sun Jun 2 16:18:59 1991
--- syslib.c Sun Jun 2 16:15:30 1991
***************
*** 1,6 ****
#include <lib.h>
#include <minix/com.h>
! #include <minix/type.h>
/*----------------------------------------------------------------------------
Messages to systask (special calls)
--- 1,6 ----
#include <lib.h>
#include <minix/com.h>
! /* #include <minix/type.h> is already included in <lib.h> */
/*----------------------------------------------------------------------------
Messages to systask (special calls)
***************
*** 40,47 ****
PUBLIC void sys_sig(proc, sig, sighandler)
int proc; /* which proc has exited */
int sig; /* signal number: 1 - 16 */
! /*void (*sighandler) ();*/ /* pointer to signal handler in user space */
! sighandler_t sighandler;
{
/* A proc has to be signaled. Tell the kernel. */
--- 40,47 ----
PUBLIC void sys_sig(proc, sig, sighandler)
int proc; /* which proc has exited */
int sig; /* signal number: 1 - 16 */
! void (*sighandler) (); /* pointer to signal handler in user spa
ce */
! /* sighandler_t sighandler;*/
{
/* A proc has to be signaled. Tell the kernel. */
So I turned back two changes that were done from 1.5.10.3 to 1.5.10.4.
There are also problems with stprint.c in the kernel directory!
Because there is no define of DEV_WRITE anywhere in the system, I simply
removed one line from stprint.c to make it work.
*** stprint.c.org Sun Jun 2 16:22:53 1991
--- stprint.c Sat Jun 1 17:25:07 1991
***************
*** 73,79 ****
while (TRUE) {
receive(ANY, &m);
switch(m.m_type) {
! case DEV_WRITE: do_write(&m); break;
case CANCEL : do_cancel(&m); break;
case HARD_INT : do_done(&m); break;
default: reply(TASK_REPLY, m.m_source, m.PROC_NR,
--- 73,79 ----
while (TRUE) {
receive(ANY, &m);
switch(m.m_type) {
! /* case DEV_WRITE: do_write(&m); break; */
case CANCEL : do_cancel(&m); break;
case HARD_INT : do_done(&m); break;
default: reply(TASK_REPLY, m.m_source, m.PROC_NR,
There is also a problem in fs/glo.h:
*** /users/src/fs/glo.h.org Thu Jun 6 00:29:53 1991
--- /users/src/fs/glo.h Wed Jun 5 19:21:13 1991
***************
*** 26,32 ****
EXTERN int rdwt_err; /* status of last disk i/o request */
/* Data which needs initialization. */
! typedef unsigned short u16_t; /* belongs in h/type.h */
extern u16_t data_org[INFO + 2];/* origin and sizes of init */
/* belongs in h/build.h */
extern int (*call_vector[])(); /* table of system calls handled by FS *
/
--- 26,32 ----
EXTERN int rdwt_err; /* status of last disk i/o request */
/* Data which needs initialization. */
! /* typedef unsigned short u16_t; /* belongs in h/type.h */
extern u16_t data_org[INFO + 2];/* origin and sizes of init */
/* belongs in h/build.h */
extern int (*call_vector[])(); /* table of system calls handled by FS *
/
the 'typedef unsigned short u16_t ; ' is already done in <sys/types.h>,
the typedef there is equivalent: ACK and C68 handle this different:
- ACK gives an error (and produces no output file);
- C68 gives no warnings or messages;
Is there a correct definition how a C compiler should handle this !
I was able to compile a running kernel using the ACK compiler! but
it is not completely tested yet.
I still have problems with the system I build with C68, after mounting
my two Minix partitions I get a kernel panic 'trap via vector 2'....
(this is still in the /etc/rc script, before you are asked to input
the date).
I do have a running 1.5.10.3 kernel compiled with C68 so wonder what
could have changed that makes this difference (should I look in one
of the assembly files, or is it because I'm currently using c68 patchevel 3
instead of patchlevel 2??.
My systems is: St1040, with root FS on hd3, no Ram-disk and 126k cache!
NOTE: the cdiffs I included are only to show where I've had problems, and
how they "could" be fixed, they aren't very sophisticated and
non-official of course.
--
Frank Breure (breure@itihp1.tno.nl)
TNO Institute of Applied Computer Science Delft, The Netherlands
----------------------------------------------------------------------
My opinions may be subject to change without notice.