View previous topic :: View next topic |
Author |
Message |
eccerr0r Watchman
Joined: 01 Jul 2004 Posts: 9853 Location: almost Mile High in the USA
|
Posted: Wed Jan 02, 2008 10:09 pm Post subject: emul-linux-x86 for ia64! |
|
|
I'm investigating what currently needs to be done for that KEYWORDS flag on emul-linux-x86 to change to include ia64:
My preliminary investigation indicates simply using the *exact same* libraries and config for these on amd64 to work seamlessly on ia64 boxes! Since I don't have a handy amd64 box, I don't know exactly what the install procedure is, but:
* Building a kernel with x86 support (just like amd64)
* installing emul-linux-x86-* and a x86 libc.so.6 (not sure what provides this; I've been using a x86 chroot to get libc)
* copying an x86 ld-linux.so.2 to /lib (no conflicts with /lib/ld-linux-ia64.so.2)
* Making the change to ld.so.conf to find the ia32 libraries (normally done in a file /etc/env.d/)
This will then allow virtually seamless execution of 32-bit x86 binaries on ia64.
There is, however, a pending kernel bug that should be fixed in linux kernel 2.6.24 dealing with threading http://www.gelato.unsw.edu.au/archives/linux-ia64/0711/21471.html . Also the default gcc does not support target to x86 (unlike gcc-amd64 with the -m32 / -m64 flags) so a separate cross compiler is necessary for building 32-bit apps on ia64.
I don't know how many people really use x86 apps on ia64, but would like this to be a feature of Gentoo-ia64 that some other distributions have!
Any Itanium users to test this? I'm testing on my 1.3GHz Itanium2, so far so good. Only issue I've seen so far is that you can't execute a 64-bit native app as a child of a 32-bit app. Also note that the kernel patch is necessary else subprocesses can't fork properly...
[Update]
i686-libc appears to be built with the system 64-bit libc. Since ia64-unknown-linux-gcc can't build 32-bit binaries, a cross compiler or a binary will need to be supplied for this purpose. _________________ Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching? |
|
Back to top |
|
|
MalleRIM Guru
Joined: 23 Jul 2007 Posts: 563 Location: China
|
Posted: Mon Apr 14, 2008 6:53 am Post subject: |
|
|
libc.so.6 is provided by the glibc package
have you filed a bug report?
you could try something: build an amd64 system on your ia64 and change it to ia64. Not sure if this works. |
|
Back to top |
|
|
Kloeri Retired Dev
Joined: 02 Sep 2002 Posts: 144
|
Posted: Wed Apr 16, 2008 12:40 pm Post subject: Re: emul-linux-x86 for ia64! |
|
|
eccerr0r wrote: | I'm investigating what currently needs to be done for that KEYWORDS flag on emul-linux-x86 to change to include ia64: |
The Itanium 32-bit x86 emulation is fairly bad and supporting it on gentoo/ia64 would move scarce resources from the normal ia64 support to something that very few people would be interested in at all. As a former member of the IA64 team it's my clear opinion that it would be a bad way for those few developers to spend their time.
A much better idea would be for you to provide an unofficial overlay with these packages and a related HOWTO explaining how to build and install the packages. |
|
Back to top |
|
|
Kloeri Retired Dev
Joined: 02 Sep 2002 Posts: 144
|
Posted: Wed Apr 16, 2008 1:15 pm Post subject: |
|
|
MalleRIM wrote: | libc.so.6 is provided by the glibc package
have you filed a bug report?
you could try something: build an amd64 system on your ia64 and change it to ia64. Not sure if this works. |
AMD64 and IA64 are wildly different so you can't just change from one to the other. |
|
Back to top |
|
|
eccerr0r Watchman
Joined: 01 Jul 2004 Posts: 9853 Location: almost Mile High in the USA
|
Posted: Thu May 22, 2008 11:08 pm Post subject: |
|
|
I just may have to build an overlay for the heck of it
I just wish that emul-linux-* for amd64 would just be marked ~ia64 because they work as-is once I mark them in /etc/portage/package.keywords for ia64, no modifications needed as long as your ia64 kernel has emulation support, just like amd64. The same binary package can surprisingly work on both platforms!
I still wonder, anyone have a Gentoo install on a Itanium 9000 (Dual core) or newer? These chips apparently require software emulation of 32-bit code, the binary bits are available for free (as in beer, not as in GPL) from Intel. I've yet to try this on my machine, curious how it compares to hardware emulation on my Madison (which does have h/w emulation).
Hmm... I'll probably try to see if there's an easy way to set up the software emulation method in an ebuild, so far it looks ugly... but at least this method is at least as fast or faster than hardware emulation. _________________ Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching? |
|
Back to top |
|
|
|