[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-hurd] oskit-mach cannot be build against oskit 20000901

From: Marcus Brinkmann
Subject: Re: [Bug-hurd] oskit-mach cannot be build against oskit 20000901
Date: Mon, 18 Sep 2000 06:07:05 +0200
User-agent: Mutt/1.1.4i

On Sun, Sep 17, 2000 at 11:46:04PM -0500, Neal H Walfield wrote:
> Hi Roland,
> Since you are in gnu-mach oskit mode, here is another problem.
> I am trying to build oskit-mach against the latest oskit: 20000901.
> Up until now, I have been using the 20000202 snapshot.  Everything builds
> fine until it gets to creating kernel.o.  Here it complains about multiple
> declarations of osenv_intr_{disable,enable,enabled}:

On bug-hurd, Mark replying to me replying to him replying to me:
Subject: oskit-mach trouble

   On Sat, Jul 29, 2000 at 07:05:27PM +0200, Mark Kettenis wrote:
   > You'll probably need to provide alternatives for more (all) of the
   > functions in oskit-0.97.20000505/dev/x86/synch.c in the oskit-mach
   > synch.c.

   This would be osenv_intr_save_disable(), which is the only one not
   defined in oskit-mach?

Yep!  Try to cook up your own version of it.

   I don't understand how adding more overwrites can help, because the
   linker already complains about conflicting definitions, but then I don't
   understand the linker very well, so I will try to add a dummy function.

The linker only pulls in an object from an archive if it is needed to
satisfy undefined references.  Since aparently some other code
references osenv_intr_save_disable() and this function can only be
found in the archive, it pulls in the entire module which also defines
the functions in oskit-mach's synch.o, hence the conflicts.  However,
if you provide osenv_intr_save_disable() in oskit-mach's synch.o, the
linker won't pull in oskit's synch.o, and the conflicts disappear.

---end of quote
Your next two problems you will have to solve:

i386-gnu-gcc  -nostdlib -nostartfiles -r -o oskit-kernel.o \
      -Wl,-\( kernel.o clib-routines.o -loskit_clientos -loskit_c
-loskit_kern -loskit_lmm
+-loskit_com -loskit_unsupp -loskit_dev -loskit_linux_dev -loskit_diskpart
-Wl,-\) -lgcc
i386-gnu-ld -Ttext 100000 -o kernel oskit-kernel.o
oskit-kernel.o: In function `alloc_for_oskit':
oskit-kernel.o(.text+0x3a0f4): undefined reference to `ffs'
oskit-kernel.o: In function `picinit':
oskit-kernel.o(.text+0x50ba7): undefined reference to `cli'
make[1]: *** [kernel] Error 1

I kludged around it, and I am too ashamed of my hack to post it
a second time ;)

Good night,

`Rhubarb is no Egyptian god.' Debian http://www.debian.org Check Key server 
Marcus Brinkmann              GNU    http://www.gnu.org    for public PGP Key 
Marcus.Brinkmann@ruhr-uni-bochum.de,     marcus@gnu.org    PGP Key ID 36E7CD09
http://homepage.ruhr-uni-bochum.de/Marcus.Brinkmann/       brinkmd@debian.org

reply via email to

[Prev in Thread] Current Thread [Next in Thread]