Subject: Re: Problem on cross-m68k-netbsdelf compiler
To: None <steve@mctavish.co.uk>
From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
List: tech-toolchain
Date: 01/20/2001 02:42:05
In <Pine.NEB.4.30.0101171826500.10591-100000@oor-wullie.mctavish.co.uk>
steve@mctavish.co.uk wrote:

> On Wed, 17 Jan 2001, Izumi Tsutsui wrote:
 :
> > /usr/pkg/cross/bin/m68k-netbsdelf-ld: Warning: size of symbol `constty' \
> > changed from 8 to 4 in cons.o
> 
> That's a known issue. For the fix, see revision 1.7 of
> gnusrc/dist/gcc/config/m68k/netbsd-elf.h.

Year, this fixes the problem. Thank you.

But there is still another problem. news68k bootloader uses
MI loadfile() from libsa, but it cannot read BSS size correctly.

size(1) says:

text    data    bss     dec     hex     filename
1150226 48356   182168  1380750 15118e  netbsd.elf
                ^^^^^^
but loadfile() says:

Booting hd(0,0,0)/netbsd.elf
1150226+48356+182180 [59+99344+72460]
              ^^^^^^
Because of this, the symbole table is not loaded
at correct place (which should be at "_end" symbol address).
How does this work with hp300 and mvme68k bootloaders?
We should switch to use bootinfo?

BTW, m68k ports which have hp300 derived pmap use
a.out NMAGIC kernel to map the data segment onto
independent pages from text. On m68k ELF kernel,
how should this be handled? (kern.ldscript is needed?)
---
Izumi Tsutsui
tsutsui@ceres.dti.ne.jp