Subject: Kernel compiling (was: Re: Config)
To: None <port-arm32@NetBSD.ORG>
From: Markus Baeurle <emw4maba@gp.fht-esslingen.de>
List: port-arm32
Date: 10/18/1996 01:25:57
Hi Ale!

In message <Pine.SUN.3.91-941213.961016181625.6949A-100000@dust0.dur.ac.uk>
          Ale Terlevich <A.I.Terlevich@durham.ac.uk> wrote:

>  Maybe all of the sources aren't there yet, although I can't see what's
> missing from the configuration files (don't see how missing sources could 
> cause an error like this)

It was like this, at least for wipux2.wifo.uni-mannheim.de. I didn't get
through to sup.netbsd.org anyway.
It seems that the newer config files were not available by sup before. Now they
are (you'll notice the StrongARM and ARM7500 compile options) and you must use
a current config for them now.
The ...miscfs/genfs directory also showed up today.

There are a few problems while compiling:

1) /sys/arm32/arm32/genassym.c could not be compiled.
I tracked this down to the renaming of the struct fp_state to fpe_sp_state in
machine/fp.h which was not taken care of in machine/pcb.h.
I'm quite sure that you have to change "struct fp_state pcb_fpstate" at the end
of the pcb struct declaration to "struct fpe_sp_state pcb_fpstate" because it
compiles fine afterwards.

2) Conflicting return types for htonl and ntohl in /sys/lib/libkern/htonl.c and
ntohl.c are reported.
They are currently unsigned long, but are declared to u_int32_t in
machine/endian.h. There is a declaration of in_addr_t anyway which is then used
to declare the return type, so I'm quite confident this should also be used in
the abovementioned files.
This is machine independant source. What is the appropriate way to report this?
A message to tech-kern, a send-pr?
And don't tell me to post to current-users as usual. ;-)))

3) When linking, I get
init_main.o(.text+0xac): undefined reference to 'mountroot'
shell_shell.o(.text+0x15d4): undefined reference to 'checkinodes'

I don't get it why there is a problem with mountroot. This is a string which
points to a function or whatever the correct name for this is. This is set to
point to do_mountroot in /sys/arch/arm32/arm32/stubs.c which is also in this
file. I'm not familiar with the syntax of these pointers to functions, maybe
this is a problem.

checkinodes is needed in /sys/arch/arm32/kshell/shell_shell.c. I didn't find
the function itself.

So long, Markus