linux-um archives
 help / color / mirror / Atom feed
From: Al Viro <viro@ftp.linux.org.uk>
To: Blaisorblade <blaisorblade@yahoo.it>
Cc: Jeff Dike <jdike@addtoit.com>,
	user-mode-linux-devel@lists.sourceforge.net,
	Alexander Viro <viro@zeniv.linux.org.uk>,
	sam@ravnborg.org
Subject: [uml-devel] Re: UML/2.6.14-rc3 doesn't work fixes
Date: Sun, 2 Oct 2005 21:54:51 +0100	[thread overview]
Message-ID: <20051002205451.GS7992@ftp.linux.org.uk> (raw)
In-Reply-To: <20051002183758.GR7992@ftp.linux.org.uk>

BTW, speaking of Kbuild cleanups (and that one is definitely 2.6.15 fodder):
patch below
	* kills messing with lib vs. core for uml-amd64 (we don't need that
anymore)
	* kills symlinks in arch/um/sys-*/
	* kills foo.c-dir - we simply give HOST_OBJS=<list of pathnames
under arch/$(SUBARCH)> and that's it (no SYMLINKS either)

Price: use of make feature I really, really hate - $(eval ...).  I'm using
it to generate and process

bar-y := ../../$(SUBARCH)/foo/bar.o
...

for all HOST_OBJS elements.  If there are better suggestions, I'd be glad
to hear them...

diff -urN RC14-rc2-git6-base/arch/um/Makefile-x86_64 current/arch/um/Makefile-x86_64
--- RC14-rc2-git6-base/arch/um/Makefile-x86_64	2005-09-12 14:33:28.000000000 -0400
+++ current/arch/um/Makefile-x86_64	2005-10-02 16:15:19.000000000 -0400
@@ -1,7 +1,7 @@
 # Copyright 2003 - 2004 Pathscale, Inc
 # Released under the GPL
 
-libs-y += arch/um/sys-x86_64/
+core-y += arch/um/sys-x86_64/
 START := 0x60000000
 
 #We #undef __x86_64__ for kernelspace, not for userspace where
diff -urN RC14-rc2-git6-base/arch/um/scripts/Makefile.rules current/arch/um/scripts/Makefile.rules
--- RC14-rc2-git6-base/arch/um/scripts/Makefile.rules	2005-09-05 08:35:08.000000000 -0400
+++ current/arch/um/scripts/Makefile.rules	2005-10-02 16:16:27.000000000 -0400
@@ -26,19 +26,9 @@
 	$(patsubst -pg,,$(patsubst -fprofile-arcs -ftest-coverage,,$(1)))
 endef
 
-quiet_cmd_make_link = SYMLINK $@
-cmd_make_link       = ln -sf $(srctree)/arch/$(SUBARCH)/$($(notdir $@)-dir)/$(notdir $@) $@
+# for each object in the HOST_OBJS (say it foo/bar.o) generate
+# bar-y := ../../$(SUBARCH)/foo/bar.o
+# and have it evaluated
+$(foreach obj,$(HOST_OBJS),$(eval \
+  $(basename $(notdir $(obj)))-y := $(addprefix ../../$(SUBARCH)/,$(obj))))
 
-# this needs to be before the foreach, because targets does not accept
-# complete paths like $(obj)/$(f). To make sure this works, use a := assignment
-# or we will get $(obj)/$(f) in the "targets" value.
-# Also, this forces you to use the := syntax when assigning to targets.
-# Otherwise the line below will cause an infinite loop (if you don't know why,
-# just do it).
-
-targets := $(targets) $(SYMLINKS)
-
-SYMLINKS := $(foreach f,$(SYMLINKS),$(obj)/$(f))
-
-$(SYMLINKS): FORCE
-	$(call if_changed,make_link)
diff -urN RC14-rc2-git6-base/arch/um/sys-i386/Makefile current/arch/um/sys-i386/Makefile
--- RC14-rc2-git6-base/arch/um/sys-i386/Makefile	2005-09-12 14:33:28.000000000 -0400
+++ current/arch/um/sys-i386/Makefile	2005-10-02 16:16:27.000000000 -0400
@@ -7,15 +7,10 @@
 
 USER_OBJS := bugs.o ptrace_user.o sigcontext.o fault.o
 
