By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
454,379 Members | 1,602 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 454,379 IT Pros & Developers. It's quick & easy.

Cross-compiling and linking 32-bit applications

P: n/a
Hi Folks,

I have a cross-development problem in which I'm using the x86_64 version
of Fedora Core 6 as a development system but want to build executables that
are 32-bit. I've got a mix of C (mainly C) and about 2 or 3 assembly routines.
I'm using yasm as my assembler and gcc 4.1.2 for my C compiler, and
GNU ld version 2.17.50.0.6-2.fc6 20061020 as my linker.

I thought that if I just specified a 32-bit target for the C compiler via
"-m32", the 32-bit elf output for the assembler via "-f elf32", and 32-bit
output from the linker via "--oformat elf32-i386" that this would do the
trick. But I'm getting

/usr/lib/../lib64/libm.so: could not read symbols: File in wrong format
collect2: ld returned 1 exit status

Any ideas? I'm not even sure this is the right thing to do, or even if
it's possible. Could someone please enlighten me, or at least give me
some pointers?
--
% Randy Yates % "I met someone who looks alot like you,
%% Fuquay-Varina, NC % she does the things you do,
%%% 919-577-9882 % but she is an IBM."
%%%% <ya***@ieee.org % 'Yours Truly, 2095', *Time*, ELO
http://home.earthlink.net/~yatescr
May 28 '07 #1
Share this Question
Share on Google+
3 Replies


P: n/a
Randy Yates <ya***@ieee.orgwrites:
/usr/lib/../lib64/libm.so: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
PS: If I add the option to tell the linker to look in /usr/lib, I get
this:

gcc /tmp/home/btscdecoder/dev/lib/src/deemphasis/sim/nativelinux/simdeemphasis.o /home/btscdecoder/dev/lib/lib/cloption.a /home/btscdecoder/dev/lib/lib/deemphasis.a /home/btscdecoder/dev/lib/lib/buffer.a /home/btscdecoder/dev/lib/lib/wavefile.a /home/btscdecoder/dev/lib/lib/fir.a -Xlinker --oformat -Xlinker elf32-i386 -L/usr/lib -o /home/btscdecoder/dev/lib/src/deemphasis/sim/simdeemphasis -lm
/usr/bin/ld: skipping incompatible /usr/lib/libm.so when searching for -lm
/usr/bin/ld: skipping incompatible /usr/lib/libm.a when searching for -lm
/usr/lib/../lib64/libm.so: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
--
% Randy Yates % "She's sweet on Wagner-I think she'd die for Beethoven.
%% Fuquay-Varina, NC % She love the way Puccini lays down a tune, and
%%% 919-577-9882 % Verdi's always creepin' from her room."
%%%% <ya***@ieee.org % "Rockaria", *A New World Record*, ELO
http://home.earthlink.net/~yatescr
May 28 '07 #2

P: n/a
In article <m3************@ieee.org>, Randy Yates <ya***@ieee.orgwrote:
>I have a cross-development problem in which I'm using the x86_64 version
of Fedora Core 6 as a development system but want to build executables that
are 32-bit. I've got a mix of C (mainly C) and about 2 or 3 assembly routines.
I'm using yasm as my assembler and gcc 4.1.2 for my C compiler, and
GNU ld version 2.17.50.0.6-2.fc6 20061020 as my linker.
You should ask in a gcc newsgroup or mailing list, as comp.lang.c
avoids the specifics of implementations.
--
All is vanity. -- Ecclesiastes
May 28 '07 #3

P: n/a
In article <f3**********@canopus.cc.umanitoba.ca>,
Walter Roberson <ro******@ibd.nrc-cnrc.gc.cawrote:
>In article <m3************@ieee.org>, Randy Yates <ya***@ieee.orgwrote:
>>I have a cross-development problem in which I'm using the x86_64
version of Fedora Core 6 as a development system but want to build
executables that are 32-bit. I've got a mix of C (mainly C) and about
2 or 3 assembly routines. I'm using yasm as my assembler and gcc
4.1.2 for my C compiler, and GNU ld version 2.17.50.0.6-2.fc6 20061020
as my linker.

You should ask in a gcc newsgroup or mailing list, as comp.lang.c
avoids the specifics of implementations.
IOW:

Off topic. Not portable. Cant discuss it here. Blah, blah, blah.
All is vanity. -- Ecclesiastes
ITYM, all is BS (in this ng).

Useful clc-related links:

http://en.wikipedia.org/wiki/Aspergers
http://en.wikipedia.org/wiki/Clique
http://en.wikipedia.org/wiki/C_programming_language

May 29 '07 #4

This discussion thread is closed

Replies have been disabled for this discussion.