64 bit library doesn't build using makefile

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi All!

I have a library that builds perfectly fine using the m32 option on an
AMD x86_64 machine. The output is a 32 bit library as expected
(confirmed with the file command).

But when I change the option to m64, the library fails to build with the output:

gcc -fPIC -g -Wall -m64   -I../../include/internal -I. -I../../include
-c -osample.o sample.c
/tmp/ccqkJFT6.s: Assembler messages:
/tmp/ccqkJFT6.s:28: Error: suffix or operands invalid for `push'
/tmp/ccqkJFT6.s:30: Error: suffix or operands invalid for `movq'
/tmp/ccqkJFT6.s:34: Error: `-8(%rbp)' is not a valid 32 bit base/index
expression

The make file tries to build both static and dynamic libraries - using
ar, ranlib and g++.

If I do each of the steps manually - with the exact same commands on
the command line, the library gets built fine, and the file command
indeed indicates it's a valid 64-bit library.

Here are the gcc & g++ settings:
gcc -v
Reading specs from /usr/lib/gcc/x86_64-redhat-linux/3.4.4/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--disable-checking --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-java-awt=gtk
--host=x86_64-redhat-linux
Thread model: posix
gcc version 3.4.4 20050721 (Red Hat 3.4.4-2)

g++ -v
Reading specs from /usr/lib/gcc/x86_64-redhat-linux/3.4.4/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--disable-checking --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-java-awt=gtk
--host=x86_64-redhat-linux
Thread model: posix
gcc version 3.4.4 20050721 (Red Hat 3.4.4-2)


My questions are:

1) Am I using a version known to have some bugs when compiling with
the m64 option ?
2) What settings could play a role in preventing a makefile from
building the library, but still allow individual commands to be
successful ?
3) Any other tips etc ?

Thanks for your time!

Prasad

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux