All of lore.kernel.org
 help / color / mirror / Atom feed
* [uml-devel] [PATCH] Fix UML build on i386 Ubuntu Dapper
@ 2006-06-26 22:02 Nishanth Aravamudan
  2006-06-27 14:56 ` Blaisorblade
  0 siblings, 1 reply; 14+ messages in thread
From: Nishanth Aravamudan @ 2006-06-26 22:02 UTC (permalink / raw)
  To: jdike; +Cc: user-mode-linux-devel

Hi Jeff,

I run an x86_64 kernel with i386 userspace (Ubuntu Dapper) and decided
to try out UML today. I found that UML wasn't quite aware of biarch
compilers (which Ubuntu i386 ships). A fix similar to what was done for
x86_64 should probably be committed (see
http://marc.theaimsgroup.com/?l=linux-kernel&m=113425940204010&w=2).
Without the FLAGS changes, the build will fail at a number of places and
without the LINK change, the final link will fail.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>

diff -urpN 2.6.17/arch/um/kernel/vmlinux.lds.S 2.6.17-dev/arch/um/kernel/vmlinux.lds.S
--- 2.6.17/arch/um/kernel/vmlinux.lds.S	2006-06-17 18:49:35.000000000 -0700
+++ 2.6.17-dev/arch/um/kernel/vmlinux.lds.S	2006-06-26 14:55:45.000000000 -0700
@@ -1,4 +1,5 @@
 #include <linux/config.h>
+#undef i386
 #ifdef CONFIG_LD_SCRIPT_STATIC
 #include "uml.lds.S"
 #else
diff -urpN 2.6.17/arch/um/Makefile-x86_64 2.6.17-dev/arch/um/Makefile-x86_64
--- 2.6.17/arch/um/Makefile-x86_64	2006-06-17 18:49:35.000000000 -0700
+++ 2.6.17-dev/arch/um/Makefile-x86_64	2006-06-26 14:49:01.000000000 -0700
@@ -6,9 +6,11 @@ START := 0x60000000
 
 #We #undef __x86_64__ for kernelspace, not for userspace where
 #it's needed for headers to work!
-CFLAGS += -U__$(SUBARCH)__ -fno-builtin
-USER_CFLAGS += -fno-builtin
+CFLAGS += -U__$(SUBARCH)__ -fno-builtin -m64
+USER_CFLAGS += -fno-builtin -m64
 CHECKFLAGS  += -m64
+AFLAGS += -m64
+LDFLAGS += -m elf_x86_64
 
 ELF_ARCH := i386:x86-64
 ELF_FORMAT := elf64-x86-64
@@ -16,3 +18,4 @@ ELF_FORMAT := elf64-x86-64
 # Not on all 64-bit distros /lib is a symlink to /lib64. PLD is an example.
 
 LINK-$(CONFIG_LD_SCRIPT_DYN) += -Wl,-rpath,/lib64
+LINK-y += -m64

-- 
Nishanth Aravamudan <nacc@us.ibm.com>
IBM Linux Technology Center

Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [uml-devel] [PATCH] Fix UML build on i386 Ubuntu Dapper
  2006-06-26 22:02 [uml-devel] [PATCH] Fix UML build on i386 Ubuntu Dapper Nishanth Aravamudan
@ 2006-06-27 14:56 ` Blaisorblade
  2006-06-27 18:31   ` Nishanth Aravamudan
  0 siblings, 1 reply; 14+ messages in thread
From: Blaisorblade @ 2006-06-27 14:56 UTC (permalink / raw)
  To: user-mode-linux-devel; +Cc: Nishanth Aravamudan, jdike

On Tuesday 27 June 2006 00:02, Nishanth Aravamudan wrote:
> Hi Jeff,
>
> I run an x86_64 kernel with i386 userspace (Ubuntu Dapper) and decided
> to try out UML today. I found that UML wasn't quite aware of biarch
> compilers (which Ubuntu i386 ships). A fix similar to what was done for
> x86_64 should probably be committed (see
> http://marc.theaimsgroup.com/?l=linux-kernel&m=113425940204010&w=2).

Ok, it seemed strange but I understand the stuff... that's very interesting as 
this is the setup I'd wished to have since ages. I'll switch to it ASAP...

> Without the FLAGS changes, the build will fail at a number of places and
> without the LINK change, the final link will fail.
>
> Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>

The first hunk (#undef i386) should be unnecessary given you specify -m64 (add 
it to CPPFLAGS too). Also it can/could be problematic for i386 kernels.
However, if UML builds and runs on already supported configurations, the patch 
is almost ok - but the original comment must be added for the #undef:
/* in case the preprocessor is a 32bit one */

> diff -urpN 2.6.17/arch/um/kernel/vmlinux.lds.S
> 2.6.17-dev/arch/um/kernel/vmlinux.lds.S ---
> 2.6.17/arch/um/kernel/vmlinux.lds.S	2006-06-17 18:49:35.000000000 -0700 +++
> 2.6.17-dev/arch/um/kernel/vmlinux.lds.S	2006-06-26 14:55:45.000000000 -0700
> @@ -1,4 +1,5 @@
>  #include <linux/config.h>
> +#undef i386
>  #ifdef CONFIG_LD_SCRIPT_STATIC
>  #include "uml.lds.S"
>  #else
> diff -urpN 2.6.17/arch/um/Makefile-x86_64
> 2.6.17-dev/arch/um/Makefile-x86_64 ---
> 2.6.17/arch/um/Makefile-x86_64	2006-06-17 18:49:35.000000000 -0700 +++
> 2.6.17-dev/arch/um/Makefile-x86_64	2006-06-26 14:49:01.000000000 -0700 @@
> -6,9 +6,11 @@ START := 0x60000000
>
>  #We #undef __x86_64__ for kernelspace, not for userspace where
>  #it's needed for headers to work!
> -CFLAGS += -U__$(SUBARCH)__ -fno-builtin
> -USER_CFLAGS += -fno-builtin
> +CFLAGS += -U__$(SUBARCH)__ -fno-builtin -m64
> +USER_CFLAGS += -fno-builtin -m64
>  CHECKFLAGS  += -m64
> +AFLAGS += -m64
> +LDFLAGS += -m elf_x86_64
>
>  ELF_ARCH := i386:x86-64
>  ELF_FORMAT := elf64-x86-64
> @@ -16,3 +18,4 @@ ELF_FORMAT := elf64-x86-64
>  # Not on all 64-bit distros /lib is a symlink to /lib64. PLD is an
> example.
>
>  LINK-$(CONFIG_LD_SCRIPT_DYN) += -Wl,-rpath,/lib64
> +LINK-y += -m64

-- 
Inform me of my mistakes, so I can keep imitating Homer Simpson's "Doh!".
Paolo Giarrusso, aka Blaisorblade (Skype ID "PaoloGiarrusso", ICQ 215621894)
http://www.user-mode-linux.org/~blaisorblade
Chiacchiera con i tuoi amici in tempo reale! 
 http://it.yahoo.com/mail_it/foot/*http://it.messenger.yahoo.com 


Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [uml-devel] [PATCH] Fix UML build on i386 Ubuntu Dapper
  2006-06-27 14:56 ` Blaisorblade
@ 2006-06-27 18:31   ` Nishanth Aravamudan
  2006-06-28  0:47     ` Nishanth Aravamudan
  2006-06-28  2:11     ` Jeff Dike
  0 siblings, 2 replies; 14+ messages in thread
From: Nishanth Aravamudan @ 2006-06-27 18:31 UTC (permalink / raw)
  To: Blaisorblade; +Cc: jdike, user-mode-linux-devel

On 27.06.2006 [16:56:13 +0200], Blaisorblade wrote:
> On Tuesday 27 June 2006 00:02, Nishanth Aravamudan wrote:
> > Hi Jeff,
> >
> > I run an x86_64 kernel with i386 userspace (Ubuntu Dapper) and decided
> > to try out UML today. I found that UML wasn't quite aware of biarch
> > compilers (which Ubuntu i386 ships). A fix similar to what was done for
> > x86_64 should probably be committed (see
> > http://marc.theaimsgroup.com/?l=linux-kernel&m=113425940204010&w=2).
> 
> Ok, it seemed strange but I understand the stuff... that's very
> interesting as this is the setup I'd wished to have since ages. I'll
> switch to it ASAP...

Indeed :)

> > Without the FLAGS changes, the build will fail at a number of places and
> > without the LINK change, the final link will fail.
> >
> > Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
> 
> The first hunk (#undef i386) should be unnecessary given you specify
> -m64 (add it to CPPFLAGS too). Also it can/could be problematic for
> i386 kernels.  However, if UML builds and runs on already supported
> configurations, the patch is almost ok - but the original comment must
> be added for the #undef: /* in case the preprocessor is a 32bit one */

Ah yes, sorry, I'll add the comment. I found if I did not add the
#undef, I got a broken build (the "1:x86_64" issue in the above thread,
when it should be "i386:x86_64"):

  LD      .tmp_vmlinux1
/usr/bin/ld:arch/um/kernel/vmlinux.lds:251: syntax error
collect2: ld returned 1 exit status
  KSYM    .tmp_kallsyms1.S
nm: '.tmp_vmlinux1': No such file
No valid symbol.

After discovering SUBARCH, I rebuilt my tree as an i386 UML and it
successfully completed with this patch. If someone could test a native
i386 build as well, just to be sure?

Updated patch follows.

I run an x86_64 kernel with i386 userspace (Ubuntu Dapper) and decided
to try out UML today. I found that UML wasn't quite aware of biarch
compilers (which Ubuntu i386 ships). A fix similar to what was done for
x86_64 should probably be committed (see
http://marc.theaimsgroup.com/?l=linux-kernel&m=113425940204010&w=2).
Without the FLAGS changes, the build will fail at a number of places and
without the LINK change, the final link will fail. Compile- and
boot-tested with SUBARCH=x86_64 (native) and compile-tested and
boot-tested with SUBARCH=i386.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>

diff -urpN 2.6.17/arch/um/kernel/vmlinux.lds.S 2.6.17-dev/arch/um/kernel/vmlinux.lds.S
--- 2.6.17/arch/um/kernel/vmlinux.lds.S	2006-06-17 18:49:35.000000000 -0700
+++ 2.6.17-dev/arch/um/kernel/vmlinux.lds.S	2006-06-27 08:03:43.000000000 -0700
@@ -1,4 +1,6 @@
 #include <linux/config.h>
+/* in case the preprocessor is a 32bit one */
+#undef i386
 #ifdef CONFIG_LD_SCRIPT_STATIC
 #include "uml.lds.S"
 #else
diff -urpN 2.6.17/arch/um/Makefile-x86_64 2.6.17-dev/arch/um/Makefile-x86_64
--- 2.6.17/arch/um/Makefile-x86_64	2006-06-17 18:49:35.000000000 -0700
+++ 2.6.17-dev/arch/um/Makefile-x86_64	2006-06-26 14:49:01.000000000 -0700
@@ -6,9 +6,11 @@ START := 0x60000000
 
 #We #undef __x86_64__ for kernelspace, not for userspace where
 #it's needed for headers to work!
-CFLAGS += -U__$(SUBARCH)__ -fno-builtin
-USER_CFLAGS += -fno-builtin
+CFLAGS += -U__$(SUBARCH)__ -fno-builtin -m64
+USER_CFLAGS += -fno-builtin -m64
 CHECKFLAGS  += -m64
+AFLAGS += -m64
+LDFLAGS += -m elf_x86_64
 
 ELF_ARCH := i386:x86-64
 ELF_FORMAT := elf64-x86-64
@@ -16,3 +18,4 @@ ELF_FORMAT := elf64-x86-64
 # Not on all 64-bit distros /lib is a symlink to /lib64. PLD is an example.
 
 LINK-$(CONFIG_LD_SCRIPT_DYN) += -Wl,-rpath,/lib64
+LINK-y += -m64

-- 
Nishanth Aravamudan <nacc@us.ibm.com>
IBM Linux Technology Center

Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [uml-devel] [PATCH] Fix UML build on i386 Ubuntu Dapper
  2006-06-27 18:31   ` Nishanth Aravamudan
