[comp.os.minix] Problems in linking 1.3C Kernel

hall@nosc.NOSC.MIL (Robert R. Hall) (10/01/88)

I found that the 1.3C upgrades for the KERNEL will not link.
See the following Linker error messages:

Microsoft (R) Overlay Linker  Version 3.61
Copyright (C) Microsoft Corp 1983-1987.  All rights reserved.

Object Modules [.OBJ]: MPX88+MAIN+TTY+PROC+SYSTEM+CLOCK+MEMORY+FLOPPY+
Object Modules [.OBJ]: AT_WINI+PRINTER+TABLE+CONSOLE+RS232+KLIB88+DMP
Run File [MPX88.EXE]: KERNEL
List File [NUL.MAP]: KERNEL /M
Libraries [.LIB]: ..\LIB\SLIBC /NOD /NOE /NOI

LINK : error L2029: Unresolved externals:



_func_key in file(s):
 TTY.OBJ(tty.c)
_init_rs232 in file(s):
 TTY.OBJ(tty.c)
_port_in in file(s):
 RS232.OBJ(rs232.c) CONSOLE.OBJ(console.c) PRINTER.OBJ(printer.c)
 AT_WINI.OBJ(at_wini.c) FLOPPY.OBJ(floppy.c) MAIN.OBJ(main.c)
_tty_init in file(s):
 TTY.OBJ(tty.c)
_port_out in file(s):
 RS232.OBJ(rs232.c) CONSOLE.OBJ(console.c) PRINTER.OBJ(printer.c)
 AT_WINI.OBJ(at_wini.c) FLOPPY.OBJ(floppy.c) CLOCK.OBJ(clock.c)
 PROC.OBJ(proc.c) MAIN.OBJ(main.c)
_set_leds in file(s):
 TTY.OBJ(tty.c)
_rs_out_char in file(s):
 TTY.OBJ(tty.c)
_set_uart in file(s):
 TTY.OBJ(tty.c)
_rs_sig in file(s):
 TTY.OBJ(tty.c)
_tty_o_done in file(s):
 TTY.OBJ(tty.c)
_out_char in file(s):
 TTY.OBJ(tty.c)
_flush in file(s):
 TTY.OBJ(tty.c)

Most of these entry point can be resolved by removing the word
PRIVATE in either of the two files console.c or rs232.c
but where did port_in and port_out get moved to?
The kernel/klib88.cdif of posting 12 clears shows them beening
deleted.

Andy you can't be testing this code out, to be letting errors
this gross get out.  This is what you are going to publish with
Prentice-Hall.  I remember reading a flame from
you condemning other people for sending you such code.

ast@cs.vu.nl (Andy Tanenbaum) (10/03/88)

In article <791@nosc.NOSC.MIL> hall@nosc.NOSC.MIL (Robert R. Hall) writes:
>I found that the 1.3C upgrades for the KERNEL will not link.
>See the following Linker error messages:
>
>Microsoft (R) Overlay Linker  Version 3.61
>Copyright (C) Microsoft Corp 1983-1987.  All rights reserved.
>Andy you can't be testing this code out, to be letting errors
>this gross get out.  This is what you are going to publish with
>Prentice-Hall.  I remember reading a flame from
>you condemning other people for sending you such code.

Not true!  I have compiled the code many times on MINIX and it works
fine.  I have never claimed it worked with MICROSOFT C.  I think a lot of
the trouble has to do with the fact that I removed port_out and port_in
to lib/IBM_PC, but when I shipped everything from my AT to the SUN for
posting, I forgot that directory.  I have eliminated all the other IBM_PC
directories as being useless.  I will post portio.s shortly.

Andy Tanenbaum (ast@cs.vu.nl)

brucee@runx.ips.oz (Bruce Evans) (10/07/88)

Robert Hall writes:

>I found that the 1.3C upgrades for the KERNEL will not link.
>See the following Linker error messages:
>
>Microsoft (R) Overlay Linker  Version 3.61

It's a bit much to expect it to compile with MSC. And every programmer
must be able to fixed "unresolved external" errors in their sleep.

It seems that the static allocation bug is biting again. The kernel
compiles with Minix cc only because PRIVATE's aren't? This bug is less
forgivable than distribution glitches.

Bruce Evans
Internet: brucee@runx.ips.oz.au    UUCP: uunet!runx.ips.oz.au!brucee