Home     |     .Net Programming    |     cSharp Home    |     Sql Server Home    |     Javascript / Client Side Development     |     Ajax Programming

Ruby on Rails Development     |     Perl Programming     |     C Programming Language     |     C++ Programming     |     IT Jobs

Python Programming Language     |     Laptop Suggestions?    |     TCL Scripting     |     Fortran Programming     |     Scheme Programming Language


 
 
Cervo Technologies
The Right Source to Outsource

MS Dynamics CRM 3.0

C Programming Language

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

Add to del.icio.us | Digg this | Stumble it | Powered by Megasolutions Inc