-SYMLINKS = bitops.c semaphore.c highmem.c module.c
+HOST_OBJS = lib/bitops.o kernel/semaphore.o mm/highmem.o kernel/module.o
 
 include arch/um/scripts/Makefile.rules
 
-bitops.c-dir = lib
-semaphore.c-dir = kernel
-highmem.c-dir = mm
-module.c-dir = kernel
-
 $(obj)/stub_segv.o : _c_flags = $(call unprofile,$(CFLAGS))
 
 include arch/um/scripts/Makefile.unmap
diff -urN RC14-rc2-git6-base/arch/um/sys-x86_64/Makefile current/arch/um/sys-x86_64/Makefile
--- RC14-rc2-git6-base/arch/um/sys-x86_64/Makefile	2005-09-12 14:33:28.000000000 -0400
+++ current/arch/um/sys-x86_64/Makefile	2005-10-02 16:18:12.000000000 -0400
@@ -4,29 +4,19 @@
 # Licensed under the GPL
 #
 
-#XXX: why into lib-y?
-lib-y = bitops.o bugs.o csum-partial.o delay.o fault.o mem.o memcpy.o \
+obj-y = bitops.o bugs.o csum-partial.o delay.o fault.o mem.o memcpy.o \
 	ptrace.o ptrace_user.o sigcontext.o signal.o stub.o \
-	stub_segv.o syscalls.o syscall_table.o sysrq.o thunk.o
+	stub_segv.o syscalls.o syscall_table.o sysrq.o thunk.o ksyms.o
 
-obj-y := ksyms.o
 obj-$(CONFIG_MODULES) += module.o um_module.o
 
 USER_OBJS := ptrace_user.o sigcontext.o
 
-SYMLINKS = bitops.c csum-copy.S csum-partial.c csum-wrappers.c memcpy.S \
-	thunk.S module.c
+HOST_OBJS = lib/bitops.o lib/csum-copy.o lib/csum-partial.o \
+	lib/csum-wrappers.o lib/memcpy.o lib/thunk.o kernel/module.o
 
 include arch/um/scripts/Makefile.rules
 
-bitops.c-dir = lib
-csum-copy.S-dir = lib
-csum-partial.c-dir = lib
-csum-wrappers.c-dir = lib
-memcpy.S-dir = lib
-thunk.S-dir = lib
-module.c-dir = kernel
-
 $(obj)/stub_segv.o: _c_flags = $(call unprofile,$(CFLAGS))
 
 include arch/um/scripts/Makefile.unmap


-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

  reply	other threads:[~2005-10-02 20:54 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-10-02 10:13 [uml-devel] UML/2.6.14-rc3 doesn't work fixes Blaisorblade
2005-10-02 11:38 ` [uml-devel] " Al Viro
2005-10-02 11:50   ` Blaisorblade
2005-10-02 17:32     ` Al Viro
2005-10-02 17:45       ` Blaisorblade
2005-10-02 15:51 ` Jeff Dike
2005-10-02 16:55   ` Al Viro
2005-10-02 18:01   ` Blaisorblade
2005-10-02 18:37     ` Al Viro
2005-10-02 20:54       ` Al Viro [this message]
2005-10-03 18:30         ` Blaisorblade
2005-10-03 23:38           ` Al Viro
2005-10-04 10:26             ` Blaisorblade
2005-10-04 11:09               ` Al Viro
2005-10-04 11:19                 ` Blaisorblade
2005-10-04 11:55                   ` Al Viro
2005-10-04 12:09                     ` Blaisorblade
2005-10-04 17:09           ` Al Viro
2005-10-04 17:14             ` Al Viro
2005-10-04 17:18               ` Al Viro
2005-10-04 17:24                 ` Al Viro
2005-10-04 17:28                   ` Al Viro
2005-10-09 19:16                   ` Blaisorblade
2005-10-03 18:56       ` Blaisorblade

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20051002205451.GS7992@ftp.linux.org.uk \
    --to=viro@ftp.linux.org.uk \
    --cc=blaisorblade@yahoo.it \
    --cc=jdike@addtoit.com \
    --cc=sam@ravnborg.org \
    --cc=user-mode-linux-devel@lists.sourceforge.net \
    --cc=viro@zeniv.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox