2003-01-27 16:50:50

by Steve Kenton

[permalink] [raw]
Subject: [FYI} The cygwin tool chain can *almost* build a 2.5.59 kernel

Why anyone would want to is arguable. I was looking at uml and line
as I was downloading the 2.5.59 tar ball to peruse the source and the
question of "Hmmm, I wonder if ..." drifted up, so I gave it a try.

After fixing a few things like output format and one link error,

make defconfig ARCH=i386

did the expected things, as did oldconfig, config, and menuconfig

The big problem is that the cygwin binutils, 'as' in particular do not
support .subsection and .previous for some reason. They are 2.13.?
something special for cygwin which might explain it. Anyway, once
I hacked out the use of those (mainly in spinlocks, but a handful
scattered around) and configed out a couple of problems like OSS it
built a vmlinux (In windows PE format and probably not really useful)

It was an interesting "compile check" and might be helpful to some
doing janitor work at schools etc. where you can't change to Linux
or even dual boot because of "policies from above."

FYI

Steve


2003-01-27 17:04:02

by Larry McVoy

[permalink] [raw]
Subject: Re: [FYI} The cygwin tool chain can *almost* build a 2.5.59 kernel

Last I checked the kernel has file name conflicts, i.e., "README" and
"Readme" in the same directory in a windoze based file system. You may
not notice it if you get your kernel with tar but if you get it with BK
then BK will detect that and tell you about it. I don't remember which
files conflict but I know there are about 12 of them in the 2.5 kernel.

On Mon, Jan 27, 2003 at 11:00:08AM -0600, Steve Kenton wrote:
> Why anyone would want to is arguable. I was looking at uml and line
> as I was downloading the 2.5.59 tar ball to peruse the source and the
> question of "Hmmm, I wonder if ..." drifted up, so I gave it a try.
>
> After fixing a few things like output format and one link error,
>
> make defconfig ARCH=i386
>
> did the expected things, as did oldconfig, config, and menuconfig
>
> The big problem is that the cygwin binutils, 'as' in particular do not
> support .subsection and .previous for some reason. They are 2.13.?
> something special for cygwin which might explain it. Anyway, once
> I hacked out the use of those (mainly in spinlocks, but a handful
> scattered around) and configed out a couple of problems like OSS it
> built a vmlinux (In windows PE format and probably not really useful)
>
> It was an interesting "compile check" and might be helpful to some
> doing janitor work at schools etc. where you can't change to Linux
> or even dual boot because of "policies from above."
>
> FYI
>
> Steve
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

--
---
Larry McVoy lm at bitmover.com http://www.bitmover.com/lm

2003-01-27 17:26:46

by Padraig

[permalink] [raw]
Subject: Re: [FYI} The cygwin tool chain can *almost* build a 2.5.59 kernel

Larry McVoy wrote:
> Last I checked the kernel has file name conflicts, i.e., "README" and
> "Readme" in the same directory in a windoze based file system. You may
> not notice it if you get your kernel with tar but if you get it with BK
> then BK will detect that and tell you about it. I don't remember which
> files conflict but I know there are about 12 of them in the 2.5 kernel.

The findsn component of http://www.pixelbeat.org/fslint/
shows the following (24 files) for 2.5.59:

include/linux/netfilter_ipv4/ipt_dscp.h
include/linux/netfilter_ipv4/ipt_DSCP.h
include/linux/netfilter_ipv4/ipt_ecn.h
include/linux/netfilter_ipv4/ipt_ECN.h
include/linux/netfilter_ipv4/ipt_mark.h
include/linux/netfilter_ipv4/ipt_MARK.h
include/linux/netfilter_ipv4/ipt_tcpmss.h
include/linux/netfilter_ipv4/ipt_TCPMSS.h
include/linux/netfilter_ipv4/ipt_tos.h
include/linux/netfilter_ipv4/ipt_TOS.h
include/linux/netfilter_ipv6/ip6t_mark.h
include/linux/netfilter_ipv6/ip6t_MARK.h
net/ipv4/netfilter/ipt_dscp.c
net/ipv4/netfilter/ipt_DSCP.c
net/ipv4/netfilter/ipt_ecn.c
net/ipv4/netfilter/ipt_ECN.c
net/ipv4/netfilter/ipt_mark.c
net/ipv4/netfilter/ipt_MARK.c
net/ipv4/netfilter/ipt_tcpmss.c
net/ipv4/netfilter/ipt_TCPMSS.c
net/ipv4/netfilter/ipt_tos.c
net/ipv4/netfilter/ipt_TOS.c
net/ipv6/netfilter/ip6t_mark.c
net/ipv6/netfilter/ip6t_MARK.c

P?draig.