Cross-compiling and linking 32-bit applications

Discussion in 'C Programming' started by Randy Yates, May 28, 2007.

  1. Randy Yates

    Randy Yates Guest

    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."
    %%%% <> % 'Yours Truly, 2095', *Time*, ELO
    http://home.earthlink.net/~yatescr
     
    Randy Yates, May 28, 2007
    #1
    1. Advertising

  2. Randy Yates

    Randy Yates Guest

    Randy Yates <> 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."
    %%%% <> % "Rockaria", *A New World Record*, ELO
    http://home.earthlink.net/~yatescr
     
    Randy Yates, May 28, 2007
    #2
    1. Advertising

  3. In article <>, Randy Yates <> 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
     
    Walter Roberson, May 28, 2007
    #3
  4. In article <f3ffd8$9p1$>,
    Walter Roberson <-cnrc.gc.ca> wrote:
    >In article <>, Randy Yates <> 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
     
    Kenny McCormack, May 29, 2007
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Replies:
    3
    Views:
    1,830
    Timothy Bendfelt
    Jan 19, 2007
  2. Garrett Cooper
    Replies:
    0
    Views:
    579
    Garrett Cooper
    Feb 24, 2009
  3. Garrett Cooper
    Replies:
    0
    Views:
    510
    Garrett Cooper
    Feb 24, 2009
  4. Pallav singh
    Replies:
    5
    Views:
    406
    Jorgen Grahn
    Apr 3, 2009
  5. Mikko Ohtamaa
    Replies:
    2
    Views:
    2,189
Loading...

Share This Page