|
|
 |
 |
 |
 |
Cross-compiling and linking 32-bit applications
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." %%%% <y@ieee.org> % 'Yours Truly, 2095', *Time*, ELO http://home.earthlink.net/~yatescr
Randy Yates <y @ieee.org> writes: > /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." %%%% <y@ieee.org> % "Rockaria", *A New World Record*, ELO http://home.earthlink.net/~yatescr
In article <m33b1gptgz.@ieee.org>, Randy Yates <y@ieee.org> wrote: >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
In article <f3ffd8$9p@canopus.cc.umanitoba.ca>, Walter Roberson <rober @ibd.nrc-cnrc.gc.ca> wrote: >In article <m33b1gptgz. @ieee.org>, Randy Yates <y @ieee.org> wrote: >>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
|
 |
 |
 |
 |
|