Mailinglist Archive: opensuse (3337 mails)

< Previous Next >
Re: [SLE] Can a native 64-bit CPU run 32-bit code ?
  • From: Maura Edeweiss Monville <memonvil@xxxxxxxxxxxxxxxx>
  • Date: Sun, 16 Apr 2006 02:01:56 -0500 (CDT)
  • Message-id: <Pine.GSO.4.58.0604160139320.5952@xxxxxxxxxxxxxxxxxxxxx>
Thank you. I've tried and played around with the command you suggest.
Here are the results:

mauede@linux:~> uname -m
x86_64
mauede@linux:~> linux32 bash
mauede@linux:~> uname -m
i686
mauede@linux:~> source ~/bin/gcc-4.1
mauede@linux:~> uname -m
i686

I have recently succeeded at installing the CERN library. The 1st step of
the provided installation procedure un-gzips and un-tars all the source
files, then creates the lib structure, generates all the necessary
Makefiles, and finally execs the Makefiles at each structure level,
therefore creating the library functions.
The problem I'm facing is that if I run such procedure "as is" on my
64-bit laptop, then by default the invoked compilers (gcc, g++, f77), no
matter their version, will generate code for my system, that is for a
64-bit processor. But I need to generate 32-bit code.
I wonder if I run the CERLIB installation procedure AFTER launching the
linux32 bash then all the invoked compiler will see the processor being
emulated, that is i686 rather than the true processor x86_64, therefore
they automatically will, hopefully, geneate 32-bit code WITHOUT setting
any flag and/or option ... ???? .... I might be insane .....

If this is not the case then I will have to split the native CERNLIB
installation procedure e manually force the proper options/flags in order
to generate code for a 32-bit machine .

Thank you very much for your help,
Maura

On Sat, 15 Apr 2006, David Bottrill wrote:

> On Saturday 15 April 2006 23:12, Maura Edeweiss Monville wrote:
> > My laptop has a AMD Athlon 64 Processor 3700+, Architecture is x86_64.
> > My problem is that I have to compile a code that will then be linked to
> > pre-compile binaries produced on 32-bit machines.
> > In short, everything must be compiled to generate 32-bit code for the sake
> > of compatibility.
> > There should be an option in the gcc compiler that forces it to generate
> > 32-bit code..
> > But assuming I've got an executable for 32-bit machines, then can I run
> > such an exectable on MY OWN laptop which is 64-bit ?
> > If the answer is "yes" (I hope so) then I'd be grateful to know how I can
> > do that .
>
> Providing you have any 32bit libraries you need installed then you can just
> prefix your program name with linux32
>
> for instance you can run bash in 32 bit by typing
>
> linux32 bash
>
> David
>
> --
> David Bottrill
>
> david@xxxxxxxxxxxx
> www.bottrill.org
> Registered Linux user number 330730
> Internet Free World Dialup: 683864
>
> --
> Check the headers for your unsubscription address
> For additional commands send e-mail to suse-linux-e-help@xxxxxxxx
> Also check the archives at http://lists.suse.com
> Please read the FAQs: suse-linux-e-faq@xxxxxxxx
>
>

< Previous Next >
Follow Ups