@ 2006-06-28  0:47     ` Nishanth Aravamudan
  2006-06-28 10:13       ` Blaisorblade
  2006-06-28  2:11     ` Jeff Dike
  1 sibling, 1 reply; 14+ messages in thread
From: Nishanth Aravamudan @ 2006-06-28  0:47 UTC (permalink / raw)
  To: Blaisorblade; +Cc: jdike, user-mode-linux-devel

On 27.06.2006 [11:31:28 -0700], Nishanth Aravamudan wrote:
> On 27.06.2006 [16:56:13 +0200], Blaisorblade wrote:
> > On Tuesday 27 June 2006 00:02, Nishanth Aravamudan wrote:
> > > Hi Jeff,
> > >
> > > I run an x86_64 kernel with i386 userspace (Ubuntu Dapper) and decided
> > > to try out UML today. I found that UML wasn't quite aware of biarch
> > > compilers (which Ubuntu i386 ships). A fix similar to what was done for
> > > x86_64 should probably be committed (see
> > > http://marc.theaimsgroup.com/?l=linux-kernel&m=113425940204010&w=2).
> > 
> > Ok, it seemed strange but I understand the stuff... that's very
> > interesting as this is the setup I'd wished to have since ages. I'll
> > switch to it ASAP...
> 
> Indeed :)
> 
> > > Without the FLAGS changes, the build will fail at a number of places and
> > > without the LINK change, the final link will fail.
> > >
> > > Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
> > 
> > The first hunk (#undef i386) should be unnecessary given you specify
> > -m64 (add it to CPPFLAGS too). Also it can/could be problematic for

Hrm, I somehow overlooked the CPPFLAGS bit. Is it necessary? That wasn't
changed for x86_64 and having not changed it for UML, it doesn't appear
to have prevented the build from working on both x86_64 and i386
SUBARCHs here.

Thanks,
Nish

-- 
Nishanth Aravamudan <nacc@us.ibm.com>
IBM Linux Technology Center

Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [uml-devel] [PATCH] Fix UML build on i386 Ubuntu Dapper
  2006-06-27 18:31   ` Nishanth Aravamudan
  2006-06-28  0:47     ` Nishanth Aravamudan
@ 2006-06-28  2:11     ` Jeff Dike
  2006-06-28  2:54       ` Nishanth Aravamudan
  1 sibling, 1 reply; 14+ messages in thread
From: Jeff Dike @ 2006-06-28  2:11 UTC (permalink / raw)
  To: Nishanth Aravamudan; +Cc: Blaisorblade, user-mode-linux-devel

On Tue, Jun 27, 2006 at 11:31:28AM -0700, Nishanth Aravamudan wrote:
> After discovering SUBARCH, I rebuilt my tree as an i386 UML and it
> successfully completed with this patch. If someone could test a native
> i386 build as well, just to be sure?
> 
> Updated patch follows.

How updated?  I don't see any difference except for the new comment,
which I fail to see fixing anything :-)

				Jeff

Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [uml-devel] [PATCH] Fix UML build on i386 Ubuntu Dapper
  2006-06-28  2:11     ` Jeff Dike
