Re: pointer to .subsection and .previous usage in kernel?

From: Steve Kenton (skenton@ou.edu)
Date: Thu Feb 27 2003 - 17:20:56 EST


Actually, I was following up on some pointers from Jeff Dike on the
User Mode Linux home page about possibly running UML in a windows environment.
Jeff says that SMP has worked in the past and will again in the future
so I'm pretty sure that spinlocks will be needed ...

As a first pass to see where the problems were located I tried to build a
'host' kernel for i386 using the cygwin tool chain. That version of gcc produces
i386pe format output instead of elf which triggered the problem with .subsection
not being a recognized gas directive. I understand that .subsections force
things to be closely located within a section when there is no other logical
association and that they are not visible to the the linker which only deals with
sections. They only reason *I *can see for this is to improve cache hits but
I'm just guessing, hence the question.

FYI, by hacking out the .subsection/.previous directive I was able to build a
vmlinux for 2.5.59 using the cygwin tool chain under windows. Obviously it is
not useful as is, but there seem to be relatively few syntax and toolchain
problems to deal with. Hopefully the hard part of an actual UML port to windows
can be snarfed from the LINE project. Again based on a pointer from Jeff Dike.

Anyway, I'm just trying to get up to speed and was wondering *WHY* things are
done that way. Most of the in-line and asm stuff still looks like voodoo to me.
The .subsection/.previous just looks like a little blacker magic than normal.

Steve
 
>If you are writing code under cygwin, you should not be encountering
>spin-locks and kernel-specific things. Perhaps you are including
>>the wrong header files? You should never do:
>
> #include <linux/xxx.h>
> #include <asm/xxx.h>
>
>... unless you are writing modules. And you don't do that in cygwin.
>
>
>Cheers,
>Dick Johnson
>Penguin : Linux version 2.4.18 on an i686 machine (797.90 BogoMips).
>Why is the government concerned about the lunatic fringe? Think about it.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Feb 28 2003 - 22:00:45 EST