From: Francois-Xavier Kowalski <francois-xavier_kowalski@hp.com>
To: linux-ia64@vger.kernel.org
Subject: Re: [Linux-ia64] native ia64 32-bits compile & run on linux-ia64?
Date: Tue, 22 Jan 2002 08:43:36 +0000 [thread overview]
Message-ID: <marc-linux-ia64-105590698805911@msgid-missing> (raw)
In-Reply-To: <marc-linux-ia64-105590698805893@msgid-missing>
[-- Attachment #1: Type: text/plain, Size: 4076 bytes --]
Ok Guys, thanks for your answers.
I was - wrongly - assuming that Linux/IA64 would provide this feature -
run ia64 code in 32-bits mode - provided by other UNIX's (at least HP-UX
11i & AIX).
The request was about existing source code which is not (yet) 64-bits
clean. I understand that the _real_ porting to 64-bits is mandatory to
benefit from ia64 speed.
FiX
n0ano@indstorage.com wrote:
>Looks like you did have a minor confusion. The goal for IA32 support
>is to run `current' IA32 applications on an IA64 Linux machine. Creating
>IA32 applications on IA64 was never a goal and that's why the IA64
>GCC and tools have no support for generating IA32 instructions.
>
>Any IA32 program, including the IA32 GCC, would require the installation
>of an entire IA32 run-time environment on the IA64 machine. Fortunately
>all of the IA64 distributions provide IA32 environments as an option
>so it's easy to provide this.
>
>Mixing IA32 and IA64 instruction sets in the same program is another one
>of those things that is conceptually feasible but no one supports it because
>there is not enough benefit. The biggest advantage for this would be in
>shared libraries and it's not worth it even here. If you can obtain a
>current IA32 program then you can obtain the IA32 libraries that it uses
>so there's no need for an IA32 program to call IA64 shared libraries. If
>you have an IA32 shared library that you want to use from an IA64 program
>then you should just re-compile the library for IA64 (remember, we're
>dealing with open source here).
>
Jes Sorensen wrote:
>Francois-Xavier Kowalski <francois-xavier_kowalski@hp.com> writes:
>
>>n0ano@indstorage.com wrote:
>>
>>>Although running IA64 instructions in ILP32 mode is conceptually possible
>>>it is not supported and there are no plans to support this mode any time
>>>in the near future. This would require significant changes to GCC, GLIBC
>>>and the kernel at a minimum and no one has provided any compelling evidence
>>>that there is enough performance gain to justify this effort.
>>>
>>I think I am a bit confused. I was assuming that there was a difference
>>between execution of an IA32 executable compiled on a IA32 platform
>>(native IA32), and an IA32 executable compiled on a IA64 machine to run
>>in 32-bits mode.
>>
>>Do I mistake?
>>
>
>The ia64 is basically two cpus in one, a real ia64 and a legacy
>ia32. ia32 code is slow and runs for compatibility not
>performance. What Don is talking about is that one could theoretically
>run the ia64 unit in 'short' mode ie. declare pointers to be 32 bit to
>save some space. However this would require a second glibc target plus
>modifications to the compiler and it doesn't fit into the memory model
>we are using.
>
>There has been a few requests for this, but so far nothing convincing
>enough to justify the effort. I for one has no interest in doing
>another full glibc target.
>
>>>The IA32 support in IA64 Linux is designed more as a transition tool rather
>>>than a development environment. Our goal all along has been to support
>>>executing current IA32 programs, not generating new ones. Therefore the
>>>compiler tools (GCC, the linker and what not) have no support for IA32
>>>code generation. If you really want to generate IA32 programs on an IA64
>>>Linux system you can install an IA32 version of GCC and use that.
>>>
>>Will this need to install as well a Linux/IA32 version on the whole
>>run-time environment (GLIBC & whatsoever), or will GCC be able to use
>>the native IA64 libraries?
>>
>
>If you want to build and run ia32 binaries, you need a complete ia32
>toolchain environment and libraries.
>
>>Maybe the question above means mixing IA32 & IA64 instructions within
>>the same execution context & is forbidden.
>>
>
>It's not possible.
>
Regards.
FiX
--
Francois-Xavier "FiX" KOWALSKI /_ __ Tel:+33 (0)4 76 14 63 27
Telecom Infrastructure Division / //_/ Telnet: 779-6327
SigTech eXpert / http://www.hp.com/go/opencall
i n v e n t
[-- Attachment #2: Type: text/html, Size: 5552 bytes --]
next prev parent reply other threads:[~2002-01-22 8:43 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-01-21 15:01 [Linux-ia64] native ia64 32-bits compile & run on linux-ia64? Francois-Xavier Kowalski
2002-01-21 15:49 ` n0ano
2002-01-21 17:07 ` Francois-Xavier Kowalski
2002-01-21 17:27 ` Jes Sorensen
2002-01-21 17:30 ` n0ano
2002-01-22 8:43 ` Francois-Xavier Kowalski [this message]
2002-01-22 19:02 ` David Mosberger
2002-01-22 19:37 ` Jes Sorensen
2002-01-23 11:27 ` Francois-Xavier Kowalski
2002-01-23 17:46 ` Boehm, Hans
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=marc-linux-ia64-105590698805911@msgid-missing \
--to=francois-xavier_kowalski@hp.com \
--cc=linux-ia64@vger.kernel.org \
/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