All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [RFH] Exploration of an alternative diff_delta() algorithm
From: Nicolas Pitre @ 2006-04-10  3:29 UTC (permalink / raw)
  To: Peter Eriksen; +Cc: git
In-Reply-To: <20060409224548.GB21455@erlang.gbar.dtu.dk>

[-- Attachment #1: Type: TEXT/PLAIN, Size: 1001 bytes --]

On Mon, 10 Apr 2006, Peter Eriksen wrote:

> On Sun, Apr 09, 2006 at 01:45:00PM -0400, Nicolas Pitre wrote:
> ...
> > Try this with the README file from the git source tree:
> > 
> > 	sed s/git/GIT/g < ./README > /tmp/README.mod
> > 	test-delta -d ./README /tmp/README.mod /tmp/README.delta
> > 	[BOOM!]
> 
> I found the bug.  The code still has some limitations, but now
> it passes the test suite.  Thanks for your help, Nicolas.

OK here's some more meat for you:

Copy the same README file from the git source tree, then edit the copied 
version so the "Blob Object" section and the "Tree Object" section are 
swapped around like shown in the attached patch.

The best delta that can be achieved is 24 bytes.

With the current code the produced delta is 42 bytes.

With your code the resulting delta is 4978 bytes, about twice as large 
as the attached patch.

One major limitation of your algorithm appears to not have a global view 
of the base buffer before starting to find matches.


Nicolas

[-- Attachment #2: Type: TEXT/PLAIN, Size: 2372 bytes --]

--- f1	2006-04-09 13:31:26.000000000 -0400
+++ f2	2006-04-09 23:04:10.000000000 -0400
@@ -87,26 +87,6 @@
 
 The object types in some more detail:
 
-Blob Object
-~~~~~~~~~~~
-A "blob" object is nothing but a binary blob of data, and doesn't
-refer to anything else.  There is no signature or any other
-verification of the data, so while the object is consistent (it 'is'
-indexed by its sha1 hash, so the data itself is certainly correct), it
-has absolutely no other attributes.  No name associations, no
-permissions.  It is purely a blob of data (i.e. normally "file
-contents").
-
-In particular, since the blob is entirely defined by its data, if two
-files in a directory tree (or in multiple different versions of the
-repository) have the same contents, they will share the same blob
-object. The object is totally independent of its location in the
-directory tree, and renaming a file does not change the object that
-file is associated with in any way.
-
-A blob is typically created when gitlink:git-update-index[1]
-is run, and its data can be accessed by gitlink:git-cat-file[1].
-
 Tree Object
 ~~~~~~~~~~~
 The next hierarchical object type is the "tree" object.  A tree object
@@ -147,6 +127,26 @@
 its data can be accessed by gitlink:git-ls-tree[1].
 Two trees can be compared with gitlink:git-diff-tree[1].
 
+Blob Object
+~~~~~~~~~~~
+A "blob" object is nothing but a binary blob of data, and doesn't
+refer to anything else.  There is no signature or any other
+verification of the data, so while the object is consistent (it 'is'
+indexed by its sha1 hash, so the data itself is certainly correct), it
+has absolutely no other attributes.  No name associations, no
+permissions.  It is purely a blob of data (i.e. normally "file
+contents").
+
+In particular, since the blob is entirely defined by its data, if two
+files in a directory tree (or in multiple different versions of the
+repository) have the same contents, they will share the same blob
+object. The object is totally independent of its location in the
+directory tree, and renaming a file does not change the object that
+file is associated with in any way.
+
+A blob is typically created when gitlink:git-update-index[1]
+is run, and its data can be accessed by gitlink:git-cat-file[1].
+
 Commit Object
 ~~~~~~~~~~~~~
 The "commit" object is an object that introduces the notion of

^ permalink raw reply

* Re: 2.4.32: unresolved symbol unregister_qdisc
From: Randy.Dunlap @ 2006-04-10  3:29 UTC (permalink / raw)
  To: George P Nychis; +Cc: linux-kernel, netdev
In-Reply-To: <2595.128.2.140.234.1144639201.squirrel@128.2.140.234>

On Sun, 9 Apr 2006 23:20:01 -0400 (EDT) George P Nychis wrote:

> 
> > On Sun, 9 Apr 2006 22:49:50 -0400 (EDT) George P Nychis wrote:
> > 
> >> 
> >>> On Sun, 9 Apr 2006 22:05:33 -0400 (EDT) George P Nychis wrote:
> >>> 
> >>>> 
> >>>>> On Sun, 9 Apr 2006 13:37:25 -0400 (EDT) George P Nychis wrote:
> >>>>> 
> >>>>>> Thanks for the help.
> >>>>>> 
> >>>>>> Here is the makefile:
> >>>>>> http://rafb.net/paste/results/auchPH75.html
> >>>>>> 
> >>>>>> And here is the full errors I receive: 
> >>>>>> http://rafb.net/paste/results/Qplpqw74.html
> >>>>>> 
> >>>>>> Greatly appreciate it
> >>>>>> 
> >>>>>> - George
> >>>>> 
> >>>>> [repeat: please don't top-post]
> >>>>> 
> >>>>> I don't know how much I can help you.  It's been a long time
> >>>>> since I've built external modules on 2.4.x.
> >>>>> 
> >>>>> Problems that I see: - the Makefile does not use the expected 2.4
> >>>>>  kernel build infrastructure; - kernel Makefile uses -nostdinc to
> >>>>>  prevent use of userspace headers; - Makefile is trying to
> >>>>> include userspace headers instead of kernel headers, e.g.: In file
> >>>>> included from /usr/include/linux/if_ether.h:107, from 
> >>>>> /usr/include/linux/netdevice.h:29, from sch_xcp.c:8: - this
> >>>>> specified include directory is only in 2.6.x, not 2.4.x:
> >>>>> -I/lib/modules/`uname -r`/build/include/asm/mach-default
> >>>>> 
> >>>>> It's not clear to me how this makefile could work with 2.4.x at
> >>>>> all. Is it supposed to, or that's just what you want to see it do?
> >>>>> 
> >>>>> 
> >>>>> You could try to fix the Makefile based on makefile-changes
> >>>>> articles at lwn.net. E.g.: http://lwn.net/Articles/151784/ 
> >>>>> http://lwn.net/Articles/79984/ http://lwn.net/Articles/74767/ 
> >>>>> http://lwn.net/Articles/69148/ http://lwn.net/Articles/21823/
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>>>> On Sat, 8 Apr 2006 19:18:47 -0400 (EDT) George P Nychis
> >>>>>>> wrote:
> >>>>>>> 
> >>>>>>>> Yeah, this module is unfortunately not under the GPL, it
> >>>>>>>> was made for research and i am not the author, I was only
> >>>>>>>> given the code for my own research.
> >>>>>>>> 
> >>>>>>>> I enabled that support in the kernel, and then tried to 
> >>>>>>>> recompile and get tons of errors/warnings... so maybe I am 
> >>>>>>>> missing something else to be enabled in the kernel... here
> >>>>>>>> are a few examples of errors:
> >>>>>>>> /usr/include/linux/skbuff.h:30:26: net/checksum.h: No such
> >>>>>>>> file or directory /usr/include/asm/irq.h:16:25:
> >>>>>>>> irq_vectors.h: No such file or directory
> >>>>>>>> /usr/include/linux/irq.h:72: error: `NR_IRQS' undeclared
> >>>>>>>> here (not in a function) /usr/include/asm/hw_irq.h:28:
> >>>>>>>> error: `NR_IRQ_VECTORS' undeclared here (not in a function)
> >>>>>>>> 
> >>>>>>>> I think those are the top most errors, so if i can fix
> >>>>>>>> those hopefully the rest shall vanish!
> >>>>>>> 
> >>>>>>> Looks like a Makefile problem then.  Can you post the
> >>>>>>> Makefile? Hopefully it is using a Makefile and not just an
> >>>>>>> elaborate gcc command line.
> >>>>>>> 
> >>>>>>> [and please don't top-post]
> >>>>>>> 
> >>>>>>>> - George
> >>>>>>>> 
> >>>>>>>> 
> >>>>>>>>> From: "George P Nychis" <gnychis@cmu.edu> Date: Sat, 8
> >>>>>>>>> Apr 2006 18:47:34 -0400 (EDT)
> >>>>>>>>> 
> >>>>>>>>>> Hey,
> >>>>>>>>>> 
> >>>>>>>>>> I have a kernel module that uses unregister_qdisc and 
> >>>>>>>>>> register_qdisc, whenever i try to insert the module I
> >>>>>>>>>> get: /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: 
> >>>>>>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o:
> >>>>>>>>>> unresolved symbol unregister_qdisc 
> >>>>>>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: 
> >>>>>>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o:
> >>>>>>>>>> unresolved symbol register_qdisc
> >>>>>>>>>> 
> >>>>>>>>>> Am i missing some sort of support in the kernel?
> >>>>>>>>> 
> >>>>>>>>> Make sure CONFIG_NET_SCHED is enabled and that you
> >>>>>>>>> compiled your module against that kernel.
> >>>>>>>>> 
> >>>>>>>>> Where does this sch_xcp come from?  It's not in the
> >>>>>>>>> vanilla sources.
> >>>>>>>>> 
> >>>>>>>>> Also, please direct networking questions to the 
> >>>>>>>>> netdev@vger.kernel.org mailing list which I have added to
> >>>>>>>>> the CC:.
> >>>>> 
> >>>>> --- ~Randy
> >>>>> 
> >>>>> 
> >>>> 
> >>>> By the way, if I add -I/usr/src/linux/include to the compile line,
> >>>> it successfully compiles, however, i am back to the start:
> >>>> lanthanum-ini src-1.0.1 # insmod sch_xcp Using 
> >>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o 
> >>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: 
> >>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: unresolved symbol 
> >>>> unregister_qdisc /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: 
> >>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: unresolved symbol 
> >>>> register_qdisc
> >>> 
> >>> Yet your 2.4.32 kernel image file does have those symbols in it? Can
> >>> you verify that by using 'nm' on the kernel image file?
> >>> 
> >>> If so, then I suppose that you'll need to make a small module test
> >>> case that exhibits this behavior, or just tell us where to get the
> >>> sch_xcp files...
> >>> 
> >>> (re-added cc: for netdev)
> >>> 
> >>> --- ~Randy
> >>> 
> >>> 
> >> 
> >> By kernel image, do you mean /usr/src/linux/vmlinux ? if so, 
> >> lanthanum-ini linux # nm vmlinux | grep register_qdisc c0399200 R
> >> __kstrtab_register_qdisc c0399240 R __kstrtab_unregister_qdisc c039ebc8 R
> >> __ksymtab_register_qdisc c039ebd0 R __ksymtab_unregister_qdisc c02eda40 T
> >> register_qdisc c02edaf0 T unregister_qdisc
> > 
> > Yes.  That's good, then.
> > 
> > --- ~Randy
> > 
> > 
> 
> *sigh* ... still getting the unresolved symbols, i totally don't get it, my /usr/src/linux/vmlinux says that the symbols exist, i install the kernel, reboot, and still get the same errors

Yes, I understood that.

> Any other way of doing this or reason i can find out whats causing this?

Well, one of the makefile gods can step in and spot the problem, or you can
create a test case so that others can try to help out with it.  Or tell us
where to get the code that you are using.

> thanks for your help

---
~Randy

^ permalink raw reply

* [PATCH] config: exit if no beginning filename
From: Randy.Dunlap @ 2006-04-10  3:23 UTC (permalink / raw)
  To: lkml; +Cc: akpm, zippel, sam

From: Randy Dunlap <rdunlap@xenotime.net>

If the beginning Kconfig file is missing, config segfaults
so it might as well exit after the error message.

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
---
 scripts/kconfig/conf.c |    1 +
 1 files changed, 1 insertion(+)

--- linux-2617-rc1.orig/scripts/kconfig/conf.c
+++ linux-2617-rc1/scripts/kconfig/conf.c
@@ -553,6 +553,7 @@ int main(int ac, char **av)
   	name = av[i];
 	if (!name) {
 		printf(_("%s: Kconfig file missing\n"), av[0]);
+		exit(1);
 	}
 	conf_parse(name);
 	//zconfdump(stdout);


---

^ permalink raw reply

* Re: 2.4.32: unresolved symbol unregister_qdisc
From: George P Nychis @ 2006-04-10  3:20 UTC (permalink / raw)
  To: Randy.Dunlap; +Cc: linux-kernel, netdev
In-Reply-To: <20060409195906.77744b9b.rdunlap@xenotime.net>


> On Sun, 9 Apr 2006 22:49:50 -0400 (EDT) George P Nychis wrote:
> 
>> 
>>> On Sun, 9 Apr 2006 22:05:33 -0400 (EDT) George P Nychis wrote:
>>> 
>>>> 
>>>>> On Sun, 9 Apr 2006 13:37:25 -0400 (EDT) George P Nychis wrote:
>>>>> 
>>>>>> Thanks for the help.
>>>>>> 
>>>>>> Here is the makefile:
>>>>>> http://rafb.net/paste/results/auchPH75.html
>>>>>> 
>>>>>> And here is the full errors I receive: 
>>>>>> http://rafb.net/paste/results/Qplpqw74.html
>>>>>> 
>>>>>> Greatly appreciate it
>>>>>> 
>>>>>> - George
>>>>> 
>>>>> [repeat: please don't top-post]
>>>>> 
>>>>> I don't know how much I can help you.  It's been a long time
>>>>> since I've built external modules on 2.4.x.
>>>>> 
>>>>> Problems that I see: - the Makefile does not use the expected 2.4
>>>>>  kernel build infrastructure; - kernel Makefile uses -nostdinc to
>>>>>  prevent use of userspace headers; - Makefile is trying to
>>>>> include userspace headers instead of kernel headers, e.g.: In file
>>>>> included from /usr/include/linux/if_ether.h:107, from 
>>>>> /usr/include/linux/netdevice.h:29, from sch_xcp.c:8: - this
>>>>> specified include directory is only in 2.6.x, not 2.4.x:
>>>>> -I/lib/modules/`uname -r`/build/include/asm/mach-default
>>>>> 
>>>>> It's not clear to me how this makefile could work with 2.4.x at
>>>>> all. Is it supposed to, or that's just what you want to see it do?
>>>>> 
>>>>> 
>>>>> You could try to fix the Makefile based on makefile-changes
>>>>> articles at lwn.net. E.g.: http://lwn.net/Articles/151784/ 
>>>>> http://lwn.net/Articles/79984/ http://lwn.net/Articles/74767/ 
>>>>> http://lwn.net/Articles/69148/ http://lwn.net/Articles/21823/
>>>>> 
>>>>> 
>>>>> 
>>>>>>> On Sat, 8 Apr 2006 19:18:47 -0400 (EDT) George P Nychis
>>>>>>> wrote:
>>>>>>> 
>>>>>>>> Yeah, this module is unfortunately not under the GPL, it
>>>>>>>> was made for research and i am not the author, I was only
>>>>>>>> given the code for my own research.
>>>>>>>> 
>>>>>>>> I enabled that support in the kernel, and then tried to 
>>>>>>>> recompile and get tons of errors/warnings... so maybe I am 
>>>>>>>> missing something else to be enabled in the kernel... here
>>>>>>>> are a few examples of errors:
>>>>>>>> /usr/include/linux/skbuff.h:30:26: net/checksum.h: No such
>>>>>>>> file or directory /usr/include/asm/irq.h:16:25:
>>>>>>>> irq_vectors.h: No such file or directory
>>>>>>>> /usr/include/linux/irq.h:72: error: `NR_IRQS' undeclared
>>>>>>>> here (not in a function) /usr/include/asm/hw_irq.h:28:
>>>>>>>> error: `NR_IRQ_VECTORS' undeclared here (not in a function)
>>>>>>>> 
>>>>>>>> I think those are the top most errors, so if i can fix
>>>>>>>> those hopefully the rest shall vanish!
>>>>>>> 
>>>>>>> Looks like a Makefile problem then.  Can you post the
>>>>>>> Makefile? Hopefully it is using a Makefile and not just an
>>>>>>> elaborate gcc command line.
>>>>>>> 
>>>>>>> [and please don't top-post]
>>>>>>> 
>>>>>>>> - George
>>>>>>>> 
>>>>>>>> 
>>>>>>>>> From: "George P Nychis" <gnychis@cmu.edu> Date: Sat, 8
>>>>>>>>> Apr 2006 18:47:34 -0400 (EDT)
>>>>>>>>> 
>>>>>>>>>> Hey,
>>>>>>>>>> 
>>>>>>>>>> I have a kernel module that uses unregister_qdisc and 
>>>>>>>>>> register_qdisc, whenever i try to insert the module I
>>>>>>>>>> get: /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: 
>>>>>>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o:
>>>>>>>>>> unresolved symbol unregister_qdisc 
>>>>>>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: 
>>>>>>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o:
>>>>>>>>>> unresolved symbol register_qdisc
>>>>>>>>>> 
>>>>>>>>>> Am i missing some sort of support in the kernel?
>>>>>>>>> 
>>>>>>>>> Make sure CONFIG_NET_SCHED is enabled and that you
>>>>>>>>> compiled your module against that kernel.
>>>>>>>>> 
>>>>>>>>> Where does this sch_xcp come from?  It's not in the
>>>>>>>>> vanilla sources.
>>>>>>>>> 
>>>>>>>>> Also, please direct networking questions to the 
>>>>>>>>> netdev@vger.kernel.org mailing list which I have added to
>>>>>>>>> the CC:.
>>>>> 
>>>>> --- ~Randy
>>>>> 
>>>>> 
>>>> 
>>>> By the way, if I add -I/usr/src/linux/include to the compile line,
>>>> it successfully compiles, however, i am back to the start:
>>>> lanthanum-ini src-1.0.1 # insmod sch_xcp Using 
>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o 
>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: 
>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: unresolved symbol 
>>>> unregister_qdisc /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: 
>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: unresolved symbol 
>>>> register_qdisc
>>> 
>>> Yet your 2.4.32 kernel image file does have those symbols in it? Can
>>> you verify that by using 'nm' on the kernel image file?
>>> 
>>> If so, then I suppose that you'll need to make a small module test
>>> case that exhibits this behavior, or just tell us where to get the
>>> sch_xcp files...
>>> 
>>> (re-added cc: for netdev)
>>> 
>>> --- ~Randy
>>> 
>>> 
>> 
>> By kernel image, do you mean /usr/src/linux/vmlinux ? if so, 
>> lanthanum-ini linux # nm vmlinux | grep register_qdisc c0399200 R
>> __kstrtab_register_qdisc c0399240 R __kstrtab_unregister_qdisc c039ebc8 R
>> __ksymtab_register_qdisc c039ebd0 R __ksymtab_unregister_qdisc c02eda40 T
>> register_qdisc c02edaf0 T unregister_qdisc
> 
> Yes.  That's good, then.
> 
> --- ~Randy
> 
> 

*sigh* ... still getting the unresolved symbols, i totally don't get it, my /usr/src/linux/vmlinux says that the symbols exist, i install the kernel, reboot, and still get the same errors

Any other way of doing this or reason i can find out whats causing this?

thanks for your help


^ permalink raw reply

* Re: Black box flight recorder for Linux
From: Russell Senior @ 2006-04-10  3:06 UTC (permalink / raw)
  To: James Courtier-Dutton; +Cc: linux list
In-Reply-To: <44379AB8.6050808@superbug.co.uk>

>>>>> "James" == James Courtier-Dutton <James@superbug.co.uk> writes:

James> The main advantage of something like this would be for newer
James> motherboards that are around now that don't have a serial port.

If it has a PCI slot, you could _add_ a serial port, of course.


-- 
Russell Senior         ``I have nine fingers; you have ten.''
seniorr@aracnet.com

^ permalink raw reply

* [PATCH] Remove duplicate check after powernow-k8 changes
From: Alexey Dobriyan @ 2006-04-10  3:01 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>

--- a/arch/i386/kernel/cpu/cpufreq/powernow-k8.c
+++ b/arch/i386/kernel/cpu/cpufreq/powernow-k8.c
@@ -1109,9 +1109,6 @@ static unsigned int powernowk8_get (unsi
 	if (!data)
 		return -EINVAL;
 
-	if (!data)
-		return -EINVAL;
-
 	set_cpus_allowed(current, cpumask_of_cpu(cpu));
 	if (smp_processor_id() != cpu) {
 		printk(KERN_ERR PFX "limiting to CPU %d failed in powernowk8_get\n", cpu);


^ permalink raw reply

* Re: 2.4.32: unresolved symbol unregister_qdisc
From: Randy.Dunlap @ 2006-04-10  2:59 UTC (permalink / raw)
  To: George P Nychis; +Cc: linux-kernel, netdev
In-Reply-To: <2474.128.2.140.234.1144637390.squirrel@128.2.140.234>

On Sun, 9 Apr 2006 22:49:50 -0400 (EDT) George P Nychis wrote:

> 
> > On Sun, 9 Apr 2006 22:05:33 -0400 (EDT) George P Nychis wrote:
> > 
> >> 
> >>> On Sun, 9 Apr 2006 13:37:25 -0400 (EDT) George P Nychis wrote:
> >>> 
> >>>> Thanks for the help.
> >>>> 
> >>>> Here is the makefile: http://rafb.net/paste/results/auchPH75.html
> >>>> 
> >>>> And here is the full errors I receive: 
> >>>> http://rafb.net/paste/results/Qplpqw74.html
> >>>> 
> >>>> Greatly appreciate it
> >>>> 
> >>>> - George
> >>> 
> >>> [repeat: please don't top-post]
> >>> 
> >>> I don't know how much I can help you.  It's been a long time since
> >>> I've built external modules on 2.4.x.
> >>> 
> >>> Problems that I see: - the Makefile does not use the expected 2.4
> >>> kernel build infrastructure; - kernel Makefile uses -nostdinc to
> >>> prevent use of userspace headers; - Makefile is trying to include
> >>> userspace headers instead of kernel headers, e.g.: In file included
> >>> from /usr/include/linux/if_ether.h:107, from
> >>> /usr/include/linux/netdevice.h:29, from sch_xcp.c:8: - this specified
> >>> include directory is only in 2.6.x, not 2.4.x: -I/lib/modules/`uname
> >>> -r`/build/include/asm/mach-default
> >>> 
> >>> It's not clear to me how this makefile could work with 2.4.x at all.
> >>> Is it supposed to, or that's just what you want to see it do?
> >>> 
> >>> You could try to fix the Makefile based on makefile-changes articles
> >>> at lwn.net. E.g.: http://lwn.net/Articles/151784/ 
> >>> http://lwn.net/Articles/79984/ http://lwn.net/Articles/74767/ 
> >>> http://lwn.net/Articles/69148/ http://lwn.net/Articles/21823/
> >>> 
> >>> 
> >>> 
> >>>>> On Sat, 8 Apr 2006 19:18:47 -0400 (EDT) George P Nychis wrote:
> >>>>> 
> >>>>>> Yeah, this module is unfortunately not under the GPL, it was
> >>>>>> made for research and i am not the author, I was only given the
> >>>>>> code for my own research.
> >>>>>> 
> >>>>>> I enabled that support in the kernel, and then tried to
> >>>>>> recompile and get tons of errors/warnings... so maybe I am
> >>>>>> missing something else to be enabled in the kernel... here are a
> >>>>>> few examples of errors: /usr/include/linux/skbuff.h:30:26:
> >>>>>> net/checksum.h: No such file or directory
> >>>>>> /usr/include/asm/irq.h:16:25: irq_vectors.h: No such file or
> >>>>>> directory /usr/include/linux/irq.h:72: error: `NR_IRQS' 
> >>>>>> undeclared here (not in a function)
> >>>>>> /usr/include/asm/hw_irq.h:28: error: `NR_IRQ_VECTORS' undeclared
> >>>>>> here (not in a function)
> >>>>>> 
> >>>>>> I think those are the top most errors, so if i can fix those 
> >>>>>> hopefully the rest shall vanish!
> >>>>> 
> >>>>> Looks like a Makefile problem then.  Can you post the Makefile? 
> >>>>> Hopefully it is using a Makefile and not just an elaborate gcc
> >>>>> command line.
> >>>>> 
> >>>>> [and please don't top-post]
> >>>>> 
> >>>>>> - George
> >>>>>> 
> >>>>>> 
> >>>>>>> From: "George P Nychis" <gnychis@cmu.edu> Date: Sat, 8 Apr
> >>>>>>> 2006 18:47:34 -0400 (EDT)
> >>>>>>> 
> >>>>>>>> Hey,
> >>>>>>>> 
> >>>>>>>> I have a kernel module that uses unregister_qdisc and 
> >>>>>>>> register_qdisc, whenever i try to insert the module I get: 
> >>>>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: 
> >>>>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: unresolved 
> >>>>>>>> symbol unregister_qdisc 
> >>>>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: 
> >>>>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: unresolved 
> >>>>>>>> symbol register_qdisc
> >>>>>>>> 
> >>>>>>>> Am i missing some sort of support in the kernel?
> >>>>>>> 
> >>>>>>> Make sure CONFIG_NET_SCHED is enabled and that you compiled
> >>>>>>> your module against that kernel.
> >>>>>>> 
> >>>>>>> Where does this sch_xcp come from?  It's not in the vanilla 
> >>>>>>> sources.
> >>>>>>> 
> >>>>>>> Also, please direct networking questions to the 
> >>>>>>> netdev@vger.kernel.org mailing list which I have added to the
> >>>>>>>  CC:.
> >>> 
> >>> --- ~Randy
> >>> 
> >>> 
> >> 
> >> By the way, if I add -I/usr/src/linux/include to the compile line, it
> >> successfully compiles, however, i am back to the start: lanthanum-ini
> >> src-1.0.1 # insmod sch_xcp Using
> >> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o 
> >> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o:
> >> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: unresolved symbol
> >> unregister_qdisc /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o:
> >> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: unresolved symbol
> >> register_qdisc
> > 
> > Yet your 2.4.32 kernel image file does have those symbols in it? Can you
> > verify that by using 'nm' on the kernel image file?
> > 
> > If so, then I suppose that you'll need to make a small module test case 
> > that exhibits this behavior, or just tell us where to get the sch_xcp
> > files...
> > 
> > (re-added cc: for netdev)
> > 
> > --- ~Randy
> > 
> > 
> 
> By kernel image, do you mean /usr/src/linux/vmlinux ?
> if so,
> lanthanum-ini linux # nm vmlinux | grep register_qdisc
> c0399200 R __kstrtab_register_qdisc
> c0399240 R __kstrtab_unregister_qdisc
> c039ebc8 R __ksymtab_register_qdisc
> c039ebd0 R __ksymtab_unregister_qdisc
> c02eda40 T register_qdisc
> c02edaf0 T unregister_qdisc

Yes.  That's good, then.

---
~Randy

^ permalink raw reply

* Re: Promise 20378
From: Phil Dibowitz @ 2006-04-10  2:50 UTC (permalink / raw)
  To: mreuther; +Cc: linux-ide
In-Reply-To: <20050909152134.24qevggbgg480ooo@engin.mail.umich.edu>

[-- Attachment #1: Type: text/plain, Size: 1679 bytes --]

mreuther@umich.edu wrote:
> Phil, there is a patch in Jeff Garzik's libata-dev patch queue to support PATA
> on Promise SATA hosts. I haven't tried it out myself, but it may cover your
> case.
> 
> Go to http://www.kernel.org/pub/linux/kernel/people/jgarzik/libata/ and grab the
> latest patch for 2.4 or 2.6. If you grab 2.6.13-rc7-libata1.patch.bz2, it
> applies cleanly to 2.6.13.
> 
> Please report back the results!

Finally got around to trying this. It works great! I patched 2.6.15.6
with this patch, and everything seems to be fully functional as far as
the PATA drive on that controller is concerned.

However, a few concerns:

1. The kernel raid autodetection doesn't work here. Though I'm not clear
if it supports going across controllers. I set up a raid-1 array wtih a
drive on my other controller, set the partition type to autodetect, but
a reboot left my array with just the drive not on the promise card.

2. Currently my BIOS's ATA settings are "SATA mode" - I also have "PATA
mode" "SATA+PATA mode". I tried SATA+PATA and I get a bunch of IRQ16
ignored messages, a few tracebacks, and a LOT of slowness. I also get 3
scsiI haven't tried the PATA mode.

Note that my box has 82801EB/ER controller which is currently my primary
contoller as well as the Promise PDC20378 which is what I'm using this
patch for.

Any help would be appreciated.

-- 
Phil Dibowitz                             phil@ipom.com
Freeware and Technical Pages              Insanity Palace of Metallica
http://www.phildev.net/                   http://www.ipom.com/

"Be who you are and say what you feel, because those who mind don't
matter and those who matter don't mind."
 - Dr. Suess


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 256 bytes --]

^ permalink raw reply

* Re: 2.4.32: unresolved symbol unregister_qdisc
From: George P Nychis @ 2006-04-10  2:49 UTC (permalink / raw)
  To: Randy.Dunlap; +Cc: linux-kernel, netdev
In-Reply-To: <20060409192929.28320c00.rdunlap@xenotime.net>


> On Sun, 9 Apr 2006 22:05:33 -0400 (EDT) George P Nychis wrote:
> 
>> 
>>> On Sun, 9 Apr 2006 13:37:25 -0400 (EDT) George P Nychis wrote:
>>> 
>>>> Thanks for the help.
>>>> 
>>>> Here is the makefile: http://rafb.net/paste/results/auchPH75.html
>>>> 
>>>> And here is the full errors I receive: 
>>>> http://rafb.net/paste/results/Qplpqw74.html
>>>> 
>>>> Greatly appreciate it
>>>> 
>>>> - George
>>> 
>>> [repeat: please don't top-post]
>>> 
>>> I don't know how much I can help you.  It's been a long time since
>>> I've built external modules on 2.4.x.
>>> 
>>> Problems that I see: - the Makefile does not use the expected 2.4
>>> kernel build infrastructure; - kernel Makefile uses -nostdinc to
>>> prevent use of userspace headers; - Makefile is trying to include
>>> userspace headers instead of kernel headers, e.g.: In file included
>>> from /usr/include/linux/if_ether.h:107, from
>>> /usr/include/linux/netdevice.h:29, from sch_xcp.c:8: - this specified
>>> include directory is only in 2.6.x, not 2.4.x: -I/lib/modules/`uname
>>> -r`/build/include/asm/mach-default
>>> 
>>> It's not clear to me how this makefile could work with 2.4.x at all.
>>> Is it supposed to, or that's just what you want to see it do?
>>> 
>>> You could try to fix the Makefile based on makefile-changes articles
>>> at lwn.net. E.g.: http://lwn.net/Articles/151784/ 
>>> http://lwn.net/Articles/79984/ http://lwn.net/Articles/74767/ 
>>> http://lwn.net/Articles/69148/ http://lwn.net/Articles/21823/
>>> 
>>> 
>>> 
>>>>> On Sat, 8 Apr 2006 19:18:47 -0400 (EDT) George P Nychis wrote:
>>>>> 
>>>>>> Yeah, this module is unfortunately not under the GPL, it was
>>>>>> made for research and i am not the author, I was only given the
>>>>>> code for my own research.
>>>>>> 
>>>>>> I enabled that support in the kernel, and then tried to
>>>>>> recompile and get tons of errors/warnings... so maybe I am
>>>>>> missing something else to be enabled in the kernel... here are a
>>>>>> few examples of errors: /usr/include/linux/skbuff.h:30:26:
>>>>>> net/checksum.h: No such file or directory
>>>>>> /usr/include/asm/irq.h:16:25: irq_vectors.h: No such file or
>>>>>> directory /usr/include/linux/irq.h:72: error: `NR_IRQS' 
>>>>>> undeclared here (not in a function)
>>>>>> /usr/include/asm/hw_irq.h:28: error: `NR_IRQ_VECTORS' undeclared
>>>>>> here (not in a function)
>>>>>> 
>>>>>> I think those are the top most errors, so if i can fix those 
>>>>>> hopefully the rest shall vanish!
>>>>> 
>>>>> Looks like a Makefile problem then.  Can you post the Makefile? 
>>>>> Hopefully it is using a Makefile and not just an elaborate gcc
>>>>> command line.
>>>>> 
>>>>> [and please don't top-post]
>>>>> 
>>>>>> - George
>>>>>> 
>>>>>> 
>>>>>>> From: "George P Nychis" <gnychis@cmu.edu> Date: Sat, 8 Apr
>>>>>>> 2006 18:47:34 -0400 (EDT)
>>>>>>> 
>>>>>>>> Hey,
>>>>>>>> 
>>>>>>>> I have a kernel module that uses unregister_qdisc and 
>>>>>>>> register_qdisc, whenever i try to insert the module I get: 
>>>>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: 
>>>>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: unresolved 
>>>>>>>> symbol unregister_qdisc 
>>>>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: 
>>>>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: unresolved 
>>>>>>>> symbol register_qdisc
>>>>>>>> 
>>>>>>>> Am i missing some sort of support in the kernel?
>>>>>>> 
>>>>>>> Make sure CONFIG_NET_SCHED is enabled and that you compiled
>>>>>>> your module against that kernel.
>>>>>>> 
>>>>>>> Where does this sch_xcp come from?  It's not in the vanilla 
>>>>>>> sources.
>>>>>>> 
>>>>>>> Also, please direct networking questions to the 
>>>>>>> netdev@vger.kernel.org mailing list which I have added to the
>>>>>>>  CC:.
>>> 
>>> --- ~Randy
>>> 
>>> 
>> 
>> By the way, if I add -I/usr/src/linux/include to the compile line, it
>> successfully compiles, however, i am back to the start: lanthanum-ini
>> src-1.0.1 # insmod sch_xcp Using
>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o 
>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o:
>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: unresolved symbol
>> unregister_qdisc /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o:
>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: unresolved symbol
>> register_qdisc
> 
> Yet your 2.4.32 kernel image file does have those symbols in it? Can you
> verify that by using 'nm' on the kernel image file?
> 
> If so, then I suppose that you'll need to make a small module test case 
> that exhibits this behavior, or just tell us where to get the sch_xcp
> files...
> 
> (re-added cc: for netdev)
> 
> --- ~Randy
> 
> 

By kernel image, do you mean /usr/src/linux/vmlinux ?
if so,
lanthanum-ini linux # nm vmlinux | grep register_qdisc
c0399200 R __kstrtab_register_qdisc
c0399240 R __kstrtab_unregister_qdisc
c039ebc8 R __ksymtab_register_qdisc
c039ebd0 R __ksymtab_unregister_qdisc
c02eda40 T register_qdisc
c02edaf0 T unregister_qdisc


^ permalink raw reply

* [PATCH] Implement --fuzz= option for git-apply.
From: Eric W. Biederman @ 2006-04-10  2:41 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git


Currently to import the -mm tree I have to work around
git-apply by using patch.  Because some of Andrews
patches in quilt will only apply with fuzz.

Allow git-apply to handle fuzz makes it much easier to import
the -mm tree into git.  I am still only processing about 1.5 patch a
second which for the 692 patches in 2.6.17-rc1-mm2 is still painful
but it does help.

If I just apply the patches and don't run git-mailinfo
git-write-tree, and git-write-commit I get about 4 patches
per second.

This patch defaults to leaving fuzz processing off so if you don't
want patches that only apply with fuzz you won't get them.

If a patch does require fuzz to apply you will get a warning:
> Fragment applied at offset: +-#lines (fuzz: #context_lines_deleted)

diff --git a/apply.c b/apply.c
index 33b4271..a07503f 100644
--- a/apply.c
+++ b/apply.c
@@ -32,8 +32,9 @@ static int apply = 1;
 static int no_add = 0;
 static int show_index_info = 0;
 static int line_termination = '\n';
+static int p_fuzz = 0;
 static const char apply_usage[] =
-"git-apply [--stat] [--numstat] [--summary] [--check] [--index] [--apply] [--no-add] [--index-info] [--allow-binary-replacement] [-z] [-pNUM] [--whitespace=<nowarn|warn|error|error-all|strip>] <patch>...";
+"git-apply [--stat] [--numstat] [--summary] [--check] [--index] [--apply] [--no-add] [--index-info] [--allow-binary-replacement] [-z] [-pNUM] [--fuzz=NUM] [--whitespace=<nowarn|warn|error|error-all|strip>] <patch>...";
 
 static enum whitespace_eol {
 	nowarn_whitespace,
@@ -100,6 +101,7 @@ static int max_change, max_len;
 static int linenr = 1;
 
 struct fragment {
+	unsigned long context;
 	unsigned long oldpos, oldlines;
 	unsigned long newpos, newlines;
 	const char *patch;
@@ -817,12 +819,15 @@ static int parse_fragment(char *line, un
 	int added, deleted;
 	int len = linelen(line, size), offset;
 	unsigned long oldlines, newlines;
+	unsigned long leading, trailing;
 
 	offset = parse_fragment_header(line, len, fragment);
 	if (offset < 0)
 		return -1;
 	oldlines = fragment->oldlines;
 	newlines = fragment->newlines;
+	leading = 0;
+	trailing = 0;
 
 	if (patch->is_new < 0) {
 		patch->is_new =  !oldlines;
@@ -860,10 +865,14 @@ static int parse_fragment(char *line, un
 		case ' ':
 			oldlines--;
 			newlines--;
+			if (!deleted && !added)
+				leading++;
+			trailing++;
 			break;
 		case '-':
 			deleted++;
 			oldlines--;
+			trailing = 0;
 			break;
 		case '+':
 			/*
@@ -887,6 +896,7 @@ static int parse_fragment(char *line, un
 			}
 			added++;
 			newlines--;
+			trailing = 0;
 			break;
 
                 /* We allow "\ No newline at end of file". Depending
@@ -904,6 +914,10 @@ static int parse_fragment(char *line, un
 	}
 	if (oldlines || newlines)
 		return -1;
+	fragment->context = leading;
+	if (leading > trailing)
+		fragment->context = trailing;
+
 	/* If a fragment ends with an incomplete line, we failed to include
 	 * it in the above loop because we hit oldlines == newlines == 0
 	 * before seeing it.
@@ -1087,7 +1101,7 @@ static int read_old_data(struct stat *st
 	}
 }
 
-static int find_offset(const char *buf, unsigned long size, const char *fragment, unsigned long fragsize, int line)
+static int find_offset(const char *buf, unsigned long size, const char *fragment, unsigned long fragsize, int line, int *lines)
 {
 	int i;
 	unsigned long start, backwards, forwards;
@@ -1148,6 +1162,7 @@ static int find_offset(const char *buf, 
 		n = (i >> 1)+1;
 		if (i & 1)
 			n = -n;
+		*lines = n;
 		return try;
 	}
 
@@ -1155,6 +1170,31 @@ static int find_offset(const char *buf, 
 	 * We should start searching forward and backward.
 	 */
 	return -1;
+}
+
+static void reduce_context(char **buf, int *size)
+{
+	char *ctx = *buf;
+	unsigned long ctxsize = *size;
+	unsigned long offset;
+
+	/* Remove the first line */
+	offset = 0;
+	while (offset <= ctxsize) {
+		if (ctx[offset++] == '\n')
+			break;
+	}
+	ctxsize -= offset;
+	ctx += offset;
+	/* Remove the last line */
+	offset = ctxsize - 1;
+	while (offset > 0) {
+		if (ctx[--offset] == '\n')
+			break;
+	}
+	ctxsize = offset + 1;
+	*buf = ctx;
+	*size = ctxsize;
 }
 
 struct buffer_desc {
@@ -1192,7 +1232,10 @@ static int apply_one_fragment(struct buf
 	int offset, size = frag->size;
 	char *old = xmalloc(size);
 	char *new = xmalloc(size);
-	int oldsize = 0, newsize = 0;
+	char *ctx;
+	int oldsize = 0, newsize = 0, ctxsize;
+	int lines;
+	int fuzz, max_fuzz;
 
 	while (size > 0) {
 		int len = linelen(patch, size);
@@ -1241,23 +1284,39 @@ #ifdef NO_ACCURATE_DIFF
 		newsize--;
 	}
 #endif
+
+	offset = -1; /* shutup gcc */
+	ctx = old;
+	ctxsize = oldsize;
+	lines = 0;
+	max_fuzz = (p_fuzz < frag->context) ? p_fuzz : frag->context;
+	for (fuzz = 0; fuzz <= max_fuzz; fuzz++) {
+		/* Reduce the number of context lines */
+		if (fuzz) 
+			reduce_context(&ctx, &ctxsize);
+		offset = find_offset(buf, desc->size, ctx, ctxsize, frag->newpos + fuzz, &lines);
+		if (offset >= 0) {
+			int diff = newsize - ctxsize;
+			unsigned long size = desc->size + diff;
+			unsigned long alloc = desc->alloc;
+
+			if (fuzz)
+				fprintf(stderr, "Fragment applied at offset: %d (fuzz: %d)\n",
+					lines, fuzz);
+
+			if (size > alloc) {
+				alloc = size + 8192;
+				desc->alloc = alloc;
+				buf = xrealloc(buf, alloc);
+				desc->buffer = buf;
+			}
+			desc->size = size;
+			memmove(buf + offset + newsize, buf + offset + ctxsize, size - offset - newsize);
+			memcpy(buf + offset, new, newsize);
+			offset = 0;
 			
-	offset = find_offset(buf, desc->size, old, oldsize, frag->newpos);
-	if (offset >= 0) {
-		int diff = newsize - oldsize;
-		unsigned long size = desc->size + diff;
-		unsigned long alloc = desc->alloc;
-
-		if (size > alloc) {
-			alloc = size + 8192;
-			desc->alloc = alloc;
-			buf = xrealloc(buf, alloc);
-			desc->buffer = buf;
+			break;
 		}
-		desc->size = size;
-		memmove(buf + offset + newsize, buf + offset + oldsize, size - offset - newsize);
-		memcpy(buf + offset, new, newsize);
-		offset = 0;
 	}
 
 	free(old);
@@ -1943,6 +2002,10 @@ int main(int argc, char **argv)
 		}
 		if (!strcmp(arg, "-z")) {
 			line_termination = 0;
+			continue;
+		}
+		if (!strncmp(arg, "--fuzz=", 7)) {
+			p_fuzz = atoi(arg + 7);
 			continue;
 		}
 		if (!strncmp(arg, "--whitespace=", 13)) {

^ permalink raw reply related

* Re: [parisc-linux] B2000 PCI resource problem
From: Grant Grundler @ 2006-04-10  2:34 UTC (permalink / raw)
  To: Marc Zyngier; +Cc: parisc-linux
In-Reply-To: <wrp7j62jz7e.fsf@wild-wind.fr.eu.org>

On Thu, Apr 06, 2006 at 09:12:05PM +0200, Marc Zyngier wrote:
> People,
> 
> I recently added a Sun dual gigabit, dual scsi PCI card to one of my
> B2000s. This board contains 2 cassini chips, and a 53c896, all sitting
> behind an Intel (well, Digital) 21154 PCI bridge.
> 
> The system works fine, but I'm seeing the following problems:
> 
> Whel probing the SCSI part of the board, the kernel spits the
> following:
> 
> PCI: resource not parented! [2000-2fff]
> PCI: resource not parented! [fb000000-fb5fffff]

Which kernel version?

>   00002000-00002fff : PCI Bus #02
> [... ad nauseam].

This is definitely a bug.

> 0000:01:02.0 PCI bridge: Intel Corporation 21154 PCI-to-PCI Bridge (prog-if 00 [Normal decode])
...
>         I/O behind bridge: 00002000-00002fff
>         Memory behind bridge: fb000000-fb5fffff

Looks like PCI bridge support isn't parenting the allocation
of these resources correctly.

> 0000:02:00.0 Ethernet controller: National Semiconductor Corporation DP83065 [Saturn] 10/100/1000 Ethernet Controller (rev 30)
...
>         Region 0: Memory at fb200000 (32-bit, non-prefetchable) [size=2M]

Wow! 2M? That's a fair chunk of space for a NIC.
Any special about that RAM or what it's used for?
(Just curious)

> 0000:02:02.0 SCSI storage controller: LSI Logic / Symbios Logic 53C896/897 (rev 07)
...
>         Region 0: I/O ports at 12100 [size=256]
>         Region 1: Memory at fb405000 (64-bit, non-prefetchable) [size=1K]
>         Region 3: Memory at fb402000 (64-bit, non-prefetchable) [size=8K]

Is CONFIG_SCSI_SYM53C8XX_MMIO enabled in your kernel?
(again just curious)

thanks,
grant
_______________________________________________
parisc-linux mailing list
parisc-linux@lists.parisc-linux.org
http://lists.parisc-linux.org/mailman/listinfo/parisc-linux

^ permalink raw reply

* [PATCH 11/11] build: Don't assume that mkbuildtree is executable
From: Horms @ 2006-04-10  2:30 UTC (permalink / raw)
  To: xen-devel; +Cc: Magnus Damm, Horms
In-Reply-To: <20060410022914.15477.13677.sendpatchset@tabatha.lab.ultramonkey.org>

# HG changeset patch
# User Horms <horms@verge.net.au>
# Node ID f69f52013d13de62aa66bebfbab511ccebbfe222
# Parent  491d06219ffdc9e9b99a483fe948970b75d52e06
build: Don't assume that mkbuildtree is executable

In some cases, say for instance for some bizzare reason
the tree was checked out of CVS, which doens't neccessarily
store file permissions, mkbuildtree may not be executable.

I couldn't decide btween chmoding mkbuildtree, which changes
the tree, and running sh mkbuildtree, which assumes its a shell
script. I settled on the latter.

Signed-Off-By: Horms <horms@verge.net.au>

diff -r 491d06219ffd -r f69f52013d13 buildconfigs/Rules.mk
--- a/buildconfigs/Rules.mk	Thu Mar 30 15:16:40 2006 +0900
+++ b/buildconfigs/Rules.mk	Thu Mar 30 15:21:11 2006 +0900
@@ -121,14 +121,14 @@ linux-2.6-xen.patch: ref-linux-$(LINUX_V
 linux-2.6-xen.patch: ref-linux-$(LINUX_VER)/.valid-ref
 	rm -rf tmp-$@
 	cp -al $(<D) tmp-$@
-	( cd linux-2.6-xen-sparse && ./mkbuildtree ../tmp-$@ )	
+	( cd linux-2.6-xen-sparse && sh ./mkbuildtree ../tmp-$@ )	
 	diff -Nurp $(<D) tmp-$@ > $@ || true
 	rm -rf tmp-$@
 
 %-xen.patch: ref-%/.valid-ref
 	rm -rf tmp-$@
 	cp -al $(<D) tmp-$@
-	( cd $*-xen-sparse && ./mkbuildtree ../tmp-$@ )	
+	( cd $*-xen-sparse && sh ./mkbuildtree ../tmp-$@ )	
 	diff -Nurp $(<D) tmp-$@ > $@ || true
 	rm -rf tmp-$@
 
diff -r 491d06219ffd -r f69f52013d13 buildconfigs/mk.linux-2.6-xen
--- a/buildconfigs/mk.linux-2.6-xen	Thu Mar 30 15:16:40 2006 +0900
+++ b/buildconfigs/mk.linux-2.6-xen	Thu Mar 30 15:21:11 2006 +0900
@@ -23,8 +23,8 @@ build: $(LINUX_DIR)/include/linux/autoco
 	rm -rf $(LINUX_DIR)
 	cp -al $(<D) $(LINUX_DIR)
 	# Apply arch-xen patches
-	( cd linux-$(LINUX_SERIES)-xen-sparse ; \
-          LINUX_ARCH=$(LINUX_ARCH) ./mkbuildtree ../$(LINUX_DIR) )
+	( cd linux-$(LINUX_SERIES)-xen-sparse && \
+          LINUX_ARCH=$(LINUX_ARCH) sh ./mkbuildtree ../$(LINUX_DIR) )
 	# Re-use config from install dir if one exits else use default config
 	CONFIG_VERSION=$$(sed -ne 's/^EXTRAVERSION = //p' $(LINUX_DIR)/Makefile); \
 	[ -r $(DESTDIR)/boot/config-$(LINUX_VER)$$CONFIG_VERSION-$(EXTRAVERSION) ] && \
diff -r 491d06219ffd -r f69f52013d13 linux-2.6-xen-sparse/mkbuildtree
--- a/linux-2.6-xen-sparse/mkbuildtree	Thu Mar 30 15:16:40 2006 +0900
+++ b/linux-2.6-xen-sparse/mkbuildtree	Thu Mar 30 15:21:11 2006 +0900
@@ -90,8 +90,8 @@ RS=$DESTPATH
 RS=$DESTPATH
 
 # Arch-specific pre-processing
-if [ -x arch/${LINUX_ARCH}/xen-mkbuildtree-pre ]; then
-	arch/${LINUX_ARCH}/xen-mkbuildtree-pre
+if [ -e arch/${LINUX_ARCH}/xen-mkbuildtree-pre ]; then
+	sh arch/${LINUX_ARCH}/xen-mkbuildtree-pre
 fi
 
 # Remove old copies of files and directories at the destination
@@ -115,6 +115,6 @@ relative_lndir ../../../${RS}/../xen/inc
 
 # Arch-specific post-processing
 cd ${AD}
-if [ -x arch/${LINUX_ARCH}/xen-mkbuildtree-post ]; then
-	arch/${LINUX_ARCH}/xen-mkbuildtree-post
+if [ -e arch/${LINUX_ARCH}/xen-mkbuildtree-post ]; then
+	sh arch/${LINUX_ARCH}/xen-mkbuildtree-post
 fi
diff -r 491d06219ffd -r f69f52013d13 tools/debugger/gdb/gdbbuild
--- a/tools/debugger/gdb/gdbbuild	Thu Mar 30 15:16:40 2006 +0900
+++ b/tools/debugger/gdb/gdbbuild	Thu Mar 30 15:21:11 2006 +0900
@@ -7,7 +7,7 @@ tar xjf gdb-6.2.1.tar.bz2
 tar xjf gdb-6.2.1.tar.bz2
 
 cd gdb-6.2.1-xen-sparse
-./mkbuildtree ../gdb-6.2.1
+sh ./mkbuildtree ../gdb-6.2.1
 
 cd ..
 mkdir gdb-6.2.1-linux-i386-xen
diff -r 491d06219ffd -r f69f52013d13 tools/misc/xen-clone
--- a/tools/misc/xen-clone	Thu Mar 30 15:16:40 2006 +0900
+++ b/tools/misc/xen-clone	Thu Mar 30 15:21:11 2006 +0900
@@ -113,7 +113,7 @@ else
 
  # Turn linux into xenolinux then build it
  cd xenolinux-${LINUX_VER}-sparse
- ./mkbuildtree ../../linux-${LINUX_VER}
+ sh ./mkbuildtree ../../linux-${LINUX_VER}
  cd ../..
  mv linux-${LINUX_VER} xenolinux-${LINUX_VER}
  cd xenolinux-${LINUX_VER}

-- 
Horms

^ permalink raw reply

* [PATCH 10/11] build: make linux download more flexable
From: Horms @ 2006-04-10  2:30 UTC (permalink / raw)
  To: xen-devel; +Cc: Magnus Damm, Horms
In-Reply-To: <20060410022914.15477.13677.sendpatchset@tabatha.lab.ultramonkey.org>

# HG changeset patch
# User Horms <horms@verge.net.au>
# Node ID 491d06219ffdc9e9b99a483fe948970b75d52e06
# Parent  fff0293d01ce01a625cc05c67a52b0b18fe4114c
build: make linux download more flexable

* Allow LINUX_REPO to specify the URL of the repository for the linux kernel,
  - Defaults is: http://www.kernel.org/pub/linux/kernel/     
* Allow LINUX_REPO to be overridden in the environment
* LINUX_REPO it should be the path, trimmed to give a structure
  equivalent to http://www.kernel.org/pub/linux/kernel/
  - The kernel tarball will be downloaded from
    $(LINUX_REPO)/v$(KERNEL_MAJOR).$(KERNEL_MINOR)/
    e.g. http://www.kernel.org/pub/linux/kernel/v2.6
    Where KERNEL_MAJOR and KERNEL_MINOR are calculated at runtime
  - The path of the tarball can be overridden using LINUX_REPO_KERNEL_PATH 
    in the environment, in which case the tarball will be downloaded from
    $(LINUX_REPO)/v$(LINUX_REPO_KERNEL_PATH)/
  - If needed kernel patches will be downloaded from
    $(LINUX_REPO)/v$(KERNEL_MAJOR).$(KERNEL_MINOR)/snapshots
    if present, else
    $(LINUX_REPO)/v$(KERNEL_MAJOR).$(KERNEL_MINOR)/testing
    This will depend on the version of the patch
  - The path of the tarball can be overridden using LINUX_REPO_KERNEL_PATH 
  in the environment, in which case the patch will be downloaded from
    $(LINUX_REPO)/v$(LINUX_REPO_PATCH_PATH)/
  - The intention of LINUX_REPO_KERNEL_PATH and LINUX_REPO_PATCH_PATH
    is to allow for sites that don't follow the directory hierarchy of
    kernel.org, while simplifying the presumably common case where they do
* Previously KERNEL_REPO had similar properties to LINUX_REPO, but
  it was not as flexible, had a somewhat presumptuous name and could
  not be overridden in the environment. It has been removed
* Allow DOWNLOAD_PATH to set a search path for previously downloaded files
  - Use the first element of the path as the directory to save
    downloaded files
  - Default is LINUX_SRC_PATH if set in environment, else .:..
  - Note that kclean-tarball, makedistlcean-* and friends 
    intentionally only remove tarballs in the top level xen directory,
    regardless of the value of this variable. This is to allow
    more persistent storage of tarballs in a specified location,
    which cam be manually cleaned if desired.

Signed-Off-By: Horms <horms@verge.net.au>

diff -r fff0293d01ce -r 491d06219ffd Config.mk
--- a/Config.mk	Thu Mar 30 15:13:58 2006 +0900
+++ b/Config.mk	Thu Mar 30 15:16:40 2006 +0900
@@ -69,7 +69,17 @@ CFLAGS += $(foreach i, $(EXTRA_INCLUDES)
 CFLAGS += $(foreach i, $(EXTRA_INCLUDES), -I$(i))
 
 # Choose the best mirror to download linux kernel
-KERNEL_REPO = http://www.kernel.org
+DOWNLOAD_PATH_DEFAULT := .:..
+LINUX_REPO_DEFAULT    := http://www.kernel.org/pub/linux/kernel/
+ifdef LINUX_SRC_PATH
+DOWNLOAD_PATH  ?= $(LINUX_SRC_PATH) # Compatibility
+else
+DOWNLOAD_PATH  ?= $(DOWNLOAD_PATH_DEFAULT)
+endif
+DOWNLOAD_DIR   := $(firstword $(subst :, ,$(DOWNLOAD_PATH)))
+LINUX_REPO     ?= $(LINUX_REPO_DEFAULT)
+# LINUX_REPO_KERNEL_PATH Set in buildconfigs/Rules.mk, if not in environment
+# LINUX_REPO_PATCH_PATH  Set in buildconfigs/Rules.mk, if not in environment
 
 # If ACM_SECURITY = y, then the access control module is compiled
 # into Xen and the policy type can be set by the boot policy file
diff -r fff0293d01ce -r 491d06219ffd Makefile
--- a/Makefile	Thu Mar 30 15:13:58 2006 +0900
+++ b/Makefile	Thu Mar 30 15:16:40 2006 +0900
@@ -172,6 +172,20 @@ help:
 	@echo '                     install into prefix/lib/python<VERSION>'
 	@echo '                     instead of <PREFIX>/lib/python'
 	@echo '                     true if set to non-empty value, false otherwise'
+	@echo '  LINUX_REPO=URL   - Base URL to download linux kernel from'
+	@echo '                     Default: "$(LINUX_REPO_DEFAULT)"'
+	@echo '  LINUX_REPO_KERNEL_PATH=DIRECTORY'
+	@echo '                   - LINUX_REPO assumes that the URL has the same directory'
+	@echo '                     structure as $(LINUX_REPO_DEFAULT)'
+	@echo '                     and the rest of the path to the tarball is derived.'
+	@echo '                     If set, override the derivation.'
+	@echo '                     Default: ""'
+	@echo '  LINUX_REPO_PATCHL_PATH=DIRECTORY'
+	@echo '                   - LINUX_REPO assumes that the URL has the same directory'
+	@echo '                     structure as $(LINUX_REPO_DEFAULT)'
+	@echo '                     and the rest of the path to the patches is derived.'
+	@echo '                     If set, override the derivation.'
+	@echo '                     Default: ""'
 
 # Use this target with extreme care!
 .PHONY: uninstall
diff -r fff0293d01ce -r 491d06219ffd buildconfigs/Rules.mk
--- a/buildconfigs/Rules.mk	Thu Mar 30 15:13:58 2006 +0900
+++ b/buildconfigs/Rules.mk	Thu Mar 30 15:16:40 2006 +0900
@@ -22,32 +22,58 @@ LINUX_VER	?= $(shell grep "^LINUX_VER" b
 LINUX_VER	?= $(shell grep "^LINUX_VER" buildconfigs/mk.linux-2.6-xen | sed -e 's/.*=[ ]*//')
 
 # Setup Linux search path
-LINUX_SRC_PATH	?= .:..
-vpath linux-%.tar.bz2 $(LINUX_SRC_PATH)
-vpath patch-%.bz2 $(LINUX_SRC_PATH)
+vpath linux-%.tar.bz2 $(DOWNLOAD_PATH)
+vpath patch-%.bz2 $(DOWNLOAD_PATH)
 
 # download a pristine Linux kernel tarball if there isn't one in LINUX_SRC_PATH
+ifndef LINUX_REPO_KERNEL_PATH
 linux-%.tar.bz2: override _LINUX_VDIR = $(word 1,$(subst ., ,$*)).$(word 2,$(subst ., ,$*))
+linux-%.tar.bz2: LINUX_REPO_KERNEL_PATH = v$(_LINUX_VDIR)
+endif
 linux-%.tar.bz2:
 	@echo "Cannot find $@ in path $(LINUX_SRC_PATH)"
-	wget $(KERNEL_REPO)/pub/linux/kernel/v$(_LINUX_VDIR)/$@ -O./$@
+	wget $(LINUX_REPO)/$(LINUX_REPO_KERNEL_PATH)/$@ -O$(DOWNLOAD_DIR)/$@ \
+		|| { rm -f $(DOWNLOAD_DIR)/$@; false; }
 
+ifndef LINUX_REPO_PATCH_PATH
 patch-%.bz2: override _LINUX_VDIR = $(word 1,$(subst ., ,$(*F))).$(word 2,$(subst ., ,$(*F)))
 patch-%.bz2: override _LINUX_XDIR = $(if $(word 3,$(subst -, ,$(*F))),snapshots,testing)
+patch-%.bz2: LINUX_REPO_PATCH_PATH = v$(_LINUX_VDIR)/$(_LINUX_XDIR)
+endif
 patch-%.bz2:
 	@echo "Cannot find $(@F) in path $(LINUX_SRC_PATH)"
-	wget $(KERNEL_REPO)/pub/linux/kernel/v$(_LINUX_VDIR)/$(_LINUX_XDIR)/$(@F) -O./$@
+	wget $(LINUX_REPO)/$(LINUX_REPO_PATCH_PATH)/$(@F) \
+		-O$(DOWNLOAD_DIR)/$@ || { rm -f $(DOWNLOAD_DIR)/$@; false; }
 
 pristine-%: pristine-%/.valid-pristine
 	@true
+  
+# unpack-pristine and patch-pristine targets are run in a submake
+# so that vpath is re-evaluated. This is important for the case
+# where the files are dowloaded this time around, and they are downloaded
+# into an alternate directory, as specified by DOWNLOAD_PATH
 
-pristine-%/.valid-pristine: %.tar.bz2
+unpack-pristine-%-X: %
+	tar -C $(UNPACK_DIR) --bzip2 -xf $<
+
+patch-pristine-%-X: %
+	echo $<
+	bzcat $< | patch -d $(UNPACK_DIR) -p1
+
+.PHONY: patch-pristine-dummy
+patch-pristine-dummy-X:
+
+pristine-%/.valid-pristine: $(LINUX_TARBALL) $(LINUX_PATCHES)
 	rm -rf tmp-pristine-$* $(@D)
 	mkdir -p tmp-pristine-$*
-	tar -C tmp-pristine-$* --bzip2 -xf $<
-	-@rm -f tmp-pristine-$*/pax_global_header
+	@# firstword is used to get rid of any whitespace
+	$(MAKE) UNPACK_DIR=tmp-pristine-$* \
+		unpack-pristine-$(firstword $(LINUX_TARBALL))-X
+	-rm -f tmp-pristine-$*/pax_global_header
 	mv tmp-pristine-$*/* $(@D)
-	@rm -rf tmp-pristine-$*
+	rm -rf tmp-pristine-$*
+	$(MAKE) KERNELS=linux-2.6-xen UNPACK_DIR=pristine-$* \
+		$(patsubst %, patch-pristine-%-X, dummy $(LINUX_PATCHES))
 	touch $(@D)/.hgskip
 	touch $@ # update timestamp to avoid rebuild
 
diff -r fff0293d01ce -r 491d06219ffd buildconfigs/mk.linux-2.6-xen
--- a/buildconfigs/mk.linux-2.6-xen	Thu Mar 30 15:13:58 2006 +0900
+++ b/buildconfigs/mk.linux-2.6-xen	Thu Mar 30 15:16:40 2006 +0900
@@ -1,6 +1,7 @@ LINUX_SERIES = 2.6
 LINUX_SERIES = 2.6
 LINUX_VER    = 2.6.16
-LINUX_SRCS = linux-2.6.16.tar.bz2
+LINUX_TARBALL = linux-2.6.16.tar.bz2 # Only one makes sense
+#LINUX_PATCHES = patch-2.6.17-rcN.bz2 # Usually zero or one patch
 
 EXTRAVERSION ?= xen
 
@@ -57,4 +58,4 @@ delete:
 
 .PHONY: mrpropper
 mrpropper:
-	rm -f $(LINUX_SRCS)
+	rm -f $(LINUX_TARBALL) $(LINUX_PATCHES)

-- 
Horms

^ permalink raw reply

* [PATCH 9/11] build: Use --bzip2 with tar instead of -j
From: Horms @ 2006-04-10  2:29 UTC (permalink / raw)
  To: xen-devel; +Cc: Magnus Damm, Horms
In-Reply-To: <20060410022914.15477.13677.sendpatchset@tabatha.lab.ultramonkey.org>

# HG changeset patch
# User Horms <horms@verge.net.au>
# Node ID fff0293d01ce01a625cc05c67a52b0b18fe4114c
# Parent  aec720c1347b14b6d4ab1b3838fdde0cc8dd9600
build: Use --bzip2 with tar instead of -j

Ok, this is a bit nitpicky. But I noticed in the GNU tar man page
that it recommends using --bzip2 instead of -j, originally
the -j option was -I

Signed-Off-By: Horms <horms@verge.net.au>

diff -r aec720c1347b -r fff0293d01ce buildconfigs/Rules.mk
--- a/buildconfigs/Rules.mk	Thu Mar 30 15:13:56 2006 +0900
+++ b/buildconfigs/Rules.mk	Thu Mar 30 15:13:58 2006 +0900
@@ -44,7 +44,7 @@ pristine-%/.valid-pristine: %.tar.bz2
 pristine-%/.valid-pristine: %.tar.bz2
 	rm -rf tmp-pristine-$* $(@D)
 	mkdir -p tmp-pristine-$*
-	tar -C tmp-pristine-$* -jxf $<
+	tar -C tmp-pristine-$* --bzip2 -xf $<
 	-@rm -f tmp-pristine-$*/pax_global_header
 	mv tmp-pristine-$*/* $(@D)
 	@rm -rf tmp-pristine-$*
diff -r aec720c1347b -r fff0293d01ce tools/xenstore/Makefile
--- a/tools/xenstore/Makefile	Thu Mar 30 15:13:56 2006 +0900
+++ b/tools/xenstore/Makefile	Thu Mar 30 15:13:58 2006 +0900
@@ -153,7 +153,7 @@ TAGS:
 
 .PHONY: tarball
 tarball: clean
-	cd .. && tar -c -j -v -h -f xenstore.tar.bz2 xenstore/
+	cd .. && tar -c --bzip2 -v -h -f xenstore.tar.bz2 xenstore/
 
 .PHONY: install
 install: all

-- 
Horms

^ permalink raw reply

* [PATCH 8/11] build: Clean pygrub's a.out
From: Horms @ 2006-04-10  2:29 UTC (permalink / raw)
  To: xen-devel; +Cc: Magnus Damm, Horms
In-Reply-To: <20060410022914.15477.13677.sendpatchset@tabatha.lab.ultramonkey.org>

# HG changeset patch
# User Horms <horms@verge.net.au>
# Node ID aec720c1347b14b6d4ab1b3838fdde0cc8dd9600
# Parent  d9046742b4a9365bc4b8c010a4f9944c3976219f
build: Clean pygrub's a.out

Signed-Off-By: Magnus Damm <magnus@valinux.co.jp>
Signed-Off-By: Horms <horms@valinux.co.jp>

diff -r d9046742b4a9 -r aec720c1347b tools/pygrub/Makefile
--- a/tools/pygrub/Makefile	Thu Mar 30 15:13:52 2006 +0900
+++ b/tools/pygrub/Makefile	Thu Mar 30 15:13:56 2006 +0900
@@ -19,4 +19,4 @@ endif
 
 .PHONY: clean
 clean:
-	rm -rf build tmp *.pyc *.pyo *.o *.a *~
+	rm -rf build tmp *.pyc *.pyo *.o *.a *~ a.out

-- 
Horms

^ permalink raw reply

* [PATCH 7/11] build: clean up kclean and distclean for kernel
From: Horms @ 2006-04-10  2:29 UTC (permalink / raw)
  To: xen-devel; +Cc: Magnus Damm, Horms
In-Reply-To: <20060410022914.15477.13677.sendpatchset@tabatha.lab.ultramonkey.org>

# HG changeset patch
# User Horms <horms@verge.net.au>
# Node ID d9046742b4a9365bc4b8c010a4f9944c3976219f
# Parent  a1cc586bceb80bee9a01ee4bf10bca6cb65c53e8
build: clean up kclean and distclean for kernel

* Don't delete non-existent %.tar.bz2 in buildconfigs/Rules.mk's %-mrproper
* Add a mrpropper target to buildconfigs/mk.linux-2.6-xen, and
  have this delete the local patch and tarball
* Make distclean depend on kclean, rather than calling delete target by
  hand
* Stop kclean from erroring out if the kernel directory doesn't exist
* Remove patches/*/.makedep in top level Makefile rather than in
  buildconfigs/Rules.mk, as calling rules in the latter causes
  patches/*/.make to be created (Magnus)

Signed-Off-By: Magnus Damm <magnus@valinux.co.jp>
Signed-Off-By: Horms <horms@verge.net.au>

--- from-0009/Makefile
+++ to-work/Makefile	2006-03-30 16:53:12.000000000 +0900
@@ -121,12 +121,12 @@ clean:: 
 	$(MAKE) -C tools clean
 	$(MAKE) -C docs clean
 
-# clean, but blow away kernel build tree plus tarballs
+# clean, but blow away kernel build tree plus local tarballs
 .PHONY: distclean
-distclean: clean
+distclean: clean kdelete
 	rm -rf dist patches/tmp
-	for i in $(ALLKERNELS) ; do $(MAKE) $$i-delete ; done
 	for i in $(ALLSPARSETREES) ; do $(MAKE) $$i-mrproper ; done
+	rm -rf patches/*/.makedep
 
 # Linux name for GNU distclean
 .PHONY: mrproper
--- from-0007/buildconfigs/Rules.mk
+++ to-work/buildconfigs/Rules.mk	2006-03-30 16:53:12.000000000 +0900
@@ -59,10 +59,6 @@ ifneq ($(PATCHDIRS),)
 $(patsubst patches/%,patches/%/.makedep,$(PATCHDIRS)): patches/%/.makedep: 
 	@echo 'ref-$*/.valid-ref: $$(wildcard patches/$*/*.patch)' >$@
 
-.PHONY: clean
-clean::
-	rm -f patches/*/.makedep
-
 ref-%/.valid-ref: pristine-%/.valid-pristine
 	set -e
 	rm -rf $(@D)
@@ -111,7 +107,8 @@ linux-2.6-xen.patch: ref-linux-$(LINUX_V
 	rm -rf tmp-$@
 
 %-mrproper:
-	rm -rf pristine-$(*)* ref-$(*)* $*.tar.bz2
+	$(MAKE) -f buildconfigs/mk.$*-xen mrpropper
+	rm -rf pristine-$(*)* ref-$(*)*
 	rm -rf $*-xen.patch
 
 .PHONY: config-update-pae
--- from-0007/buildconfigs/mk.linux-2.6-xen
+++ to-work/buildconfigs/mk.linux-2.6-xen	2006-03-30 16:54:32.000000000 +0900
@@ -48,8 +48,14 @@ config: $(LINUX_DIR)/include/linux/autoc
 
 .PHONY: clean
 clean::
-	$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) clean
+	[ ! -d $(LINUX_DIR) ] || \
+		$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) clean
+
 
 .PHONY: delete
 delete: 
 	rm -rf tmp-linux-$(LINUX_VER) $(LINUX_DIR) 
+
+.PHONY: mrpropper
+mrpropper:
+	rm -f $(LINUX_SRCS)

-- 
Horms

^ permalink raw reply

* [PATCH 6/11] build: Document the use of XEN_PYTHON_NATIVE_INSTALL
From: Horms @ 2006-04-10  2:29 UTC (permalink / raw)
  To: xen-devel; +Cc: Magnus Damm, Horms
In-Reply-To: <20060410022914.15477.13677.sendpatchset@tabatha.lab.ultramonkey.org>

# HG changeset patch
# User Horms <horms@verge.net.au>
# Node ID a1cc586bceb80bee9a01ee4bf10bca6cb65c53e8
# Parent  91cb0f2b5b6fd6e74abaeb3cf7d80e399ddaaff5
build: Document the use of XEN_PYTHON_NATIVE_INSTALL

Document the use of the XEN_PYTHON_NATIVE_INSTALL environment variable

Signed-Off-By: Horms <horms@verge.net.au>

diff -r 91cb0f2b5b6f -r a1cc586bceb8 Makefile
--- a/Makefile	Thu Mar 30 15:13:48 2006 +0900
+++ b/Makefile	Thu Mar 30 15:13:50 2006 +0900
@@ -165,6 +165,13 @@ help:
 	@echo '                     sparse trees'
 	@echo '  uninstall        - attempt to remove installed Xen tools'
 	@echo '                     (use with extreme care!)'
+	@echo
+	@echo 'Environment:'
+	@echo '  XEN_PYTHON_NATIVE_INSTALL=y'
+	@echo '                   - native python install or dist'
+	@echo '                     install into prefix/lib/python<VERSION>'
+	@echo '                     instead of <PREFIX>/lib/python'
+	@echo '                     true if set to non-empty value, false otherwise'
 
 # Use this target with extreme care!
 .PHONY: uninstall

-- 
Horms

^ permalink raw reply

* [PATCH 5/11] build: clean up output of make help a little bit
From: Horms @ 2006-04-10  2:29 UTC (permalink / raw)
  To: xen-devel; +Cc: Magnus Damm, Horms
In-Reply-To: <20060410022914.15477.13677.sendpatchset@tabatha.lab.ultramonkey.org>

# HG changeset patch
# User Horms <horms@verge.net.au>
# Node ID 91cb0f2b5b6fd6e74abaeb3cf7d80e399ddaaff5
# Parent  8dc0b3cf422a5a599e4687018fadfa639a96c354
build: clean up output of make help a little bit

Signed-Off-By: Horms <horms@verge.net.au>

diff -r 8dc0b3cf422a -r 91cb0f2b5b6f Makefile
--- a/Makefile	Thu Mar 30 15:13:45 2006 +0900
+++ b/Makefile	Thu Mar 30 15:13:48 2006 +0900
@@ -153,10 +153,9 @@ help:
 	@echo '  dev-docs         - build developer-only documentation'
 	@echo ''
 	@echo 'Cleaning targets:'
-	@echo '  clean            - clean the Xen, tools and docs (but not'
-	@echo '                     guest kernel) trees'
-	@echo '  distclean        - clean plus delete kernel tarballs and kernel'
-	@echo '                     build trees'
+	@echo '  clean            - clean the Xen, tools and docs (but not guest kernel trees)'
+	@echo '  distclean        - clean plus delete kernel build trees and'
+	@echo '                     local downloaded files'
 	@echo '  kdelete          - delete guest kernel build trees'
 	@echo '  kclean           - clean guest kernel build trees'
 	@echo ''
@@ -164,8 +163,8 @@ help:
 	@echo '  prep-kernels     - prepares kernel directories, does not build'
 	@echo '  mkpatches        - make patches against vanilla kernels from'
 	@echo '                     sparse trees'
-	@echo '  uninstall        - attempt to remove installed Xen tools (use'
-	@echo '                     with extreme care!)'
+	@echo '  uninstall        - attempt to remove installed Xen tools'
+	@echo '                     (use with extreme care!)'
 
 # Use this target with extreme care!
 .PHONY: uninstall

-- 
Horms

^ permalink raw reply

* [PATCH 4/11] build: Clean up use of .PHONY
From: Horms @ 2006-04-10  2:29 UTC (permalink / raw)
  To: xen-devel; +Cc: Magnus Damm, Horms
In-Reply-To: <20060410022914.15477.13677.sendpatchset@tabatha.lab.ultramonkey.org>

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 50342 bytes --]

# HG changeset patch
# User Horms <horms@verge.net.au>
# Node ID 8dc0b3cf422a5a599e4687018fadfa639a96c354
# Parent  a3a369798dbd866fcb4ec9026364e65a054c458a
build: Clean up use of .PHONY

* Move .PHONY directives next to targets,
  this makes them a lot harder to miss
* Add missing .PHONY directives
* Remove nonexistent .PHONY directives
* Hopefully I didn'T miss anything...

Signed-Off-By: Horms <horms@verge.net.au>

--- from-0008/Makefile
+++ to-work/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -14,6 +14,7 @@ export XEN_TARGET_ARCH SUBARCH XEN_SYSTY
 endif
 
 # Default target must appear before any include lines
+.PHONY: all
 all: dist
 
 XEN_ROOT=$(CURDIR)
@@ -24,12 +25,11 @@ ifeq ($(XEN_TARGET_X86_PAE),y)
 export pae=y
 endif
 
-.PHONY:	all dist install xen kernels tools dev-docs docs world clean
-.PHONY:	mkpatches mrproper kbuild kdelete kclean
-
 # build and install everything into the standard system directories
+.PHONY: install
 install: install-xen install-kernels install-tools install-docs
 
+.PHONY: build
 build: kernels
 	$(MAKE) -C xen build
 	$(MAKE) -C tools build
@@ -38,10 +38,12 @@ build: kernels
 # The test target is for unit tests that can run without an installation.  Of
 # course, many tests require a machine running Xen itself, and these are
 # handled elsewhere.
+.PHONY: test
 test:
 	$(MAKE) -C tools/python test
 
 # build and install everything into local dist directory
+.PHONY: dist
 dist: DESTDIR=$(DISTDIR)/install
 dist: dist-xen dist-kernels dist-tools dist-docs
 	$(INSTALL_DIR) $(DISTDIR)/check
@@ -54,67 +56,83 @@ dist-%: install-%
 	@: # do nothing
 
 # Legacy dist targets
+.PHONY: xen tools kernels docs
 xen: dist-xen
 tools: dist-tools
 kernels: dist-kernels
 docs: dist-docs
 
+.PHONY: prep-kernels
 prep-kernels:
 	for i in $(XKERNELS) ; do $(MAKE) $$i-prep || exit 1; done
 
+.PHONY: install-xen
 install-xen:
 	$(MAKE) -C xen install
 
+.PHONY: install-tools
 install-tools:
 	$(MAKE) -C tools install
 
+.PHONY: install-kernels
 install-kernels:
 	for i in $(XKERNELS) ; do $(MAKE) $$i-install || exit 1; done
 
+.PHONY: install-docs
 install-docs:
 	sh ./docs/check_pkgs && $(MAKE) -C docs install || true
 
+.PHONY: dev-docs
 dev-docs:
 	$(MAKE) -C docs dev-docs
 
 # Build all the various kernels and modules
+.PHONY: kbuild
 kbuild: kernels
 
 # Delete the kernel build trees entirely
+.PHONY: kdelete
 kdelete:
 	for i in $(XKERNELS) ; do $(MAKE) $$i-delete ; done
 
 # Clean the kernel build trees
+.PHONY: kclean
 kclean:
 	for i in $(XKERNELS) ; do $(MAKE) $$i-clean ; done
 
 # Make patches from kernel sparse trees
+.PHONY: mkpatches
 mkpatches:
 	for i in $(ALLSPARSETREES) ; do $(MAKE) $$i-xen.patch; done
 
 # build xen, the tools, and a domain 0 plus unprivileged linux-xen images,
 # and place them in the install directory. 'make install' should then
 # copy them to the normal system directories
+.PHONY: world
 world: 
 	$(MAKE) clean
 	$(MAKE) kdelete
 	$(MAKE) dist
 
 # clean doesn't do a kclean
+.PHONY: clean
 clean:: 
 	$(MAKE) -C xen clean
 	$(MAKE) -C tools clean
 	$(MAKE) -C docs clean
 
 # clean, but blow away kernel build tree plus tarballs
+.PHONY: distclean
 distclean: clean
 	rm -rf dist patches/tmp
 	for i in $(ALLKERNELS) ; do $(MAKE) $$i-delete ; done
 	for i in $(ALLSPARSETREES) ; do $(MAKE) $$i-mrproper ; done
 
 # Linux name for GNU distclean
+.PHONY: mrproper
 mrproper: distclean
 
+.PHONY: help
 help:
 	@echo 'Installation targets:'
 	@echo '  install          - build and install everything'
@@ -150,6 +168,7 @@ help:
 	@echo '                     with extreme care!)'
 
 # Use this target with extreme care!
+.PHONY: uninstall
 uninstall: D=$(DESTDIR)
 uninstall:
 	[ -d $(D)/etc/xen ] && mv -f $(D)/etc/xen $(D)/etc/xen.old-`date +%s` || true
@@ -183,5 +202,6 @@ uninstall:
 	rm -rf $(D)/usr/share/man/man8/xen*
 
 # Legacy targets for compatibility
+.PHONY: linux26
 linux26:
 	$(MAKE) 'KERNELS=linux-2.6*' kernels
--- from-0007/buildconfigs/Rules.mk
+++ to-work/buildconfigs/Rules.mk	2006-04-07 14:24:50.000000000 +0900
@@ -6,8 +6,6 @@ export DESTDIR
 ALLKERNELS = $(patsubst buildconfigs/mk.%,%,$(wildcard buildconfigs/mk.*))
 ALLSPARSETREES = $(patsubst %-xen-sparse,%,$(wildcard *-xen-sparse))
 
-.PHONY:	mkpatches mrproper
-
 # Setup pristine search path
 PRISTINE_SRC_PATH	?= .:..
 vpath pristine-% $(PRISTINE_SRC_PATH)
@@ -61,6 +59,7 @@ ifneq ($(PATCHDIRS),)
 $(patsubst patches/%,patches/%/.makedep,$(PATCHDIRS)): patches/%/.makedep: 
 	@echo 'ref-$*/.valid-ref: $$(wildcard patches/$*/*.patch)' >$@
 
+.PHONY: clean
 clean::
 	rm -f patches/*/.makedep
 
@@ -115,6 +114,7 @@ linux-2.6-xen.patch: ref-linux-$(LINUX_V
 	rm -rf pristine-$(*)* ref-$(*)* $*.tar.bz2
 	rm -rf $*-xen.patch
 
+.PHONY: config-update-pae
 config-update-pae:
 ifeq ($(XEN_TARGET_X86_PAE),y)
 	sed -e 's!^CONFIG_HIGHMEM4G=y$$!\# CONFIG_HIGHMEM4G is not set!;s!^\# CONFIG_HIGHMEM64G is not set$$!CONFIG_HIGHMEM64G=y!' $(CONFIG_FILE) > $(CONFIG_FILE)- && mv $(CONFIG_FILE)- $(CONFIG_FILE)
--- from-0007/buildconfigs/mk.linux-2.6-xen
+++ to-work/buildconfigs/mk.linux-2.6-xen	2006-04-07 14:24:50.000000000 +0900
@@ -8,9 +8,8 @@ LINUX_DIR    = linux-$(LINUX_VER)-$(EXTR
 
 include buildconfigs/Rules.mk
 
-.PHONY: build clean delete
-
 # The real action starts here!
+.PHONY: build
 build: $(LINUX_DIR)/include/linux/autoconf.h
 	if grep "^CONFIG_MODULES=" $(LINUX_DIR)/.config ; then \
 	    $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) modules ; \
@@ -39,14 +38,18 @@ $(LINUX_DIR)/include/linux/autoconf.h: r
 	  rm -f Makefile ; mv Mk.tmp Makefile )
 	$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) oldconfig
 
+.PHONY: prep
 prep: $(LINUX_DIR)/include/linux/autoconf.h
 
+.PHONY: config
 config: CONFIGMODE = menuconfig
 config: $(LINUX_DIR)/include/linux/autoconf.h
 	$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) $(CONFIGMODE)
 
+.PHONY: clean
 clean::
 	$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) clean
 
+.PHONY: delete
 delete: 
 	rm -rf tmp-linux-$(LINUX_VER) $(LINUX_DIR) 
--- from-0001/docs/Makefile
+++ to-work/docs/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -26,22 +26,28 @@ DOC_HTML	:= $(patsubst src/%.tex,html/%/
 
 GFX = $(patsubst %.fig, %.eps, $(wildcard figs/*.fig))
 
-.PHONY:	all build dev-docs python-dev-docs ps pdf html clean install
-
+.PHONY: all
 all: build
+
+.PHONY: build
 build: ps pdf html man-pages
 	rm -f *.aux *.dvi *.bbl *.blg *.glo *.idx *.ilg *.log *.ind *.toc
 
+.PHONY: dev-docs
 dev-docs: python-dev-docs
 
+.PHONY: ps
 ps: $(DOC_PS)
 
+.PHONY: pdf
 pdf: $(DOC_PDF)
 
+.PHONY: html
 html:
 	@if which $(LATEX2HTML) 1>/dev/null 2>/dev/null; then \
 	$(MAKE) $(DOC_HTML); fi
 
+.PHONY: python-dev-docs
 python-dev-docs:
 	@mkdir -v -p api/tools/python
 	@if which $(DOXYGEN) 1>/dev/null 2>/dev/null; then         \
@@ -50,6 +56,7 @@ python-dev-docs:
 	$(MAKE) -C api/tools/python/latex ; else                   \
         echo "Doxygen not installed; skipping python-dev-docs."; fi
 
+.PHONY: man-pages
 man-pages:
 	@if which $(POD2MAN) 1>/dev/null 2>/dev/null; then \
 	$(MAKE) $(DOC_MAN1) $(DOC_MAN5); fi
@@ -64,6 +71,7 @@ man5/%.5: man/%.pod.5 Makefile
 	$(POD2MAN) --release=$(VERSION) --name=`echo $@ | sed 's/^man5.//'| \
 		sed 's/.5//'` -s 5 -c "Xen" $< $@
 
+.PHONY: clean
 clean:
 	rm -rf .word_count *.aux *.dvi *.bbl *.blg *.glo *.idx *~ 
 	rm -rf *.ilg *.log *.ind *.toc *.bak core
@@ -72,6 +80,7 @@ clean:
 	rm -rf man5
 	rm -rf man1
 
+.PHONY: install
 install: all
 	rm -rf $(DESTDIR)$(pkgdocdir)
 	$(INSTALL_DIR) $(DESTDIR)$(pkgdocdir)
--- from-0001/extras/mini-os/Makefile
+++ to-work/extras/mini-os/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -37,8 +37,10 @@ OBJS += $(patsubst %.c,%.o,$(wildcard co
 HDRS := $(wildcard include/*.h)
 HDRS += $(wildcard include/xen/*.h)
 
+.PHONY: default
 default: $(TARGET)
 
+.PHONY: links
 links:
 	[ -e include/xen ] || ln -sf ../../../xen/include/public include/xen
 
@@ -46,6 +48,7 @@ $(TARGET): links $(OBJS)
 	$(LD) -N -T minios-$(TARGET_ARCH).lds $(OBJS) -o $@.elf
 	gzip -f -9 -c $@.elf >$@.gz
 
+.PHONY: clean
 clean:
 	find . -type f -name '*.o' | xargs rm -f
 	rm -f *.o *~ core $(TARGET).elf $(TARGET).raw $(TARGET) $(TARGET).gz
--- from-0001/tools/Makefile
+++ to-work/tools/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -24,14 +24,14 @@ SUBDIRS += python
 SUBDIRS += pygrub
 endif
 
-.PHONY: all install clean check check_clean ioemu eioemuinstall ioemuclean
-
+.PHONY: all
 all: check
 	@set -e; for subdir in $(SUBDIRS); do \
 		$(MAKE) -C $$subdir $@; \
 	done
 	$(MAKE) ioemu
 
+.PHONY: install
 install: check
 	@set -e; for subdir in $(SUBDIRS); do \
 		$(MAKE) -C $$subdir $@; \
@@ -39,18 +39,22 @@ install: check
 	$(MAKE) ioemuinstall
 	$(INSTALL_DIR) -p $(DESTDIR)/var/xen/dump
 
+.PHONY: clean
 clean: check_clean
 	@set -e; for subdir in $(SUBDIRS); do \
 		$(MAKE) -C $$subdir $@; \
 	done
 	$(MAKE) ioemuclean
 
+.PHONY: check
 check:
 	$(MAKE) -C check
 
+.PHONY: check_clean
 check_clean:
 	$(MAKE) -C check clean
 
+.PHONY: ioemu ioemuinstall ioemuclean
 ifndef XEN_NO_IOEMU
 ioemu ioemuinstall ioemuclean:
 	[ -f ioemu/config-host.h ] || \
--- from-0001/tools/Rules.mk
+++ to-work/tools/Rules.mk	2006-04-07 14:24:50.000000000 +0900
@@ -23,6 +23,7 @@ CFLAGS += -D__XEN_INTERFACE_VERSION__=0x
 %.o: %.cc
 	$(CC) $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $<
 
+.PHONY: mk-symlinks
 mk-symlinks: LINUX_ROOT=$(XEN_ROOT)/linux-2.6-xen-sparse
 mk-symlinks:
 	mkdir -p xen
--- from-0001/tools/blktap/Makefile
+++ to-work/tools/blktap/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -39,11 +39,13 @@ IBINS   :=
 
 LIB      = libblktap.so libblktap.so.$(MAJOR) libblktap.so.$(MAJOR).$(MINOR)
 
+.PHONY: all
 all: mk-symlinks libblktap.so #blkdump
 	@set -e; for subdir in $(SUBDIRS); do \
 		$(MAKE) -C $$subdir $@;       \
 	done
 
+.PHONY: install
 install: all
 	$(INSTALL_DIR) -p $(DESTDIR)/usr/$(LIBDIR)
 	$(INSTALL_DIR) -p $(DESTDIR)/usr/include
@@ -54,12 +56,14 @@ install: all
 		$(MAKE) -C $$subdir $@;       \
 	done
 
+.PHONY: clean
 clean:
 	rm -rf *.a *.so *.o *.rpm $(LIB) *~ $(DEPS) xen TAGS blkdump
 	@set -e; for subdir in $(SUBDIRS); do \
 		$(MAKE) -C $$subdir $@;       \
 	done
 
+.PHONY: rpm
 rpm: all
 	rm -rf staging
 	mkdir staging
@@ -82,6 +86,7 @@ blkdump: libblktap.so
 
 .PHONY: TAGS clean install mk-symlinks rpm
 
+.PHONY: TAGS
 TAGS:
 	etags -t $(SRCS) *.h
 
--- from-0001/tools/blktap/parallax/Makefile
+++ to-work/tools/blktap/parallax/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -43,11 +43,14 @@ DEPS     = .*.d
 OBJS     = $(patsubst %.c,%.o,$(SRCS))
 IBINS    = parallax $(VDI_TOOLS)
 
+.PHONY: all
 all: $(VDI_TOOLS) parallax blockstored
 
+.PHONY: install
 install: all
 	$(INSTALL_PROG) $(IBINS) $(DESTDIR)$(PARALLAX_INSTALL_DIR)
 
+.PHONY: clean
 clean:
 	rm -rf *.o *~ $(DEPS) xen TAGS $(VDI_TOOLS) parallax vdi_unittest
 
@@ -57,5 +60,4 @@ parallax: $(PLX_SRCS)
 ${VDI_TOOLS}: %: %.c $(VDI_SRCS)
 	$(CC) $(CFLAGS) -o $@ $@.c $(LDFLAGS) $(VDI_SRCS)
 
-.PHONY: TAGS clean install rpm
 -include $(DEPS)
--- from-0001/tools/blktap/ublkback/Makefile
+++ to-work/tools/blktap/ublkback/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -21,12 +21,16 @@ DEPS     = .*.d
 
 OBJS     = $(patsubst %.c,%.o,$(SRCS))
 
+.PHONY: all
 all: $(IBIN)
 
 LINUX_ROOT := $(wildcard $(XEN_ROOT)/linux-2.6.*-xen-sparse)
 
+.PHONY: install
 install:
 	$(INSTALL_PROG) $(IBIN) $(DESTDIR)$(INSTALL_DIR)
+
+.PHONY: clean
 clean:
 	rm -rf *.o*~ $(DEPS) xen TAGS $(IBIN)
 
@@ -34,6 +38,4 @@ ublkback: 
 	$(CC) $(CFLAGS) -o ublkback -L$(XEN_LIBXC) -L. -L..  \
 	      -lblktap -laio ublkback.c ublkbacklib.c -pg
 
-.PHONY: clean install
-
 -include $(DEPS)
--- from-0001/tools/check/Makefile
+++ to-work/tools/check/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -1,7 +1,9 @@
 
+.PHONY: all
 all: build
 
 # Check this machine is OK for building on.
+.PHONY: build
 build:
 	./chk build
 
@@ -9,8 +11,10 @@ build:
 # DO NOT use this check from 'make install' in the parent
 # directory, as that target can be used to make an installable
 # copy rather than actually installing.
+.PHONY: install
 install:
 	./chk install
 
+.PHONY: clean
 clean:
-	./chk clean
\ ファイル末尾に改行がありません
+	./chk clean
--- from-0001/tools/console/Makefile
+++ to-work/tools/console/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -16,8 +16,10 @@ CFLAGS  += -I $(XEN_XENSTORE)
 
 BIN      = xenconsoled xenconsole
 
+.PHONY: all
 all: $(BIN)
 
+.PHONY: clean
 clean:
 	$(RM) *.a *.so *.o *.rpm $(BIN)
 	$(RM) client/*.o daemon/*.o
@@ -30,6 +32,7 @@ xenconsole: $(patsubst %.c,%.o,$(wildcar
 	$(CC) $(CFLAGS) $^ -o $@ -L$(XEN_LIBXC) -L$(XEN_XENSTORE) \
 	      -lxenctrl -lxenstore
 
+.PHONY: install
 install: $(BIN)
 	$(INSTALL_DIR) -p $(DESTDIR)/$(DAEMON_INSTALL_DIR)
 	$(INSTALL_PROG) xenconsoled $(DESTDIR)/$(DAEMON_INSTALL_DIR)
--- from-0001/tools/console/testsuite/Makefile
+++ to-work/tools/console/testsuite/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -3,10 +3,12 @@ include $(XEN_ROOT)/tools/Rules.mk
 
 LDFLAGS=-static
 
+.PHONY: all
 all: console-dom0 console-domU procpipe
 
 console-dom0: console-dom0.o
 console-domU: console-domU.o
 procpipe: procpipe.o
 
+.PHONY: clean
 clean:; $(RM) *.o console-domU console-dom0 procpipe
--- from-0001/tools/debugger/libxendebug/Makefile
+++ to-work/tools/debugger/libxendebug/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -26,10 +26,14 @@ PIC_OBJS := $(patsubst %.c,%.opic,$(SRCS
 LIB      := libxendebug.a libxendebug.so
 LIB      += libxendebug.so.$(MAJOR) libxendebug.so.$(MAJOR).$(MINOR)
 
+.PHONY: all
 all: build
+
+.PHONY: build
 build:
 	$(MAKE) $(LIB)
 
+.PHONY: install
 install: build
 	[ -d $(DESTDIR)/usr/$(LIBDIR) ] || $(INSTALL_DIR) $(DESTDIR)/usr/$(LIBDIR)
 	[ -d $(DESTDIR)/usr/include ] || $(INSTALL_DIR) $(DESTDIR)/usr/include
@@ -39,14 +43,15 @@ install: build
 	ln -sf libxendebug.so.$(MAJOR) $(DESTDIR)/usr/$(LIBDIR)/libxendebug.so
 	$(INSTALL_DATA) xendebug.h $(DESTDIR)/usr/include
 
-.PHONY: TAGS clean rpm install all
-
+.PHONY: TAGS
 TAGS:
 	etags -t $(SRCS) *.h
 
+.PHONY: clean
 clean:
 	rm -rf *.a *.so* *.o *.opic *.rpm $(LIB) *~ $(DEPS) xen
 
+.PHONY: rpm
 rpm: build
 	rm -rf staging
 	mkdir staging
--- from-0001/tools/debugger/pdb/Makefile
+++ to-work/tools/debugger/pdb/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -33,6 +33,7 @@ LIBS       += unix str
 
 # bc = byte-code, dc = debug byte-code
 # patches = patch linux domU source code
+.PHONY: all 
 all : dc
 
 SOURCES    += pdb_caml_xc.c 
@@ -51,5 +52,6 @@ RESULT      = pdb
 include $(OCAMLMAKEFILE)
 
 PATCHDIR    = ./linux-2.6-patches
+.PHONY: patches 
 patches :
 	make -C $(PATCHDIR) patches
--- from-0001/tools/debugger/pdb/linux-2.6-module/Makefile
+++ to-work/tools/debugger/pdb/linux-2.6-module/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -10,10 +10,12 @@ CFLAGS += -g
 CFLAGS += -Wall
 CFLAGS += -Werror
 
+.PHONY: module 
 module : 
 #	make KBUILD_VERBOSE=1 ARCH=xen -C $(KDIR) M=$(PWD) modules
 	make                  ARCH=xen -C $(KDIR) M=$(PWD) modules
 
+.PHONY: clean 
 clean :
 	make -C $(KDIR) M=$(PWD) clean
 
--- from-0001/tools/debugger/pdb/linux-2.6-patches/Makefile
+++ to-work/tools/debugger/pdb/linux-2.6-patches/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -3,6 +3,7 @@ LINUX_DIR  = linux-2.6.12-xenU
 KDIR       = $(XEN_ROOT)/$(LINUX_DIR)
 PATCH_DIR  = $(CURDIR)
 
+.PHONY: patches 
 patches : patches-done
 
 patches-done :
--- from-0001/tools/examples/Makefile
+++ to-work/tools/examples/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -50,11 +50,16 @@ HOTPLUGS=install-hotplug
 endif
 endif
 
+.PHONY: all
 all:
+
+.PHONY: build
 build:
 
+.PHONY: install
 install: all install-initd install-configs install-scripts $(HOTPLUGS)
 
+.PHONY: install-initd
 install-initd:
 	[ -d $(DESTDIR)/etc/init.d ] || $(INSTALL_DIR) $(DESTDIR)/etc/init.d
 	[ -d $(DESTDIR)/etc/sysconfig ] || $(INSTALL_DIR) $(DESTDIR)/etc/sysconfig
@@ -62,6 +67,7 @@ install-initd:
 	$(INSTALL_PROG) $(XENDOMAINS_INITD) $(DESTDIR)/etc/init.d
 	$(INSTALL_PROG) $(XENDOMAINS_SYSCONFIG) $(DESTDIR)/etc/sysconfig/xendomains
 
+.PHONY: install-configs
 install-configs: $(XEN_CONFIGS)
 	[ -d $(DESTDIR)$(XEN_CONFIG_DIR) ] || \
 		$(INSTALL_DIR) $(DESTDIR)$(XEN_CONFIG_DIR)
@@ -72,6 +78,7 @@ install-configs: $(XEN_CONFIGS)
 	    $(INSTALL_DATA) $$i $(DESTDIR)$(XEN_CONFIG_DIR); \
 	done
 
+.PHONY: install-scripts
 install-scripts:
 	[ -d $(DESTDIR)$(XEN_SCRIPT_DIR) ] || \
 		$(INSTALL_DIR) $(DESTDIR)$(XEN_SCRIPT_DIR)
@@ -84,6 +91,7 @@ install-scripts:
 	    $(INSTALL_DATA) $$i $(DESTDIR)$(XEN_SCRIPT_DIR); \
 	done
 
+.PHONY: install-hotplug
 install-hotplug:
 	[ -d $(DESTDIR)$(XEN_HOTPLUG_DIR) ] || \
 		$(INSTALL_DIR) $(DESTDIR)$(XEN_HOTPLUG_DIR)
@@ -92,6 +100,7 @@ install-hotplug:
 	    $(INSTALL_PROG) $$i $(DESTDIR)$(XEN_HOTPLUG_DIR); \
 	done
 
+.PHONY: install-udev
 install-udev:
 	[ -d $(DESTDIR)$(UDEV_RULES_DIR) ] || \
 		$(INSTALL_DIR) $(DESTDIR)$(UDEV_RULES_DIR)/rules.d
@@ -102,4 +111,5 @@ install-udev:
 	        ln -sf ../$$i . ) \
 	done
 
+.PHONY: clean
 clean:
--- from-0001/tools/firmware/Makefile
+++ to-work/tools/firmware/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -13,8 +13,7 @@ SUBDIRS += acpi
 SUBDIRS += vmxassist
 SUBDIRS += hvmloader
 
-.PHONY: all install clean
-
+.PHONY: all
 all:
 	@set -e; if ! `which bcc 1>/dev/null 2>/dev/null`; then \
 	echo "***********************************************************"; \
@@ -28,10 +27,12 @@ all:
 	fi
 
 
+.PHONY: install
 install: all
 	[ -d $(INSTALL_DIR) ] || install -d -m0755 $(INSTALL_DIR)
 	[ ! -e $(TARGET) ] || install -m0644 $(TARGET) $(INSTALL_DIR)
 
+.PHONY: clean
 clean: 
 	@set -e; for subdir in $(SUBDIRS); do \
 		$(MAKE) -C $$subdir $@; \
--- from-0001/tools/firmware/acpi/Makefile
+++ to-work/tools/firmware/acpi/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -33,6 +33,7 @@ IASL_VER=acpica-unix-20050513
 IASL_URL=http://developer.intel.com/technology/iapc/acpi/downloads/$(IASL_VER).tar.gz
 
 vpath iasl $(PATH)
+.PHONY: all
 all:$(ACPI_BIN)
 
 acpi_dsdt.c:acpi_dsdt.asl
@@ -42,6 +43,7 @@ acpi_dsdt.c:acpi_dsdt.asl
 	echo "int DsdtLen=sizeof(AmlCode);" >> acpi_dsdt.c
 	rm *.aml
 
+.PHONY: iasl
 iasl:
 	@echo
 	@echo "ACPI ASL compiler(iasl) is needed"
@@ -60,8 +62,10 @@ $(ACPI_GEN):$(C_SRC) $(H_SRC) acpi_dsdt.
 $(ACPI_BIN):$(ACPI_GEN)
 	./$(ACPI_GEN) $(ACPI_BIN)
 
+.PHONY: clean
 clean:
 	rm -rf *.o $(ACPI_GEN) $(ACPI_BIN) $(IASL_VER) 
 	rm -rf  $(IASL_VER).tar.gz
 
+.PHONY: install
 install: all
--- from-0001/tools/firmware/hvmloader/Makefile
+++ to-work/tools/firmware/hvmloader/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -42,6 +42,7 @@ OBJCOPY  = objcopy
 CFLAGS  += $(DEFINES) -I. $(XENINC) -fno-builtin -O2 -msoft-float
 LDFLAGS  = -m32 -nostdlib -Wl,-N -Wl,-Ttext -Wl,$(LOADADDR)
 
+.PHONY: all
 all: hvmloader
 
 hvmloader: roms.h hvmloader.c acpi_madt.c
@@ -57,6 +58,7 @@ roms.h:	../rombios/BIOS-bochs-latest ../
 	./mkhex vmxassist ../vmxassist/vmxassist.bin >> roms.h
 	./mkhex acpi ../acpi/acpi.bin >> roms.h
 
+.PHONY: clean
 clean:
 	rm -f roms.h acpi.h
 	rm -f hvmloader hvmloader.tmp hvmloader.o $(OBJECTS)
--- from-0001/tools/firmware/rombios/Makefile
+++ to-work/tools/firmware/rombios/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -3,10 +3,13 @@ BIOS_BUILDS = BIOS-bochs-latest
 #BIOS_BUILDS += BIOS-bochs-4-processors
 #BIOS_BUILDS += BIOS-bochs-8-processors
 
+.PHONY: all
 all: bios
 
+.PHONY: bios
 bios: biossums ${BIOS_BUILDS}
 
+.PHONY: clean
 clean:
 	rm -f  *.o *.a *.s rombios.bin _rombios*_.c
 	rm -f  as86-sym.txt ld86-sym.txt 
--- from-0001/tools/firmware/vgabios/Makefile
+++ to-work/tools/firmware/vgabios/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -10,17 +10,22 @@ RELVERS = `pwd | sed "s-.*/--" | sed "s/
 
 VGABIOS_DATE = "-DVGABIOS_DATE=\"$(RELDATE)\""
 
+.PHONY: all
 all: bios cirrus-bios
 
+.PHONY: bios
 bios: biossums vgabios.bin vgabios.debug.bin 
 
+.PHONY: cirrus-bios
 cirrus-bios: vgabios-cirrus.bin vgabios-cirrus.debug.bin
 
+.PHONY: clean
 clean:
 	rm -f biossums *.o *.s *.ld86 \
           temp.awk.* vgabios*.orig _vgabios_* _vgabios-debug_* core vgabios*.bin vgabios*.txt $(RELEASE).bin *.bak
 	rm -f VGABIOS-lgpl-latest*.bin
 
+.PHONY: release
 release: 
 	VGABIOS_VERS=\"-DVGABIOS_VERS=\\\"$(RELVERS)\\\"\" make bios cirrus-bios
 	/bin/rm -f  *.o *.s *.ld86 \
--- from-0001/tools/firmware/vmxassist/Makefile
+++ to-work/tools/firmware/vmxassist/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -43,6 +43,7 @@ LDFLAGS  = -m elf_i386
 
 OBJECTS = head.o trap.o vm86.o setup.o util.o
 
+.PHONY: all
 all: vmxassist.bin
 
 vmxassist.bin: vmxassist.ld $(OBJECTS)
@@ -74,6 +75,7 @@ offsets.h: gen
 gen:	vm86.h gen.c
 	$(HOSTCC) $(HOSTCFLAGS) -I. $(XENINC) -o gen gen.c
 
+.PHONY: clean
 clean:
 	rm -f vmxassist vmxassist.tmp vmxassist.bin vmxassist.run vmxassist.sym head.s
 	rm -f $(OBJECTS)
--- from-0001/tools/guest-headers/Makefile
+++ to-work/tools/guest-headers/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -2,12 +2,16 @@
 XEN_ROOT=../..
 linuxsparsetree = $(XEN_ROOT)/linux-2.6-xen-sparse
 
+.PHONY: all
 all:
 
+.PHONY: check
 check:
 
+.PHONY: install
 install:
 	mkdir -p $(DESTDIR)/usr/include/xen/linux
 	install -m0644 $(linuxsparsetree)/include/xen/public/*.h $(DESTDIR)/usr/include/xen/linux
 
+.PHONY: clean
 clean:
--- from-0001/tools/ioemu/Makefile
+++ to-work/tools/ioemu/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -19,6 +19,7 @@ LDFLAGS+=-static
 endif
 #DOCS=qemu-doc.html qemu-tech.html qemu.1
 
+.PHONY: all
 all: $(DOCS) HEADERS
 	for d in $(TARGET_DIRS); do \
 	$(MAKE) -C $$d $@ || exit 1 ; \
@@ -30,6 +31,7 @@ qemu-img: qemu-img.c block.c block-cow.c
 dyngen$(EXESUF): dyngen.c
 	$(HOST_CC) $(CFLAGS) $(DEFINES) -o $@ $^
 
+.PHONY: clean
 clean:
 # avoid old build problems by removing potentially incorrect old files
 	rm -f config.mak config.h op-i386.h opc-i386.h gen-op-i386.h op-arm.h opc-arm.h gen-op-arm.h 
@@ -41,6 +43,7 @@ clean:
 	rm -f config-host.mak config-host.h
 	rm -f keysym_adapter_sdl.h keysym_adapter_vnc.h
 
+.PHONY: distclean
 distclean: clean
 	rm -f config-host.mak config-host.h
 	rm -f keysym_adapter_sdl.h keysym_adapter_vnc.h
@@ -52,6 +55,7 @@ KEYMAPS=da     en-gb  et  fr     fr-ch  
 ar      de     en-us  fi  fr-be  hr     it  lv  nl         pl  ru     th \
 common  de-ch  es     fo  fr-ca  hu     ja  mk  nl-be      pt  sl     tr
 
+.PHONY: install
 install: all 
 	mkdir -p "$(bindir)"
 	mkdir -p "$(DESTDIR)/$(datadir)"
@@ -62,9 +66,11 @@ install: all 
         done
 
 # various test targets
+.PHONY: test speed test2
 test speed test2: all
 	$(MAKE) -C tests $@
 
+.PHONY: TAGS
 TAGS: 
 	etags *.[ch] tests/*.[ch]
 
@@ -79,6 +85,7 @@ qemu.1: qemu-doc.texi
 FILE=qemu-$(shell cat VERSION)
 
 # tar release (use 'make -k tar' on a checkouted tree)
+.PHONY: tar
 tar:
 	rm -rf /tmp/$(FILE)
 	cp -r . /tmp/$(FILE)
@@ -86,6 +93,7 @@ tar:
 	rm -rf /tmp/$(FILE)
 
 # generate a binary distribution
+.PHONY: tarbin
 tarbin:
 	( cd $(DESTDIR) ; tar zcvf ~/qemu-$(VERSION)-i386.tar.gz \
 	$(DESTDIR)/$(bindir)/qemu $(DESTDIR)/$(bindir)/qemu-fast \
@@ -100,6 +108,7 @@ ifneq ($(wildcard .depend),)
 include .depend
 endif
 
+.PHONY: HEADERS
 HEADERS:
 
 ifdef CONFIG_SDL
--- from-0001/tools/ioemu/target-i386-dm/Makefile
+++ to-work/tools/ioemu/target-i386-dm/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -329,6 +329,7 @@ sdl.o: sdl.c keyboard_rdesktop.c
 sdlaudio.o: sdlaudio.c
 	$(CC) $(CFLAGS) $(DEFINES) $(SDL_CFLAGS) -c -o $@ $<
 
+.PHONY: depend
 depend: $(SRCS)
 	$(CC) -MM $(CFLAGS) $(DEFINES) $^ 1>.depend
 
@@ -382,12 +383,15 @@ mixeng.o: mixeng.c mixeng.h mixeng_templ
 %.o: %.S
 	$(CC) $(DEFINES) -c -o $@ $<
 
+.PHONY: clean
 clean:
 	rm -rf *.o  *.a *~ $(PROGS) gen-op.h opc.h op.h nwfpe slirp
 	rm -rf config.mak config.h
 
+.PHONY: distclean
 distclean: clean
 
+.PHONY: install
 install: all 
 	if [ ! -d $(INSTALL_DIR) ];then mkdir -p $(INSTALL_DIR);fi
 	if [ ! -d $(DESTDIR)$(configdir) ];then mkdir -p $(DESTDIR)$(configdir);fi
--- from-0001/tools/libxc/Makefile
+++ to-work/tools/libxc/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -67,10 +67,14 @@ LIB += libxenctrl.so libxenctrl.so.$(MAJ
 LIB += libxenguest.a
 LIB += libxenguest.so libxenguest.so.$(MAJOR) libxenguest.so.$(MAJOR).$(MINOR)
 
+.PHONY: all
 all: build
+
+.PHONY: build
 build: check-for-zlib mk-symlinks
 	$(MAKE) $(LIB)
 
+.PHONY: check-for-zlib
 check-for-zlib:
 	@if [ ! -e /usr/include/zlib.h ]; then \
 	echo "***********************************************************"; \
@@ -79,6 +83,7 @@ check-for-zlib:
 	false; \
 	fi
 
+.PHONY: install
 install: build
 	[ -d $(DESTDIR)/usr/$(LIBDIR) ] || $(INSTALL_DIR) $(DESTDIR)/usr/$(LIBDIR)
 	[ -d $(DESTDIR)/usr/include ] || $(INSTALL_DIR) $(DESTDIR)/usr/include
@@ -94,14 +99,15 @@ install: build
 	ln -sf libxenguest.so.$(MAJOR) $(DESTDIR)/usr/$(LIBDIR)/libxenguest.so
 	$(INSTALL_DATA) xenguest.h $(DESTDIR)/usr/include
 
-.PHONY: TAGS clean rpm install all
-
+.PHONY: TAGS
 TAGS:
 	etags -t *.c *.h
 
+.PHONY: clean
 clean:
 	rm -rf *.a *.so* *.o *.opic *.rpm $(LIB) *~ $(DEPS) xen
 
+.PHONY: rpm
 rpm: build
 	rm -rf staging
 	mkdir staging
--- from-0001/tools/misc/Makefile
+++ to-work/tools/misc/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -18,7 +18,10 @@ TARGETS  = xenperf xc_shadow
 INSTALL_BIN  = $(TARGETS) xencons
 INSTALL_SBIN = netfix xm xen-bugtool xend xenperf
 
+.PHONY: all
 all: build
+
+.PHONY: build
 build: $(TARGETS)
 	$(MAKE) -C miniterm
 	$(MAKE) -C cpuperf
@@ -27,6 +30,7 @@ ifneq ($(XEN_TARGET_ARCH),ia64)
 endif
 	$(MAKE) -C lomount
 
+.PHONY: install
 install: build
 	[ -d $(DESTDIR)/usr/bin ] || $(INSTALL_DIR) $(DESTDIR)/usr/bin
 	[ -d $(DESTDIR)/usr/sbin ] || $(INSTALL_DIR) $(DESTDIR)/usr/sbin
@@ -39,6 +43,7 @@ install: build
 #       Likewise mbootpack
 #	$(MAKE) -C mbootpack install
 
+.PHONY: clean
 clean:
 	$(RM) *.o $(TARGETS) *~
 	$(MAKE) -C miniterm clean
--- from-0001/tools/misc/cpuperf/Makefile
+++ to-work/tools/misc/cpuperf/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -26,8 +26,10 @@ TARGETS      = cpuperf-xen cpuperf-perfc
 INSTALL_BIN  = $(TARGETS)
 
 
+.PHONY: all
 all: $(TARGETS)
 
+.PHONY: clean
 clean:
 	$(RM) *.o $(TARGETS)
 
@@ -40,6 +42,7 @@ cpuperf-xen: cpuperf.c $(HDRS) Makefile
 cpuperf-perfcntr: cpuperf.c $(HDRS) Makefile
 	$(CC) $(CFLAGS) -DPERFCNTR -o $@ $<
 
+.PHONY: install
 install: all
 	$(INSTALL_PROG) $(INSTALL_BIN) $(DESTDIR)/usr/bin
 
--- from-0001/tools/misc/lomount/Makefile
+++ to-work/tools/misc/lomount/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -13,12 +13,17 @@ OBJS     = $(patsubst %.c,%.o,$(wildcard
 
 BIN      = lomount
 
+.PHONY: all
 all: build
+
+.PHONY: build
 build: $(BIN)
 
+.PHONY: install
 install: build
 	$(INSTALL_PROG) $(BIN) $(SCRIPTS) $(DESTDIR)/usr/bin
 
+.PHONY: clean
 clean:
 	$(RM) *.a *.so *.o *.rpm $(BIN)
 
--- from-0001/tools/misc/mbootpack/Makefile
+++ to-work/tools/misc/mbootpack/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -8,9 +8,13 @@ INSTALL_DIR	= $(INSTALL) -d -m0755
 XEN_ROOT=../../..
 include $(XEN_ROOT)/tools/Rules.mk
 
+.PHONY: all
 all: build
+
+.PHONY: build
 build: mbootpack
 
+.PHONY: install
 install: build
 	$(INSTALL_PROG) mbootpack $(DESTDIR)/usr/bin
 
@@ -33,6 +37,7 @@ DEPS     = .*.d
 mbootpack: $(OBJS)
 	$(HOSTCC) -o $@ $(filter-out %.a, $^)
 
+.PHONY: clean
 clean:
 	$(RM) mbootpack *.o $(DEPS) bootsect setup bzimage_header.c bin2c
 
@@ -60,7 +65,6 @@ buildimage.c: bzimage_header.c
 %.o: %.c
 	$(HOSTCC) $(DEPFLAGS) $(CFLAGS) $(INCS) $(DEFS) -c $< -o $@
 
-.PHONY: all clean gdb
 .PRECIOUS: $(OBJS) $(OBJS:.o=.c) $(DEPS)
 .SUFFIXES: 
 
--- from-0001/tools/misc/miniterm/Makefile
+++ to-work/tools/misc/miniterm/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -7,12 +7,15 @@ INSTALL_DIR	= $(INSTALL) -d -m0755
 
 TARGET = miniterm
 
+.PHONY: all
 all: $(TARGET)
 
+.PHONY: install
 install: all
 	[ -d $(DESTDIR)/usr/bin ] || $(INSTALL_DIR) $(DESTDIR)/usr/bin
 	$(INSTALL_PROG) $(TARGET) $(DESTDIR)/usr/bin
 
+.PHONY: clean
 clean:
 	$(RM) *.o $(TARGET) *~
 
--- from-0001/tools/misc/nsplitd/Makefile
+++ to-work/tools/misc/nsplitd/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -8,10 +8,13 @@ OBJS     = $(patsubst %.c,%.o,$(wildcard
 
 TARGET   = nsplitd
 
+.PHONY: all
 all: $(TARGET)
 
+.PHONY: install
 install: all
 
+.PHONY: clean
 clean:
 	$(RM) *.o $(TARGET) *~
 
--- from-0001/tools/pygrub/Makefile
+++ to-work/tools/pygrub/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -2,10 +2,13 @@
 XEN_ROOT = ../..
 include $(XEN_ROOT)/tools/Rules.mk
 
+.PHONY: all
 all: build
+.PHONY: build
 build:
 	CFLAGS="$(CFLAGS)" python setup.py build
 
+.PHONY: install
 ifndef XEN_PYTHON_NATIVE_INSTALL
 install: all
 	CFLAGS="$(CFLAGS)" python setup.py install --home="$(DESTDIR)/usr"
@@ -14,5 +17,6 @@ install: all
 	CFLAGS="$(CFLAGS)" python setup.py install --root="$(DESTDIR)"
 endif
 
+.PHONY: clean
 clean:
 	rm -rf build tmp *.pyc *.pyo *.o *.a *~
--- from-0001/tools/python/Makefile
+++ to-work/tools/python/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -1,12 +1,14 @@
 XEN_ROOT = ../..
 include $(XEN_ROOT)/tools/Rules.mk
 
-.PHONY: all build install clean
-
+.PHONY: all
 all: build
+
+.PHONY: build
 build:
 	CFLAGS="$(CFLAGS)" python setup.py build
 
+.PHONY: install
 ifndef XEN_PYTHON_NATIVE_INSTALL
 install: all
 	CFLAGS="$(CFLAGS)" python setup.py install --home="$(DESTDIR)/usr" --force
@@ -15,8 +17,10 @@ install: all
 	CFLAGS="$(CFLAGS)" python setup.py install --root="$(DESTDIR)" --force
 endif
 
+.PHONY: test
 test:
 	export LD_LIBRARY_PATH=$$(readlink -f ../libxc):$$(readlink -f ../xenstore); python test.py -b -u
 
+.PHONY: clean
 clean:
 	rm -rf build *.pyc *.pyo *.o *.a *~
--- from-0001/tools/security/Makefile
+++ to-work/tools/security/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -54,8 +54,10 @@ ACM_POLICY_SUFFIX = security_policy.xml
 ACM_LABEL_SUFFIX  = security_label_template.xml
 
 ifeq ($(ACM_SECURITY),y)
+.PHONY: all
 all: build
 
+.PHONY: install
 install: all $(ACM_CONFIG_FILE)
 	$(INSTALL_DIR) -p $(DESTDIR)/usr/sbin
 	$(INSTALL_PROG) -p $(ACM_INST_TOOLS) $(DESTDIR)/usr/sbin
@@ -79,11 +81,14 @@ else
 	python python/setup.py install --root="$(DESTDIR)"
 endif
 else
+.PHONY: all
 all:
 
+.PHONY: install
 install:
 endif
 
+.PHONY: build
 build: mk-symlinks $(ACM_INST_TOOLS) $(ACM_NOINST_TOOLS)
 	python python/setup.py build
 	chmod 700 $(ACM_SCRIPTS)
@@ -100,6 +105,7 @@ get_decision: $(OBJS_GETD)
 xensec_gen: xensec_gen.py
 	cp -f $^ $@
 
+.PHONY: clean
 clean:
 	$(RM) $(ACM_INST_TOOLS) $(ACM_NOINST_TOOLS)
 	$(RM) $(ACM_OBJS)
@@ -107,8 +113,10 @@ clean:
 	$(RM) -r xen
 	$(RM) -r build
 
+.PHONY: mrproper
 mrproper: clean
 
+.PHONY: boot_install
 boot_install: install
 	$(ACM_SCRIPT_DIR)/updategrub.sh $(POLICY) $(KERNEL_VERSION)
 
--- from-0001/tools/sv/Makefile
+++ to-work/tools/sv/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -1,2 +1,3 @@
 
+.PHONY: all
 all:
--- from-0001/tools/tests/Makefile
+++ to-work/tools/tests/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -6,14 +6,17 @@ TARGET := test_x86_emulator
 
 HOSTCFLAGS += -D__TEST_HARNESS__
 
+.PHONY: all
 all: $(TARGET)
 
 $(TARGET): x86_emulate.o test_x86_emulator.o
 	$(HOSTCC) -o $@ $^
 
+.PHONY: clean
 clean:
 	rm -rf $(TARGET) *.o *~ core
 
+.PHONY: install
 install:
 
 x86_emulate.o: $(XEN_ROOT)/xen/arch/x86/x86_emulate.c
--- from-0001/tools/vnet/Makefile
+++ to-work/tools/vnet/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -5,10 +5,6 @@ export VNET_ROOT = $(shell pwd)
 include $(VNET_ROOT)/Make.env
 endif
 
-.PHONY: all compile install dist clean pristine
-.PHONY: gc-all gc-install gc-clean
-.PHONY: help
-
 SUBDIRS:=
 SUBDIRS+= examples
 SUBDIRS+= scripts
@@ -17,11 +13,13 @@ SUBDIRS+= libxutil
 SUBDIRS+= vnetd
 SUBDIRS+= vnet-module
 
+.PHONY: all
 all: compile
 
 gc.tar.gz:
 	wget http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/$@
 
+.PHONY: gc
 gc: gc.tar.gz
 	tar xfz gc.tar.gz
 	ln -sf gc?.? gc
@@ -31,10 +29,13 @@ $(GC_LIB_A): gc
 	make -C gc
 	DESTDIR="" make -C gc install
 
+.PHONY: gc-all
 gc-all: $(GC_LIB_A)
 
+.PHONY: gc-install
 gc-install:
 
+.PHONY: gc-clean
 gc-clean:
 	-@$(RM) -r gc?.? gc
 
@@ -50,19 +51,25 @@ subtgt = $(patsubst %,%-$(1),$(SUBDIRS))
 %-install:
 	$(call submak,install)
 
+.PHONY: compile
 compile: $(call subtgt,all)
 
+.PHONY: install
 install: DESTDIR=
 install: dist
 
+.PHONY: dist
 dist: compile $(call subtgt,install)
 
+.PHONY: clean
 clean: $(call subtgt,clean)
 	-@$(RM) -r build
 
+.PHONY: pristine
 pristine: clean
 	-@$(RM) gc.tar.gz
 
+.PHONY: help
 help:
 	@echo 'Cleaning targets:'
 	@echo '  clean     - clean subdirs and remove the build dir'
--- from-0001/tools/vnet/doc/Makefile
+++ to-work/tools/vnet/doc/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -23,8 +23,10 @@ DOC_MAN5	:= $(patsubst man/%.pod.5,man5/
 
 .PHONY: all man clean install
 
+.PHONY: all
 all: man
 
+.PHONY: man
 man:
 	@if which $(POD2MAN) 1>/dev/null 2>/dev/null; then \
 	$(MAKE) $(DOC_MAN1) $(DOC_MAN5); fi
@@ -39,10 +41,12 @@ man5/%.5: man/%.pod.5 Makefile
 	$(POD2MAN) --release=$(VERSION) --name=`echo $@ | sed 's/^man5.//'| \
 		sed 's/.5//'` -s 5 -c $(HEADER) $< $@
 
+.PHONY: clean
 clean:
 	@$(RM) -rf man5
 	@$(RM) -rf man1
 
+.PHONY:  install
  install: all
 	$(INSTALL_DIR) $(DESTDIR)$(MAN_DIR)
 	$(CP) -dR man1 $(DESTDIR)$(MAN_DIR)
--- from-0001/tools/vnet/examples/Makefile
+++ to-work/tools/vnet/examples/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -7,13 +7,14 @@ INSTALL_DIR	= $(INSTALL) -d -m0755
 
 XEN_SCRIPT_DIR  = $(DESTDIR)/etc/xen/scripts
 
-.PHONY: all install clean
-
+.PHONY: all
 all:
 
+.PHONY: install
 install:
 	$(INSTALL_DIR) $(XEN_SCRIPT_DIR)
 	$(INSTALL_PROG) network-vnet $(XEN_SCRIPT_DIR)
 	$(INSTALL_PROG) vnet-insert $(XEN_SCRIPT_DIR)
 
-clean:
\ ファイル末尾に改行がありません
+.PHONY: clean
+clean:
--- from-0001/tools/vnet/libxutil/Makefile
+++ to-work/tools/vnet/libxutil/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -42,8 +42,10 @@ LIB      += libxutil.so.$(MAJOR)
 LIB      += libxutil.so.$(MAJOR).$(MINOR)
 LIB      += libxutil.a
 
+.PHONY: all
 all: build
 
+.PHONY: build
 build: #check-for-zlib
 	$(MAKE) $(LIB)
 
@@ -61,6 +63,7 @@ libxutil.so.$(MAJOR).$(MINOR): $(PIC_OBJ
 libxutil.a: $(LIB_OBJS)
 	$(AR) rc $@ $^
 
+.PHONY: check-for-zlib
 check-for-zlib:
 	@if [ ! -e /usr/include/zlib.h ]; then \
 	echo "***********************************************************"; \
@@ -69,6 +72,7 @@ check-for-zlib:
 	false; \
 	fi
 
+.PHONY: install
 install: build
 	[ -d $(DESTDIR)/usr/$(LIBDIR) ] || $(INSTALL_DIR) -p $(DESTDIR)/usr/$(LIBDIR)
 	$(INSTALL_PROG) libxutil.so.$(MAJOR).$(MINOR) $(DESTDIR)/usr/$(LIBDIR)
@@ -76,6 +80,7 @@ install: build
 	ln -sf libxutil.so.$(MAJOR).$(MINOR) $(DESTDIR)/usr/$(LIBDIR)/libxutil.so.$(MAJOR)
 	ln -sf libxutil.so.$(MAJOR) $(DESTDIR)/usr/$(LIBDIR)/libxutil.so
 
+.PHONY: clean
 clean:
 	-@$(RM) *.a *.so* *.o *.opic *.rpm 
 	-@$(RM) *~
--- from-0001/tools/vnet/scripts/Makefile
+++ to-work/tools/vnet/scripts/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -7,12 +7,13 @@ INSTALL_DIR	= $(INSTALL) -d -m0755
 
 SBIN_DIR        = $(DESTDIR)/usr/sbin
 
-.PHONY: all install clean
-
+.PHONY: all
 all:
 
+.PHONY: install
 install:
 	$(INSTALL_DIR) $(SBIN_DIR)
 	$(INSTALL_PROG) vn $(SBIN_DIR)
 
-clean:
\ ファイル末尾に改行がありません
+.PHONY: clean
+clean:
--- from-0001/tools/vnet/vnetd/Makefile
+++ to-work/tools/vnet/vnetd/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -19,6 +19,7 @@
 VNET_ROOT = $(shell cd .. && pwd)
 include $(VNET_ROOT)/Make.env
 
+.PHONY: all
 all: vnetd
 
 #----------------------------------------------------------------------------
@@ -104,10 +105,12 @@ VNETD_LIBS:= $(GC_LIB_A)
 vnetd: $(VNETD_OBJ)
 	$(CC) $(CFLAGS) -o $@ $^ $(VNETD_LIBS) -ldl -lpthread
 
+.PHONY: install
 install: vnetd
 	mkdir -p $(DESTDIR)$(VNETD_INSTALL_DIR)
 	install -m 0755 vnetd $(DESTDIR)$(VNETD_INSTALL_DIR)
 
+.PHONY: clean
 clean:
 	-@$(RM) *.a *.o *~
 	-@$(RM) vnetd
--- from-0001/tools/vtpm/Makefile
+++ to-work/tools/vtpm/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -13,14 +13,18 @@ TPM_EMULATOR_TARFILE = tpm_emulator-0.2b
 
 GMP_HEADER = /usr/include/gmp.h
 
+.PHONY: all
 all: build
 
+.PHONY: build
 build: $(TPM_EMULATOR_DIR) $(VTPM_DIR) build_sub
 
+.PHONY: install
 install: build
 	$(MAKE) -C $(TPM_EMULATOR_DIR) $@
 	$(MAKE) -C $(VTPM_DIR) $@
 
+.PHONY: clean
 clean:
 	@if [ -d $(TPM_EMULATOR_DIR) ]; \
 		then $(MAKE) -C $(TPM_EMULATOR_DIR) clean; \
@@ -29,6 +33,7 @@ clean:
 		then $(MAKE) -C $(VTPM_DIR) clean; \
 	fi
 
+.PHONY: mrproper
 mrproper:
 	rm -f $(TPM_EMULATOR_TARFILE)
 	rm -rf $(TPM_EMULATOR_DIR)
@@ -58,6 +63,7 @@ $(VTPM_DIR): $(TPM_EMULATOR_TARFILE) tpm
 	patch -p1 < ../tpm_emulator-0.2b-x86_64.patch; \
 	patch -p1 <../vtpm.patch
 
+.PHONY: build_sub
 build_sub:
 	@if [ -e $(GMP_HEADER) ]; then \
 		$(MAKE) -C $(VTPM_DIR); \
--- from-0001/tools/vtpm_manager/Makefile
+++ to-work/tools/vtpm_manager/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -6,8 +6,10 @@ include $(XEN_ROOT)/tools/vtpm_manager/R
 SUBDIRS		= crypto tcs util manager
 OPENSSL_HEADER	= /usr/include/openssl/crypto.h
 
+.PHONY: all
 all: build
 
+.PHONY: build
 build:
 	@if [ -e $(OPENSSL_HEADER) ]; then \
 		@set -e; for subdir in $(SUBDIRS); do \
@@ -17,17 +19,20 @@ build:
 		echo "*** Cannot build vtpm_manager: OpenSSL developement files missing."; \
 	fi
 
+.PHONY: install
 install: build
 	@set -e; for subdir in $(SUBDIRS); do \
 		$(MAKE) -C $$subdir $@; \
 	done
 
+.PHONY: clean
 clean:
 	@set -e; for subdir in $(SUBDIRS); do \
 		$(MAKE) -C $$subdir $@; \
 	done
 
 
+.PHONY: mrproper
 mrproper:
 	@set -e; for subdir in $(SUBDIRS); do \
 		$(MAKE) -C $$subdir $@; \
--- from-0001/tools/vtpm_manager/crypto/Makefile
+++ to-work/tools/vtpm_manager/crypto/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -3,15 +3,20 @@ include $(XEN_ROOT)/tools/vtpm_manager/R
 
 BIN		= libtcpaCrypto.a
 
+.PHONY: all
 all: build
 
+.PHONY: build
 build: $(BIN)
 
+.PHONY: install
 install: build
 
+.PHONY: clean
 clean:
 	rm -f *.a *.so *.o *.rpm $(DEP_FILES)
 
+.PHONY: mrproper
 mrproper: clean
 	rm -f *~
 
--- from-0001/tools/vtpm_manager/manager/Makefile
+++ to-work/tools/vtpm_manager/manager/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -3,19 +3,24 @@ include $(XEN_ROOT)/tools/vtpm_manager/R
 
 BIN		= vtpm_managerd
 
+.PHONY: all
 all: build
 
+.PHONY: build
 build: $(BIN)
 
+.PHONY: install
 install: build
 	if [ ! -d "$(DESTDIR)/var/vtpm/fifos" ]; \
 		then mkdir -p $(DESTDIR)/var/vtpm/fifos; \
 	fi
 	$(INSTALL_PROG) $(BIN) $(TOOLS_INSTALL_DIR)
 
+.PHONY: clean
 clean:
 	rm -f *.a *.so *.o *.rpm $(DEP_FILES)
 
+.PHONY: mrproper
 mrproper: clean
 	rm -f $(BIN) *~
 
--- from-0001/tools/vtpm_manager/tcs/Makefile
+++ to-work/tools/vtpm_manager/tcs/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -3,15 +3,20 @@ include $(XEN_ROOT)/tools/vtpm_manager/R
 
 BIN		= libTCS.a
 
+.PHONY: all
 all: build
 
+.PHONY: build
 build: $(BIN)
 
+.PHONY: install
 install: build
 
+.PHONY: clean
 clean:
 	rm -f *.a *.so *.o *.rpm $(DEP_FILES)
 
+.PHONY: mrproper
 mrproper: clean
 	rm -f *~
 
--- from-0001/tools/vtpm_manager/util/Makefile
+++ to-work/tools/vtpm_manager/util/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -3,15 +3,20 @@ include $(XEN_ROOT)/tools/vtpm_manager/R
 
 BIN		= libTCGUtils.a
 
+.PHONY: all
 all: build
 
+.PHONY: build
 build: $(BIN)
 
+.PHONY: install
 install: build
 
+.PHONY: clean
 clean:
 	rm -f *.a *.so *.o *.rpm $(DEP_FILES)
 
+.PHONY: mrproper
 mrproper: clean
 	rm -f *~
 
--- from-0001/tools/xcutils/Makefile
+++ to-work/tools/xcutils/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -32,6 +32,8 @@ LDLIBS			= -L$(XEN_LIBXC) -lxenguest -lx
 
 .PHONY: all
 all: build
+
+.PHONY: build
 build: $(PROGRAMS)
 
 $(PROGRAMS): %: %.o
@@ -44,6 +46,7 @@ install: build
 	$(INSTALL_PROG) $(PROGRAMS) $(DESTDIR)$(PROGRAMS_INSTALL_DIR)
 
 
+.PHONY: clean
 clean:
 	$(RM) *.o $(PROGRAMS)
 	$(RM) $(PROG_DEP)
--- from-0001/tools/xenmon/Makefile
+++ to-work/tools/xenmon/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -28,16 +28,20 @@ LDFLAGS += -L $(XEN_LIBXC)
 BIN = setmask xenbaked
 SCRIPTS = xenmon.py
 
+.PHONY: all
 all: build
 
+.PHONY: build
 build: $(BIN)
 
+.PHONY: install
 install: xenbaked setmask
 	[ -d $(DESTDIR)$(sbindir) ] || $(INSTALL_DIR) $(DESTDIR)$(sbindir)
 	$(INSTALL_PROG) xenbaked $(DESTDIR)$(sbindir)/xenbaked
 	$(INSTALL_PROG) setmask  $(DESTDIR)$(sbindir)/setmask
 	$(INSTALL_PROG) xenmon.py  $(DESTDIR)$(sbindir)/xenmon.py
 
+.PHONY: clean
 clean:
 	rm -f $(BIN)
 
--- from-0001/tools/xenstat/libxenstat/Makefile
+++ to-work/tools/xenstat/libxenstat/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -41,6 +41,7 @@ WARN_FLAGS=-Wall -Werror
 CFLAGS+=-Isrc -I$(XEN_LIBXC) -I$(XEN_XENSTORE)
 LDFLAGS+=-Lsrc
 
+.PHONY: all
 all: $(LIB)
 
 $(LIB): $(OBJECTS)
@@ -62,6 +63,7 @@ src/libxenstat.so.$(MAJOR): $(LIB)
 src/libxenstat.so: src/libxenstat.so.$(MAJOR)
 	$(MAKE_LINK) $(<F) $@
 
+.PHONY: install
 install: all
 #install: all
 #	$(INSTALL_DATA) src/xenstat.h $(DESTDIR)$(includedir)/xenstat.h
@@ -84,6 +86,7 @@ BINDINGS=$(PYLIB) $(PYMOD) $(PERLLIB) $(
 BINDINGSRC=$(PYSRC) $(PERLSRC)
 
 # The all-bindings target builds all the language bindings
+.PHONY: all-bindings
 all-bindings: perl-bindings python-bindings
 
 # The install-bindings target installs all the language bindings
@@ -110,6 +113,7 @@ install-python-bindings: $(PYLIB) $(PYMO
 	$(INSTALL_PROG) $(PYMOD) $(DESTDIR)$(pythonlibdir)/xenstat.py
 
 ifeq ($(XENSTAT_PYTHON_BINDINGS),y)
+.PHONY: all
 all: python-bindings
 install: install-python-bindings
 endif
@@ -122,8 +126,10 @@ $(PERLSRC) $(PERLMOD): bindings/swig/xen
 $(PERLLIB): $(PERLSRC)
 	$(CC) $(CFLAGS) $(LDFLAGS) $(PERL_FLAGS) -shared -lxenstat -o $@ $<
 
+.PHONY: perl-bindings
 perl-bindings: $(PERLLIB) $(PERLMOD)
 
+.PHONY: install-perl-bindings
 perllibdir=$(prefix)/lib/perl5
 perlmoddir=$(prefix)/share/perl5
 install-perl-bindings: $(PERLLIB) $(PERLMOD)
@@ -131,10 +137,14 @@ install-perl-bindings: $(PERLLIB) $(PERL
 	$(INSTALL_PROG) $(PERLMOD) $(DESTDIR)$(perlmoddir)/xenstat.pm
 
 ifeq ($(XENSTAT_PERL_BINDINGS),y)
+.PHONY: all
 all: perl-bindings
+
+.PHONY: install
 install: install-perl-bindings
 endif
 
+.PHONY: clean
 clean:
 	rm -f $(LIB) $(SHLIB) $(SHLIB_LINKS) $(OBJECTS) \
 	      $(BINDINGS) $(BINDINGSRC)
--- from-0001/tools/xenstat/xentop/Makefile
+++ to-work/tools/xenstat/xentop/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -14,6 +14,7 @@ XEN_ROOT=../../..
 include $(XEN_ROOT)/tools/Rules.mk
 
 ifneq ($(XENSTAT_XENTOP),y)
+.PHONY: all install xentop
 all install xentop:
 else
 
@@ -30,15 +31,19 @@ CFLAGS += -DGCC_PRINTF -Wall -Werror -I$
 LDFLAGS += -L$(XEN_LIBXENSTAT)
 LDLIBS += -lxenstat -lncurses
 
+.PHONY: all
 all: xentop
 
+.PHONY: xentop
 xentop: xentop.o
 
+.PHONY: install
 install: xentop xentop.1
 	$(INSTALL_PROG) xentop $(DESTDIR)$(sbindir)/xentop
 	$(INSTALL_DATA) xentop.1 $(DESTDIR)$(man1dir)/xentop.1
 
 endif
 
+.PHONY: clean
 clean:
 	rm -f xentop xentop.o
--- from-0001/tools/xenstore/Makefile
+++ to-work/tools/xenstore/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -27,11 +27,13 @@ CLIENTS := xenstore-exists xenstore-list
 CLIENTS += xenstore-write
 CLIENTS_OBJS := $(patsubst xenstore-%,xenstore_%.o,$(CLIENTS))
 
+.PHONY: all
 all: libxenstore.so xenstored $(CLIENTS) xs_tdb_dump xenstore-control xenstore-ls
 
 test_interleaved_transactions: test_interleaved_transactions.o
 	$(LINK.o) $^ $(LOADLIBES) $(LDLIBS) -L. -lxenstore -o $@
 
+.PHONY: testcode
 testcode: xs_test xenstored_test xs_random
 
 xenstored: xenstored_core.o xenstored_watch.o xenstored_domain.o xenstored_transaction.o xs_lib.o talloc.o utils.o tdb.o hashtable.o
@@ -55,14 +57,17 @@ xenstored_test: xenstored_core_test.o xe
 xs_tdb_dump: xs_tdb_dump.o utils.o tdb.o talloc.o
 	$(LINK.o) $^ $(LOADLIBES) $(LDLIBS) -o $@
 
+.PHONY: xs_test xs_random xs_stress xs_crashme
 xs_test xs_random xs_stress xs_crashme: LDFLAGS+=-lpthread
 xs_test: xs_test.o xs_lib.o utils.o
 xs_random: xs_random.o xs_test_lib.o xs_lib.o talloc.o utils.o
 xs_stress: xs_stress.o xs_test_lib.o xs_lib.o talloc.o utils.o
 xs_crashme: xs_crashme.o xs_lib.o talloc.o utils.o
 
+.PHONY: speedtest
 speedtest: speedtest.o xs.o xs_lib.o utils.o talloc.o
 
+.PHONY: check-speed
 check-speed: speedtest xenstored_test $(TESTDIR)
 	$(TESTENV) time ./speedtest 100
 
@@ -80,6 +85,7 @@ talloc_test.o: talloc.c
 libxenstore.so: xs.opic xs_lib.opic
 	$(CC) $(CFLAGS) $(LDFLAGS) -Wl,-soname -Wl,libxenstore.so -shared -o $@ $^ -lpthread
 
+.PHONY: clean
 clean: testsuite-clean
 	rm -f *.o *.opic *.so
 	rm -f xenstored xs_random xs_stress xs_crashme
@@ -87,55 +93,69 @@ clean: testsuite-clean
 	rm -f $(CLIENTS)
 	$(RM) $(PROG_DEP)
 
+.PHONY: print-dir
 print-dir:
 	@echo -n tools/xenstore: 
 
+.PHONY: print-end
 print-end:
 	@echo
 
+.PHONY: check
 check: print-dir testsuite-fast randomcheck-fast print-end
 
+.PHONY: fullcheck
 fullcheck: testsuite-run randomcheck stresstest
 
 $(TESTDIR):
 	mkdir $@
 
+.PHONY: testsuite-run
 testsuite-run: xenstored_test xs_test $(TESTDIR)
 	$(TESTENV) testsuite/test.sh && echo
 
+.PHONY: testsuite-fast
 testsuite-fast: xenstored_test xs_test $(TESTDIR)
 	@$(TESTENV) testsuite/test.sh --fast
 
+.PHONY: testsuite-clean
 testsuite-clean:
 	rm -rf $(TESTDIR)
 
 # Make this visible so they can see repeat tests without --fast if they
 # fail.
 RANDSEED=$(shell date +%s)
+.PHONY: randomcheck
 randomcheck: xs_random xenstored_test $(TESTDIR)
 	$(TESTENV) ./xs_random --simple --fast /tmp/xs_random 200000 $(RANDSEED) && echo
 	$(TESTENV) ./xs_random --fast /tmp/xs_random 100000 $(RANDSEED) && echo
 #	$(TESTENV) ./xs_random --fail /tmp/xs_random 10000 $(RANDSEED)
 
+.PHONY: crashme
 crashme:  xs_crashme xenstored_test $(TESTDIR)
 	rm -rf $(TESTDIR)/store $(TESTDIR)/transactions /tmp/xs_crashme.vglog* /tmp/trace
 	export $(TESTENV); ./xs_crashme 5000 $(RANDSEED) 2>/dev/null
 	if [ -n "`cat /tmp/xs_crashme.vglog*`" ]; then echo Valgrind complained; cat /tmp/xs_crashme.vglog*; exit 1; fi
 	rm -rf $(TESTDIR)/store $(TESTDIR)/transactions /tmp/xs_crashme.vglog* /tmp/trace
 
+.PHONY: randomcheck-fast
 randomcheck-fast: xs_random xenstored_test $(TESTDIR)
 	@$(TESTENV) ./xs_random --fast /tmp/xs_random 2000 $(RANDSEED)
 
+.PHONY: stresstest
 stresstest: xs_stress xenstored_test $(TESTDIR)
 	rm -rf $(TESTDIR)/store $(TESTDIR)/transactions
 	export $(TESTENV); PID=`./xenstored_test --output-pid --trace-file=/tmp/trace`; ./xs_stress 5000; ret=$$?; kill $$PID; exit $$ret
 
+.PHONY: TAGS
 TAGS:
 	etags `find . -name '*.[ch]'`
 
+.PHONY: tarball
 tarball: clean
 	cd .. && tar -c -j -v -h -f xenstore.tar.bz2 xenstore/
 
+.PHONY: install
 install: all
 	$(INSTALL_DIR) -p $(DESTDIR)/var/run/xenstored
 	$(INSTALL_DIR) -p $(DESTDIR)/var/lib/xenstored
--- from-0001/tools/xentrace/Makefile
+++ to-work/tools/xentrace/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -28,9 +28,13 @@ ifeq ($(XEN_TARGET_ARCH),x86_64)
 LIBBIN  += xenctx
 endif
 
+.PHONY: all
 all: build
+
+.PHONY: build
 build: $(BIN) $(LIBBIN)
 
+.PHONY: install
 install: build
 	[ -d $(DESTDIR)/usr/bin ] || $(INSTALL_DIR) $(DESTDIR)/usr/bin
 	[ -z "$(LIBBIN)" ] || [ -d $(DESTDIR)/usr/$(LIBDIR)/xen/bin ] || \
@@ -44,6 +48,7 @@ install: build
 	$(INSTALL_DATA) $(MAN1) $(DESTDIR)/usr/share/man/man1
 	$(INSTALL_DATA) $(MAN8) $(DESTDIR)/usr/share/man/man8
 
+.PHONY: clean
 clean:
 	$(RM) *.a *.so *.o *.rpm $(BIN) $(LIBBIN)
 
--- from-0001/xen/Makefile
+++ to-work/xen/Makefile	2006-04-07 14:33:48.000000000 +0900
@@ -7,17 +7,21 @@ export XEN_FULLVERSION  := $(XEN_VERSION
 
 export BASEDIR := $(CURDIR)
 
+.PHONY: default
 default: build
 
 ifeq ($(XEN_ROOT),)
 
+.PHONY: build install clean
 build install clean:
 	make -f Rules.mk $@
 
 else
 
+.PHONY: build
 build: $(TARGET).gz
 
+.PHONY: install
 install: $(TARGET).gz
 	[ -d $(DESTDIR)/boot ] || $(INSTALL_DIR) $(DESTDIR)/boot
 	$(INSTALL_DATA) $(TARGET).gz $(DESTDIR)/boot/$(notdir $(TARGET))-$(XEN_FULLVERSION).gz
@@ -31,6 +35,7 @@ install: $(TARGET).gz
 	$(INSTALL_DATA) include/public/io/*.h $(DESTDIR)/usr/include/xen/io
 	$(INSTALL_DATA) include/public/COPYING $(DESTDIR)/usr/include/xen
 
+.PHONY: clean
 clean:: delete-unfresh-files
 	$(MAKE) -C tools clean
 	$(MAKE) -f $(BASEDIR)/Rules.mk -C common clean
@@ -43,6 +48,7 @@ clean:: delete-unfresh-files
 
 endif
 
+.PHONY: install
 dist: install
 
 debug: FORCE
@@ -63,6 +69,7 @@ $(TARGET): delete-unfresh-files
 
 # drivers/char/console.o contains static banner/compile info. Blow it away.
 # Don't refresh these files during e.g., 'sudo make install'
+.PHONY: delete-unfresh-files
 delete-unfresh-files:
 	@if [ ! -r include/xen/compile.h -o -O include/xen/compile.h ]; then \
 		rm -f include/xen/{banner,compile}.h; \
@@ -119,8 +126,6 @@ include/asm-$(TARGET_ARCH)/asm-offsets.h
 	  echo ""; \
 	  echo "#endif") <$< >$@
 
-.PHONY: default debug build install dist clean delete-unfresh-files TAGS tags
-
 SUBDIRS = acm arch/$(TARGET_ARCH) common drivers 
 define all_sources
     ( find include/asm-$(TARGET_ARCH) -name SCCS -prune -o -name '*.h' -print; \
@@ -128,12 +133,20 @@ define all_sources
             -name config \) -prune -o -name '*.h' -print; \
       find $(SUBDIRS) -name SCCS -prune -o -name '*.[chS]' -print )
 endef
+
+.PHONY: TAGS
 TAGS: 
 	$(all_sources) | etags -
+
+.PHONY: tags
 tags: 
 	$(all_sources) | xargs ctags
+
+.PHONY: cscope
 cscope: 
 	$(all_sources) > cscope.files
 	cscope -k -b -q
+
+.PHONY: MAP
 MAP:
 	$(NM) $(TARGET) | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | sort > System.map
--- from-0001/xen/arch/ia64/tools/privop/Makefile
+++ to-work/xen/arch/ia64/tools/privop/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -1,10 +1,13 @@
 CC=gcc
 CFLAGS=-O -Wall
 
+.PHONY: all
 all: postat
 
+.PHONY: postat
 postat: postat.c pohcalls.o
 
+.PHONY: clean
 clean:
 	$(RM) -f *.o postat *.s *~
 
--- from-0001/xen/tools/Makefile
+++ to-work/xen/tools/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -1,13 +1,16 @@
 
 include $(BASEDIR)/../Config.mk
 
+.PHONY: default
 default:
 	$(MAKE) -C figlet
 	$(MAKE) symbols
 
+.PHONY: clean
 clean:
 	$(MAKE) -C figlet clean
 	rm -f *.o symbols
 
+.PHONY: symbols
 symbols: symbols.c
 	$(HOSTCC) $(HOSTCFLAGS) -o $@ $<
--- from-0001/xen/tools/figlet/Makefile
+++ to-work/xen/tools/figlet/Makefile	2006-04-07 14:24:50.000000000 +0900
@@ -4,5 +4,6 @@ include $(BASEDIR)/../Config.mk
 figlet: figlet.c
 	$(HOSTCC) -o $@ $<
 
+.PHONY: clean
 clean:
 	rm -f *.o figlet

-- 
Horms

^ permalink raw reply

* [PATCH 3/11] build: Make sure that DESTDIR is set
From: Horms @ 2006-04-10  2:29 UTC (permalink / raw)
  To: xen-devel; +Cc: Magnus Damm, Horms
In-Reply-To: <20060410022914.15477.13677.sendpatchset@tabatha.lab.ultramonkey.org>

# HG changeset patch
# User Horms <horms@verge.net.au>
# Node ID a3a369798dbd866fcb4ec9026364e65a054c458a
# Parent  85038f661b0283fd5d8e152b234e130862932763
build: Make sure that DESTDIR is set

In the case where XEN_PYTHON_NATIVE_INSTALL is in effect,
if DESTDIR is not set then the install will go into a relative
directory rather than under the default prefix (usually /usr).

An alternate solution would be to update the fragments
that do the python install to use $(DESTDIR)/ instead of
$(DESTDIR). This is not an incredible burden as there
are only two such fragments in the tree. However, it
seems prone to error as new makefiles are created
in the future.

Signed-Off-By: Horms <horms@verge.net.au>

diff -r 85038f661b02 -r a3a369798dbd Config.mk
--- a/Config.mk	Thu Mar 30 15:13:35 2006 +0900
+++ b/Config.mk	Thu Mar 30 15:13:41 2006 +0900
@@ -24,6 +24,7 @@ OBJDUMP    = $(CROSS_COMPILE)objdump
 OBJDUMP    = $(CROSS_COMPILE)objdump
 
 DISTDIR     ?= $(XEN_ROOT)/dist
+DESTDIR     ?= /
 
 INSTALL      = install
 INSTALL_DIR  = $(INSTALL) -d -m0755

-- 
Horms

^ permalink raw reply

* [PATCH 2/11] build: Remove iptables and python loging helper targets
From: Horms @ 2006-04-10  2:29 UTC (permalink / raw)
  To: xen-devel; +Cc: Magnus Damm, Horms
In-Reply-To: <20060410022914.15477.13677.sendpatchset@tabatha.lab.ultramonkey.org>

# HG changeset patch
# User Horms <horms@verge.net.au>
# Node ID 85038f661b0283fd5d8e152b234e130862932763
# Parent  6f44e906b2b6b70736a272be7b2d26c99532d886
build: Remove iptables and python loging helper targets

These targets don't really fit into the build infastructure,
for instance there is no faclilty for them to be removed
on make distclean. I posted a patch that fleshed out the targets,
but Christian Limpach suggested to me that removing them
would be a better idea.

Signed-Off-By: Horms <horms@verge.net.au>

diff -r 6f44e906b2b6 -r 85038f661b02 Makefile
--- a/Makefile	Thu Mar 30 15:13:32 2006 +0900
+++ b/Makefile	Thu Mar 30 15:13:35 2006 +0900
@@ -115,18 +115,6 @@ distclean: clean
 # Linux name for GNU distclean
 mrproper: distclean
 
-install-logging: LOGGING=logging-0.4.9.2
-install-logging:
-	[ -f $(LOGGING).tar.gz ] || wget http://www.red-dove.com/$(LOGGING).tar.gz
-	tar -zxf $(LOGGING).tar.gz
-	cd $(LOGGING) && python setup.py install
-
-# handy target to upgrade iptables (use rpm or apt-get in preference)
-install-iptables:
-	wget http://www.netfilter.org/files/iptables-1.2.11.tar.bz2
-	tar -jxf iptables-1.2.11.tar.bz2
-	$(MAKE) -C iptables-1.2.11 PREFIX= KERNEL_DIR=../linux-$(LINUX_VER)-xen0 install
-
 help:
 	@echo 'Installation targets:'
 	@echo '  install          - build and install everything'
@@ -153,10 +141,6 @@ help:
 	@echo '                     build trees'
 	@echo '  kdelete          - delete guest kernel build trees'
 	@echo '  kclean           - clean guest kernel build trees'
-	@echo ''
-	@echo 'Dependency installation targets:'
-	@echo '  install-logging  - install the Python Logging package'
-	@echo '  install-iptables - install iptables tools'
 	@echo ''
 	@echo 'Miscellaneous targets:'
 	@echo '  prep-kernels     - prepares kernel directories, does not build'

-- 
Horms

^ permalink raw reply

* [PATCH 1/11] build: Remove unused netbsd build fragments
From: Horms @ 2006-04-10  2:29 UTC (permalink / raw)
  To: xen-devel; +Cc: Magnus Damm, Horms
In-Reply-To: <20060410022914.15477.13677.sendpatchset@tabatha.lab.ultramonkey.org>

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 3067 bytes --]

# HG changeset patch
# User Horms <horms@verge.net.au>
# Node ID 6f44e906b2b6b70736a272be7b2d26c99532d886
# Parent  c7020299facc4940b245b3f5280d6bf6ef6a77b1
build: Remove unused netbsd build fragments

Signed-Off-By: Homrs <horms@verge.net.au>

バイナリー・ファイル/dev/nullとto-work/buildconfigs/.Rules.mk.swpは違います
--- from-0001/buildconfigs/Rules.mk
+++ to-work/buildconfigs/Rules.mk	2006-03-30 16:48:38.000000000 +0900
@@ -40,29 +40,6 @@ patch-%.bz2:
 	@echo "Cannot find $(@F) in path $(LINUX_SRC_PATH)"
 	wget $(KERNEL_REPO)/pub/linux/kernel/v$(_LINUX_VDIR)/$(_LINUX_XDIR)/$(@F) -O./$@
 
-# Expand NetBSD release to NetBSD version
-NETBSD_RELEASE  ?= 2.0
-NETBSD_VER      ?= $(patsubst netbsd-%-xen-sparse,%,$(wildcard netbsd-$(NETBSD_RELEASE)*-xen-sparse))
-NETBSD_CVSSNAP  ?= 20050309
-
-# Setup NetBSD search path
-NETBSD_SRC_PATH	?= .:..
-vpath netbsd-%.tar.bz2 $(NETBSD_SRC_PATH)
-
-# download a pristine NetBSD tarball if there isn't one in NETBSD_SRC_PATH
-netbsd-%-xen-kernel-$(NETBSD_CVSSNAP).tar.bz2:
-	@echo "Cannot find $@ in path $(NETBSD_SRC_PATH)"
-	wget http://www.cl.cam.ac.uk/Research/SRG/netos/xen/downloads/$@ -O./$@
-
-netbsd-%.tar.bz2: netbsd-%-xen-kernel-$(NETBSD_CVSSNAP).tar.bz2
-	ln -fs $< $@
-
-ifeq ($(OS),linux)
-OS_VER = $(LINUX_VER)
-else
-OS_VER = $(NETBSD_VER)
-endif
-
 pristine-%: pristine-%/.valid-pristine
 	@true
 
@@ -134,17 +111,10 @@ linux-2.6-xen.patch: ref-linux-$(LINUX_V
 	diff -Nurp $(<D) tmp-$@ > $@ || true
 	rm -rf tmp-$@
 
-%-mrproper: %-mrproper-extra
+%-mrproper:
 	rm -rf pristine-$(*)* ref-$(*)* $*.tar.bz2
 	rm -rf $*-xen.patch
 
-netbsd-%-mrproper-extra:
-	rm -rf netbsd-$*-tools netbsd-$*-tools.tar.bz2
-	rm -f netbsd-$*-xen-kernel-$(NETBSD_CVSSNAP).tar.bz2
-
-%-mrproper-extra:
-	@: # do nothing
-
 config-update-pae:
 ifeq ($(XEN_TARGET_X86_PAE),y)
 	sed -e 's!^CONFIG_HIGHMEM4G=y$$!\# CONFIG_HIGHMEM4G is not set!;s!^\# CONFIG_HIGHMEM64G is not set$$!CONFIG_HIGHMEM64G=y!' $(CONFIG_FILE) > $(CONFIG_FILE)- && mv $(CONFIG_FILE)- $(CONFIG_FILE)
--- from-0001/buildconfigs/mk.linux-2.6-xen
+++ to-work/buildconfigs/mk.linux-2.6-xen	2006-03-30 16:49:34.000000000 +0900
@@ -1,13 +1,10 @@
-
-OS           = linux
-
 LINUX_SERIES = 2.6
 LINUX_VER    = 2.6.16
 LINUX_SRCS = linux-2.6.16.tar.bz2
 
 EXTRAVERSION ?= xen
 
-LINUX_DIR    = $(OS)-$(LINUX_VER)-$(EXTRAVERSION)
+LINUX_DIR    = linux-$(LINUX_VER)-$(EXTRAVERSION)
 
 include buildconfigs/Rules.mk
 
@@ -22,7 +19,7 @@ build: $(LINUX_DIR)/include/linux/autoco
 	$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) INSTALL_PATH=$(DESTDIR) vmlinuz
 	$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) INSTALL_PATH=$(DESTDIR) install
 
-$(LINUX_DIR)/include/linux/autoconf.h: ref-$(OS)-$(LINUX_VER)/.valid-ref
+$(LINUX_DIR)/include/linux/autoconf.h: ref-linux-$(LINUX_VER)/.valid-ref
 	rm -rf $(LINUX_DIR)
 	cp -al $(<D) $(LINUX_DIR)
 	# Apply arch-xen patches
@@ -52,4 +49,4 @@ clean::
 	$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) clean
 
 delete: 
-	rm -rf tmp-$(OS)-$(LINUX_VER) $(LINUX_DIR) 
+	rm -rf tmp-linux-$(LINUX_VER) $(LINUX_DIR) 

-- 
Horms

^ permalink raw reply

* [PATCH 0/11] libxc: various build cleanups
From: Horms @ 2006-04-10  2:29 UTC (permalink / raw)
  To: xen-devel; +Cc: Magnus Damm, Horms

Hi,

the following mails are a series of clean-ups for the build system.
I posted them previously, and for referance that post is
at the previous link.

http://thread.gmane.org/gmane.comp.emulators.xen.devel/22227/focus=22281

At the time a number of people asked on the list and privately
for changes. I believe that these patches address all of the
concerns raised. Most significantly:

 * Split the patches up into functional areas
 * Repost after the next release
 * Removed a bogus diff to drivers/xen/Makefile and 

[PATCH 1/11] build: Remove unused netbsd build fragments
[PATCH 2/11] build: Remove iptables and python loging helper targets
[PATCH 3/11] build: Make sure that DESTDIR is set
[PATCH 4/11] build: Clean up use of .PHONY
[PATCH 5/11] build: clean up output of make help a little bit
[PATCH 6/11] build: Document the use of XEN_PYTHON_NATIVE_INSTALL
[PATCH 7/11] build: clean up kclean and distclean for kernel
[PATCH 8/11] build: Clean pygrub's a.out
[PATCH 9/11] build: Use --bzip2 with tar instead of -j
[PATCH 10/11] build: make linux download more flexable
[PATCH 11/11] build: Don't assume that mkbuildtree is executable

-- 
Horms

^ permalink raw reply

* Intel HD Audio Soundcard Problems
From: Seven Corvina @ 2006-04-10  2:27 UTC (permalink / raw)
  To: alsa-devel

I recently was given a Dell Inspiron 9400 by work, and the first thing I
did was drop linux on it. I've had hell-in-a-handbasket getting it
working, but I'm down to my last two problems... and sound is one.

It's the Dell Inspiron 9400/E1705 Laptop... I'm not getting any sound
output through ALSA, using no OSS applications.

lspci -vvv:
http://udevio.us/files/lspcivvv.txt

uname -a:
seven@sparkle:~$ uname -a
Linux sparkle 2.6.16.2 #3 PREEMPT Sun Apr 9 18:53:54 PDT 2006 i686
GNU/Linux

lsmod | grep intel:
seven@sparkle:~$ lsmod |grep intel
snd_hda_intel          17296  2
snd_hda_codec         121984  1 snd_hda_intel
snd_pcm                86152  3 snd_hda_intel,snd_hda_codec,snd_pcm_oss
snd                    52224  10
snd_hda_intel,snd_hda_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer
snd_page_alloc         10504  2 snd_hda_intel,snd_pcm
intel_agp              22812  1
agpgart                32476  3 drm,intel_agp

Umm, please tell me if there's anything else you need. I tested using an
Example ogg, as follows:

seven@sparkle:~$ ogg123 -d
alsa09 /home/seven/Examples/kalimoto-miracle-\ lemon.ogg

Audio Device:   Advanced Linux Sound Architecture (ALSA) output

Playing: /home/seven/Examples/kalimoto-miracle- lemon.ogg
Ogg Vorbis stream: 2 channel, 44100 Hz

Done.

It played all the way through, but no sound came out. X.x

Seven

PS. Sorry if I sent this twice; I'm on a really weak network and gmail
is having trouble getting response back to me.



-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642

^ permalink raw reply

* Re: 2.4.32: unresolved symbol unregister_qdisc
From: Randy.Dunlap @ 2006-04-10  2:29 UTC (permalink / raw)
  To: George P Nychis; +Cc: linux-kernel, netdev
In-Reply-To: <1949.128.2.140.234.1144634733.squirrel@128.2.140.234>

On Sun, 9 Apr 2006 22:05:33 -0400 (EDT) George P Nychis wrote:

> 
> > On Sun, 9 Apr 2006 13:37:25 -0400 (EDT) George P Nychis wrote:
> > 
> >> Thanks for the help.
> >> 
> >> Here is the makefile: http://rafb.net/paste/results/auchPH75.html
> >> 
> >> And here is the full errors I receive: 
> >> http://rafb.net/paste/results/Qplpqw74.html
> >> 
> >> Greatly appreciate it
> >> 
> >> - George
> > 
> > [repeat: please don't top-post]
> > 
> > I don't know how much I can help you.  It's been a long time since I've
> > built external modules on 2.4.x.
> > 
> > Problems that I see: - the Makefile does not use the expected 2.4 kernel
> > build infrastructure; - kernel Makefile uses -nostdinc to prevent use of
> > userspace headers; - Makefile is trying to include userspace headers
> > instead of kernel headers, e.g.: In file included from
> > /usr/include/linux/if_ether.h:107, from /usr/include/linux/netdevice.h:29,
> >  from sch_xcp.c:8: - this specified include directory is only in 2.6.x,
> > not 2.4.x: -I/lib/modules/`uname -r`/build/include/asm/mach-default
> > 
> > It's not clear to me how this makefile could work with 2.4.x at all. Is it
> > supposed to, or that's just what you want to see it do?
> > 
> > You could try to fix the Makefile based on makefile-changes articles at
> > lwn.net. E.g.: http://lwn.net/Articles/151784/ 
> > http://lwn.net/Articles/79984/ http://lwn.net/Articles/74767/ 
> > http://lwn.net/Articles/69148/ http://lwn.net/Articles/21823/
> > 
> > 
> > 
> >>> On Sat, 8 Apr 2006 19:18:47 -0400 (EDT) George P Nychis wrote:
> >>> 
> >>>> Yeah, this module is unfortunately not under the GPL, it was made
> >>>> for research and i am not the author, I was only given the code for
> >>>> my own research.
> >>>> 
> >>>> I enabled that support in the kernel, and then tried to recompile
> >>>> and get tons of errors/warnings... so maybe I am missing something
> >>>> else to be enabled in the kernel... here are a few examples of
> >>>> errors: /usr/include/linux/skbuff.h:30:26: net/checksum.h: No such
> >>>> file or directory /usr/include/asm/irq.h:16:25: irq_vectors.h: No
> >>>> such file or directory /usr/include/linux/irq.h:72: error: `NR_IRQS'
> >>>> undeclared here (not in a function) /usr/include/asm/hw_irq.h:28:
> >>>> error: `NR_IRQ_VECTORS' undeclared here (not in a function)
> >>>> 
> >>>> I think those are the top most errors, so if i can fix those
> >>>> hopefully the rest shall vanish!
> >>> 
> >>> Looks like a Makefile problem then.  Can you post the Makefile?
> >>> Hopefully it is using a Makefile and not just an elaborate gcc command
> >>> line.
> >>> 
> >>> [and please don't top-post]
> >>> 
> >>>> - George
> >>>> 
> >>>> 
> >>>>> From: "George P Nychis" <gnychis@cmu.edu> Date: Sat, 8 Apr 2006 
> >>>>> 18:47:34 -0400 (EDT)
> >>>>> 
> >>>>>> Hey,
> >>>>>> 
> >>>>>> I have a kernel module that uses unregister_qdisc and 
> >>>>>> register_qdisc, whenever i try to insert the module I get: 
> >>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: 
> >>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: unresolved
> >>>>>> symbol unregister_qdisc
> >>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: 
> >>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: unresolved
> >>>>>> symbol register_qdisc
> >>>>>> 
> >>>>>> Am i missing some sort of support in the kernel?
> >>>>> 
> >>>>> Make sure CONFIG_NET_SCHED is enabled and that you compiled your 
> >>>>> module against that kernel.
> >>>>> 
> >>>>> Where does this sch_xcp come from?  It's not in the vanilla
> >>>>> sources.
> >>>>> 
> >>>>> Also, please direct networking questions to the 
> >>>>> netdev@vger.kernel.org mailing list which I have added to the
> >>>>> CC:.
> > 
> > --- ~Randy
> > 
> > 
> 
> By the way, if I add -I/usr/src/linux/include to the compile line, it successfully compiles, however, i am back to the start:
> lanthanum-ini src-1.0.1 # insmod sch_xcp
> Using /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o
> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: unresolved symbol unregister_qdisc
> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: unresolved symbol register_qdisc

Yet your 2.4.32 kernel image file does have those symbols in it?
Can you verify that by using 'nm' on the kernel image file?

If so, then I suppose that you'll need to make a small module test case
that exhibits this behavior, or just tell us where to get the sch_xcp files...

(re-added cc: for netdev)

---
~Randy

^ permalink raw reply


This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.