compiling 32 bit application on 64 bit linux(x86_64)

 
Thread Tools Search this Thread
Operating Systems Linux Gentoo compiling 32 bit application on 64 bit linux(x86_64)
# 1  
Old 12-13-2007
compiling 32 bit application on 64 bit linux(x86_64)

hi all,
i have a 64 bit linux machine.

$uname -a
Linux SVRDELLD30 2.6.9-42.ELsmp #1 SMP Tue Aug 15 10:35:26 BST 2006 x86_64 x86_64 x86_64 GNU/Linux

here by default gcc creates 64 bit executable. but for some reason i want to create 32bit executable.

first i want to create 32 bit object files(.o files) and then i want to link those object files.

Please suggest me suitable gcc options.

Thanks and Regards,
uttam hoode
# 2  
Old 12-16-2007
Just for the sake of saying so: You know you shouldn't be installing from source on RPM based distros, right? The proper way to do this for them is to create RPMs. If you're going to be running them on multiple platforms, just create a src.rpm, then "rpmbuild --rebuild thepackage" on each platform you need, or "rpmbuild --rebuild --target i386 thepackage" from your 64-bit system.

Next, why would you want to create 32-bit objects on a 64-bit platform? Wouldn't it make more sense to create them on a 32-bit platform? If you don't want to go through the hassle of setting up a 32 bit system, just use the installation CD for Gentoo as that should have everything you need. Also, if you're going to insist on installing things from source, I'd recommend you just go ahead and switch to Gentoo anyway.

To answer your question: Doesn't gcc create 32-bit when you do "--target=i386"?
# 3  
Old 12-16-2007
Quote:
Originally Posted by this213
Next, why would you want to create 32-bit objects on a 64-bit platform?
32 bit programs are smaller and faster for programs that don't need more than 2Gig of memory. Most 64 bit processers (DEC Alpha excepted) support both 32bit and 64bit binaries, and most 64 bit operating systems support different memory models simultaneously on a process by process basis.

I've generally found that compilers on 64 bit systems build 32 bit code by default and require additional switches to produce 64 bit code. The linkers are normally able to work out what memory model the code is and will reject attempts to link code with differing models.
# 4  
Old 12-17-2007
The gcc switch "-m32" can be used to generate 32-bit object files.
Login or Register to Ask a Question

Previous Thread | Next Thread

7 More Discussions You Might Find Interesting

1. Red Hat

Unable to install 32 bit application on 64 bit OS

Hi, I am new to Linux OS. My question is that "is it possible to install 32 Bit application on 64 Bit OS?" I have the following Redhat OS on VMware workstation. OS - Red Hat Enterprise Linux Server release 6.2 | 2.6.32-220.el6.x86_64 While installing the application I am getting the... (2 Replies)
Discussion started by: poga
2 Replies

2. UNIX for Dummies Questions & Answers

Unix flavors that run on x86, x86_64 bit processors?

Hello everyone. This is an awesome forum. Glad to have joined! :) I use Linux mostly, even for Desktop usage. I just love everything about it, all the way down to how the font looks while browsing. Its just so sleek and sexy. But I also boot Windows for those programs I just need that only... (23 Replies)
Discussion started by: insomnia
23 Replies

3. UNIX for Advanced & Expert Users

Error compiling 32-bit Qt-4.7 on 64-bit Ubuntu OS

Hi, I am compiling Qt-4.7 for 32-bit on 64-bit (x86_64) Ubuntu 8.04 desktop. I have installed all the 32-bit libraries (/lib32 and /usr/lib32) through getlibs and "apt-get install ia32-libs". But I am getting the following error while configuring the qt project as: ./configure -platform... (2 Replies)
Discussion started by: royalibrahim
2 Replies

4. UNIX for Advanced & Expert Users

migrating unix mp-ras 32 bit to linux suse 64 bit

Hi. I need to migrate the whole unix environment from a Unix mp-ras 32 bit to a Linux Suse 64 bit. 1) can i use cpio to copy the data? 2) can i just copy the users from unix to linux or do i have to create them by hand 3) are there any other concerns i should worry about? thanx (1 Reply)
Discussion started by: mrodrig
1 Replies

5. Linux

Is it possible to compile 64 bit application on 32 bit machine

Hi, I am using 32 bit machine, and I want to compile 64 bit application on 32-bit machine. So please tell me is it possible or not? Regards Mandar (7 Replies)
Discussion started by: Mandar123
7 Replies

6. Red Hat

boot the 32 bit kernel on a 64 bit PPC Linux machine?

Hi all, I'm looking to cover a corner case for an upcoming test cycle. Is there a way to boot a RedHat Advanced Server 4 (update 3) installed on a Power PC machine to use a 32 bit kernel? This would be similar to what is done here -> https://www.unix.com/aix/26204-aix-platform.html I've done... (0 Replies)
Discussion started by: philrau
0 Replies

7. AIX

Compiling 32 bit app on 64 bit kernal

I've been trying to compile an application that works on AIX 5L in 32 bit mode on an AIX 5L 64 bit mode machine. In doing so I get a lot of undefined symbol errors. Below is a sample of what the output looks like..... %make -f makefile_hl7 all cc... (3 Replies)
Discussion started by: morrisey
3 Replies
Login or Register to Ask a Question