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