@ 2006-06-28  2:54       ` Nishanth Aravamudan
  2006-06-28  3:43         ` Jeff Dike
  0 siblings, 1 reply; 14+ messages in thread
From: Nishanth Aravamudan @ 2006-06-28  2:54 UTC (permalink / raw)
  To: Jeff Dike; +Cc: Blaisorblade, user-mode-linux-devel

On 27.06.2006 [22:11:31 -0400], Jeff Dike wrote:
> On Tue, Jun 27, 2006 at 11:31:28AM -0700, Nishanth Aravamudan wrote:
> > After discovering SUBARCH, I rebuilt my tree as an i386 UML and it
> > successfully completed with this patch. If someone could test a native
> > i386 build as well, just to be sure?
> > 
> > Updated patch follows.
> 
> How updated?  I don't see any difference except for the new comment,
> which I fail to see fixing anything :-)

I added the comment that Blaisorblade asked for, that's it.

I didn't realize anything needed to be fixed? Removing the #undef causes
the build to fail, so it's necessary, hence the comment. If you'd prefer
a more verbose comment to that effect, I can do that, I guess.

Did I miss something?

Thanks,
Nish

-- 
Nishanth Aravamudan <nacc@us.ibm.com>
IBM Linux Technology Center

Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [uml-devel] [PATCH] Fix UML build on i386 Ubuntu Dapper
  2006-06-28  2:54       ` Nishanth Aravamudan
@ 2006-06-28  3:43         ` Jeff Dike
  2006-06-28  3:50           ` Nishanth Aravamudan
  0 siblings, 1 reply; 14+ messages in thread
From: Jeff Dike @ 2006-06-28  3:43 UTC (permalink / raw)
  To: Nishanth Aravamudan; +Cc: Blaisorblade, user-mode-linux-devel

On Tue, Jun 27, 2006 at 07:54:07PM -0700, Nishanth Aravamudan wrote:
> Did I miss something?

Nope, I misread your mail.  You described a problem (which had been
fixed in the original patch), followed by "updated patch here",
leading me to believe there was something fixed in it.

nevermind...

				Jeff

Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [uml-devel] [PATCH] Fix UML build on i386 Ubuntu Dapper
  2006-06-28  3:43         ` Jeff Dike
@ 2006-06-28  3:50           ` Nishanth Aravamudan
  0 siblings, 0 replies; 14+ messages in thread
From: Nishanth Aravamudan @ 2006-06-28  3:50 UTC (permalink / raw)
  To: Jeff Dike; +Cc: Blaisorblade, user-mode-linux-devel

On 27.06.2006 [23:43:39 -0400], Jeff Dike wrote:
> On Tue, Jun 27, 2006 at 07:54:07PM -0700, Nishanth Aravamudan wrote:
> > Did I miss something?
> 
> Nope, I misread your mail.  You described a problem (which had been
> fixed in the original patch), followed by "updated patch here",
> leading me to believe there was something fixed in it.
> 
> nevermind...

Ah, sorry about that :)

Thanks,
Nish

-- 
Nishanth Aravamudan <nacc@us.ibm.com>
IBM Linux Technology Center

Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [uml-devel] [PATCH] Fix UML build on i386 Ubuntu Dapper
  2006-06-28  0:47     ` Nishanth Aravamudan
@ 2006-06-28 10:13       ` Blaisorblade
  2006-06-29 20:56         ` Nishanth Aravamudan
  0 siblings, 1 reply; 14+ messages in thread
From: Blaisorblade @ 2006-06-28 10:13 UTC (permalink / raw)
  To: Nishanth Aravamudan; +Cc: jdike, user-mode-linux-devel

On Wednesday 28 June 2006 02:47, Nishanth Aravamudan wrote:
> On 27.06.2006 [11:31:28 -0700], Nishanth Aravamudan wrote:
> > On 27.06.2006 [16:56:13 +0200], Blaisorblade wrote:
> > > On Tuesday 27 June 2006 00:02, Nishanth Aravamudan wrote:
> > > > Hi Jeff,
> > > >
> > > > I run an x86_64 kernel with i386 userspace (Ubuntu Dapper) and
> > > > decided to try out UML today. I found that UML wasn't quite aware of
> > > > biarch compilers (which Ubuntu i386 ships). A fix similar to what was
> > > > done for x86_64 should probably be committed (see
> > > > http://marc.theaimsgroup.com/?l=linux-kernel&m=113425940204010&w=2).
> > >
> > > Ok, it seemed strange but I understand the stuff... that's very
> > > interesting as this is the setup I'd wished to have since ages. I'll
> > > switch to it ASAP...
> >
> > Indeed :)
> >
> > > > Without the FLAGS changes, the build will fail at a number of places
> > > > and without the LINK change, the final link will fail.
> > > >
> > > > Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
> > >
> > > The first hunk (#undef i386) should be unnecessary given you specify
> > > -m64 (add it to CPPFLAGS too). Also it can/could be problematic for
>
> Hrm, I somehow overlooked the CPPFLAGS bit. Is it necessary? That wasn't
> changed for x86_64 and having not changed it for UML, it doesn't appear
> to have prevented the build from working on both x86_64 and i386
> SUBARCHs here.

It shouldn't go in the general CPPFLAGS indeed.
I think that -m64 in the preprocessor command used to build vmlinux.lds.S 
would be cleaner than #undef i386... test it by preprocessing by hand and 
report, I'll code the CPPFLAGS_vmlinux.lds.S = -m64 assignment (if it is 
exactly this way) if it works.

Anyway, this is minor refinement, the patch is otherwise ok.
-- 
Inform me of my mistakes, so I can keep imitating Homer Simpson's "Doh!".
Paolo Giarrusso, aka Blaisorblade (Skype ID "PaoloGiarrusso", ICQ 215621894)
http://www.user-mode-linux.org/~blaisorblade
Chiacchiera con i tuoi amici in tempo reale! 
 http://it.yahoo.com/mail_it/foot/*http://it.messenger.yahoo.com 


Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [uml-devel] [PATCH] Fix UML build on i386 Ubuntu Dapper
  2006-06-28 10:13       ` Blaisorblade
@ 2006-06-29 20:56         ` Nishanth Aravamudan
  2006-06-29 21:49           ` Nishanth Aravamudan
  2006-06-30  0:29           ` Paolo Giarrusso
  0 siblings, 2 replies; 14+ messages in thread
From: Nishanth Aravamudan @ 2006-06-29 20:56 UTC (permalink / raw)
  To: Blaisorblade; +Cc: jdike, user-mode-linux-devel

On 28.06.2006 [12:13:21 +0200], Blaisorblade wrote:
> On Wednesday 28 June 2006 02:47, Nishanth Aravamudan wrote:
> > On 27.06.2006 [11:31:28 -0700], Nishanth Aravamudan wrote:
> > > On 27.06.2006 [16:56:13 +0200], Blaisorblade wrote:
> > > > On Tuesday 27 June 2006 00:02, Nishanth Aravamudan wrote:
> > > > > Hi Jeff,
> > > > >
> > > > > I run an x86_64 kernel with i386 userspace (Ubuntu Dapper) and
> > > > > decided to try out UML today. I found that UML wasn't quite
> > > > > aware of biarch compilers (which Ubuntu i386 ships). A fix
> > > > > similar to what was done for x86_64 should probably be
> > > > > committed (see
> > > > > http://marc.theaimsgroup.com/?l=linux-kernel&m=113425940204010&w=2).
> > > >
> > > > Ok, it seemed strange but I understand the stuff... that's very
> > > > interesting as this is the setup I'd wished to have since ages.
> > > > I'll switch to it ASAP...
> > >
> > > Indeed :)
> > >
> > > > > Without the FLAGS changes, the build will fail at a number of
> > > > > places and without the LINK change, the final link will fail.
> > > > >
> > > > > Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
> > > >
> > > > The first hunk (#undef i386) should be unnecessary given you
> > > > specify -m64 (add it to CPPFLAGS too). Also it can/could be
> > > > problematic for
> >
> > Hrm, I somehow overlooked the CPPFLAGS bit. Is it necessary? That
> > wasn't changed for x86_64 and having not changed it for UML, it
> > doesn't appear to have prevented the build from working on both
> > x86_64 and i386 SUBARCHs here.
> 
> It shouldn't go in the general CPPFLAGS indeed.  I think that -m64 in
> the preprocessor command used to build vmlinux.lds.S would be cleaner
> than #undef i386... test it by preprocessing by hand and report, I'll
> code the CPPFLAGS_vmlinux.lds.S = -m64 assignment (if it is exactly
> this way) if it works.

Just for clarity's sake, the reason the #undef is there, as far as I can
tell, is otherwise the preprocessor (I'm assuming) goes and makes the
output specification as 1:x86_64 instead of i386:x86_64. If one were
then to go and manually change the 1 to i386 and then reissue make, the
kernel will build just fine.

I removed the #undef i386 from vmlinux.ld.S and added a

CPPFLAGS += -m64

to arch/um/Makefile-x86_64

The build completed fine here.

I wonder if a patch against x86_64 to remove the #undef there should
also be applied? I'll take a look.

Thanks,
Nish

---

I run an x86_64 kernel with i386 userspace (Ubuntu Dapper) and decided
to try out UML today. I found that UML wasn't quite aware of biarch
compilers (which Ubuntu i386 ships). A fix similar to what was done for
x86_64 should probably be committed (see
http://marc.theaimsgroup.com/?l=linux-kernel&m=113425940204010&w=2).
Without the FLAGS changes, the build will fail at a number of places and
without the LINK change, the final link will fail.

This is the patch I'm currently using. I don't know if putting the
CPPFLAGS in the Makefile-x86_64 is bad or not, I'll leave that up to
those with more knowledge to decide.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>

diff -urpN 2.6.17/arch/um/Makefile-x86_64 2.6.17-dev/arch/um/Makefile-x86_64
--- 2.6.17/arch/um/Makefile-x86_64	2006-06-17 18:49:35.000000000 -0700
+++ 2.6.17-dev/arch/um/Makefile-x86_64	2006-06-29 13:47:22.000000000 -0700
@@ -6,9 +6,12 @@ START := 0x60000000
 
 #We #undef __x86_64__ for kernelspace, not for userspace where
 #it's needed for headers to work!
-CFLAGS += -U__$(SUBARCH)__ -fno-builtin
-USER_CFLAGS += -fno-builtin
+CFLAGS += -U__$(SUBARCH)__ -fno-builtin -m64
+USER_CFLAGS += -fno-builtin -m64
 CHECKFLAGS  += -m64
+AFLAGS += -m64
+LDFLAGS += -m elf_x86_64
+CPPFLAGS += -m64
 
 ELF_ARCH := i386:x86-64
 ELF_FORMAT := elf64-x86-64
@@ -16,3 +19,4 @@ ELF_FORMAT := elf64-x86-64
 # Not on all 64-bit distros /lib is a symlink to /lib64. PLD is an example.
 
 LINK-$(CONFIG_LD_SCRIPT_DYN) += -Wl,-rpath,/lib64
+LINK-y += -m64

-- 
Nishanth Aravamudan <nacc@us.ibm.com>
IBM Linux Technology Center

Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [uml-devel] [PATCH] Fix UML build on i386 Ubuntu Dapper
  2006-06-29 20:56         ` Nishanth Aravamudan
@ 2006-06-29 21:49           ` Nishanth Aravamudan
  2006-07-07  0:52             ` Jeff Dike
  2006-06-30  0:29           ` Paolo Giarrusso
  1 sibling, 1 reply; 14+ messages in thread
From: Nishanth Aravamudan @ 2006-06-29 21:49 UTC (permalink / raw)
  To: Blaisorblade; +Cc: jdike, user-mode-linux-devel

On 29.06.2006 [13:56:26 -0700], Nishanth Aravamudan wrote:
> On 28.06.2006 [12:13:21 +0200], Blaisorblade wrote:
> > On Wednesday 28 June 2006 02:47, Nishanth Aravamudan wrote:
> > > On 27.06.2006 [11:31:28 -0700], Nishanth Aravamudan wrote:
> > > > On 27.06.2006 [16:56:13 +0200], Blaisorblade wrote:
> > > > > On Tuesday 27 June 2006 00:02, Nishanth Aravamudan wrote:
> > > > > > Hi Jeff,
> > > > > >
> > > > > > I run an x86_64 kernel with i386 userspace (Ubuntu Dapper) and
> > > > > > decided to try out UML today. I found that UML wasn't quite
> > > > > > aware of biarch compilers (which Ubuntu i386 ships). A fix
> > > > > > similar to what was done for x86_64 should probably be
> > > > > > committed (see
> > > > > > http://marc.theaimsgroup.com/?l=linux-kernel&m=113425940204010&w=2).
> > > > >
> > > > > Ok, it seemed strange but I understand the stuff... that's very
> > > > > interesting as this is the setup I'd wished to have since ages.
> > > > > I'll switch to it ASAP...
> > > >
> > > > Indeed :)
> > > >
> > > > > > Without the FLAGS changes, the build will fail at a number of
> > > > > > places and without the LINK change, the final link will fail.
> > > > > >
> > > > > > Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
> > > > >
> > > > > The first hunk (#undef i386) should be unnecessary given you
> > > > > specify -m64 (add it to CPPFLAGS too). Also it can/could be
> > > > > problematic for
> > >
> > > Hrm, I somehow overlooked the CPPFLAGS bit. Is it necessary? That
> > > wasn't changed for x86_64 and having not changed it for UML, it
> > > doesn't appear to have prevented the build from working on both
> > > x86_64 and i386 SUBARCHs here.
> > 
> > It shouldn't go in the general CPPFLAGS indeed.  I think that -m64 in
> > the preprocessor command used to build vmlinux.lds.S would be cleaner
> > than #undef i386... test it by preprocessing by hand and report, I'll
> > code the CPPFLAGS_vmlinux.lds.S = -m64 assignment (if it is exactly
> > this way) if it works.

<snip my e-mail sent before I saw Jeff had sent on the previous patch>

An incremental patch for Blaisorblade's idea follows. It builds
successfully here.

---

On top of the previous biarch changes for UML, this makes the
preprocessor changes a bit cleaner. Specify the 64-bit build in CPPFLAGS
on the x86_64 SUBARCH, rather than #undef'ing i386. Compile-tested with
i386 and x86_64 SUBARCHs.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>

diff -urpN 2.6.17-dev2/arch/um/kernel/vmlinux.lds.S 2.6.17-dev/arch/um/kernel/vmlinux.lds.S
--- 2.6.17-dev2/arch/um/kernel/vmlinux.lds.S	2006-06-29 14:44:44.000000000 -0700
+++ 2.6.17-dev/arch/um/kernel/vmlinux.lds.S	2006-06-29 13:52:10.000000000 -0700
@@ -1,6 +1,4 @@
 #include <linux/config.h>
-/* in case the preprocessor is a 32bit one */
-#undef i386
 #ifdef CONFIG_LD_SCRIPT_STATIC
 #include "uml.lds.S"
 #else
diff -urpN 2.6.17-dev2/arch/um/Makefile-x86_64 2.6.17-dev/arch/um/Makefile-x86_64
--- 2.6.17-dev2/arch/um/Makefile-x86_64	2006-06-29 14:44:54.000000000 -0700
+++ 2.6.17-dev/arch/um/Makefile-x86_64	2006-06-29 13:47:22.000000000 -0700
@@ -11,6 +11,7 @@ USER_CFLAGS += -fno-builtin -m64
 CHECKFLAGS  += -m64
 AFLAGS += -m64
 LDFLAGS += -m elf_x86_64
+CPPFLAGS += -m64
 
 ELF_ARCH := i386:x86-64
 ELF_FORMAT := elf64-x86-64

-- 
Nishanth Aravamudan <nacc@us.ibm.com>
IBM Linux Technology Center

Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [uml-devel] [PATCH] Fix UML build on i386 Ubuntu Dapper
  2006-06-29 20:56         ` Nishanth Aravamudan
  2006-06-29 21:49           ` Nishanth Aravamudan
@ 2006-06-30  0:29           ` Paolo Giarrusso
  2006-06-30  1:05             ` Jeff Dike
  1 sibling, 1 reply; 14+ messages in thread
From: Paolo Giarrusso @ 2006-06-30  0:29 UTC (permalink / raw)
  To: Nishanth Aravamudan; +Cc: jdike, user-mode-linux-devel

Nishanth Aravamudan <nacc@us.ibm.com> ha scritto: 

> On 28.06.2006 [12:13:21 +0200], Blaisorblade wrote:

> Just for clarity's sake, the reason the #undef is there, as far as
> I can
> tell, is otherwise the preprocessor (I'm assuming) goes and makes
> the
> output specification as 1:x86_64 instead of i386:x86_64.

I can confirm this is also what I understood.

> I removed the #undef i386 from vmlinux.ld.S and added a
> 
> CPPFLAGS += -m64
> 
> to arch/um/Makefile-x86_64

> The build completed fine here.
Yep, that's ok too (and shouldn't hurt for the rest - we'll get -m64
twice for .c files but it shouldn't be a problem; I thought to make
it specific it only for vmlinux.lds.S to avoid the duplication).

> I wonder if a patch against x86_64 to remove the #undef there
> should
> also be applied? I'll take a look.

Probably it can, and IMHO it's cleaner. For me the patch is now
perfect; Jeff please update the one in -mm.

> Thanks,
> Nish


Chiacchiera con i tuoi amici in tempo reale! 
 http://it.yahoo.com/mail_it/foot/*http://it.messenger.yahoo.com 

Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [uml-devel] [PATCH] Fix UML build on i386 Ubuntu Dapper
  2006-06-30  0:29           ` Paolo Giarrusso
@ 2006-06-30  1:05             ` Jeff Dike
  0 siblings, 0 replies; 14+ messages in thread
From: Jeff Dike @ 2006-06-30  1:05 UTC (permalink / raw)
  To: Paolo Giarrusso; +Cc: Nishanth Aravamudan, user-mode-linux-devel

On Fri, Jun 30, 2006 at 02:29:48AM +0200, Paolo Giarrusso wrote:
> Probably it can, and IMHO it's cleaner. For me the patch is now
> perfect; Jeff please update the one in -mm.

Yeah, I'll send an update.

			Jeff

Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [uml-devel] [PATCH] Fix UML build on i386 Ubuntu Dapper
  2006-06-29 21:49           ` Nishanth Aravamudan
@ 2006-07-07  0:52             ` Jeff Dike
  0 siblings, 0 replies; 14+ messages in thread
From: Jeff Dike @ 2006-07-07  0:52 UTC (permalink / raw)
  To: Nishanth Aravamudan; +Cc: Blaisorblade, user-mode-linux-devel

On Thu, Jun 29, 2006 at 02:49:24PM -0700, Nishanth Aravamudan wrote:
> An incremental patch for Blaisorblade's idea follows. It builds
> successfully here.

OK, that's in my tree, and I'll be sending it Linus-wards.

				Jeff

Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2006-07-07  0:52 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-06-26 22:02 [uml-devel] [PATCH] Fix UML build on i386 Ubuntu Dapper Nishanth Aravamudan
2006-06-27 14:56 ` Blaisorblade
2006-06-27 18:31   ` Nishanth Aravamudan
2006-06-28  0:47     ` Nishanth Aravamudan
2006-06-28 10:13       ` Blaisorblade
2006-06-29 20:56         ` Nishanth Aravamudan
2006-06-29 21:49           ` Nishanth Aravamudan
2006-07-07  0:52             ` Jeff Dike
2006-06-30  0:29           ` Paolo Giarrusso
2006-06-30  1:05             ` Jeff Dike
2006-06-28  2:11     ` Jeff Dike
2006-06-28  2:54       ` Nishanth Aravamudan
2006-06-28  3:43         ` Jeff Dike
2006-06-28  3:50           ` Nishanth Aravamudan

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.